Visit Nexus to get an overview of Nexus' solutions, read customer cases, access the latest news, and more.


This article describes how to configure the Kaba exos 9300 Service, to enable integration between Smart ID Identity Manager, Physical Access and the Kaba exos 9300 Service. 

Kaba exos 9300 is an Access Control System provided by dormakaba and managed by a GUI and API to interact with Kaba exos 9300. After integration, all administration of Users, Access Token and Entitlements (besides defining them) should be done in Identity Manager, never in Kaba exos 9300.

Kaba exos 9300 have User Media (Layouts) and User Media (cards) Inventory. You must add User Media in Inventory first and then you can assign that to User.

There are applicability types (All, Invalid, Default, Transitional and Visitor) for Access tokens in Kaba exo 9300 and Default(All) applicability is used while adding access token in Inventory. Card Inventory can be managed through the 'Badge Management' menu available in Kaba exos 9300 application UI.

For details on which data can be imported and exported from Kaba exos 9300, see About import and export to Physical Access.


Expand/Collapse All

Prerequisites

The following prerequisites apply:

  • Physical Access and the Kaba exos 9300 Docker container/service are installed. See Deploy Smart ID.
  • The Kaba exos 9300 Service is currently using Dorma Kaba Open API version 3.0.0 to interact with Kaba exos 9300.
  • The message queue server must be running.
  • If MIFARE card technology is used, the PACS MIFARE number must be available as raw data (not encrypted, truncated, or similar). 
  • A working network connection to the connected physical access control systems (PACS) must be in place. 

Configure Kaba exos 9300 Service data fields

The Kaba exos 9300 data is configured in the configuration table in the Physical Access database. All configuration is cached when the service starts so any configuration changes will require the service to be restarted in order to take effect.

To change the database configuration:

  1. Log in to Physical Access admin panel as an admin user.
    All configured PACS connector services are listed, as well as Generic configurations to define the messaging queue. 
  2. Click on a system to do updates.
    All database entries are listed. 
  3. To update an entry, click on the icon. Edit as needed and then click Update
  4. To create an entry, click on +Create. Select Group, enter Key, Value and Index, and then click Create

group: messagingqueue

key

Data type

Required or Optional

Description

serverstringRequired

IP Address of Message Queue Server. If it is installed on the local server then we can use localhost. If we are accessing this server remotely then need to mention IP address.

usernamestringRequired

Username of message queue server.

Default value: “guest”

passwordstringRequired

Password of message queue server.

Default value: “guest”

systemstringRequired

Defines which messaging queue to be used, either "rabbitmq" or "azureservicebus".

Default value: "rabbitmq"

group: general

key

Data type

Required or Optional

Description

deleteUserOnNoEntitlementstringOptional

Defines if the user shall be deleted if no active entitlement assignment are present for that user.

Valid values: true or false.

Default: true

deleteUserOnNoAccessTokenstringOptional

Defines if the user shall be deleted if no active access tokens are present for that user.

Valid values: true or false.

Default: true 

heartbeatInterval

intOptional

Heartbeat interval is the time difference between two successive heartbeats, and it is used to know if the system is in active (running) or in inactive (stopped) state.

Default value and minimum value: 60 seconds. If it is set less than 60 seconds, it will be considered as 60 seconds to update the status.

group: general

keyData typeRequired or OptionalDescription
updatesPerPollintOptional

The maximum number of messages read from the message queue.

Default: 100

group: system

keyData typeRequired or OptionalDescription
apiUrlstringRequired

API URL of Kaba exos Restful Service of Kaba exos 9300 service.

Default: https://kabaexos

apiKeystringRequired

API Key Identifier provided with Kaba exos Rest API.

Default: MyApiKey

usernamestringRequiredUsername to login into Kaba exos Rest API
passwordstringRequired

Password to login into Kaba exos Rest API

group: export

keyData typeRequired or OptionalDescription
EntitlementTypestringRequired

EntitlementTypeis used to set which type of access elements Physical Access should import. Currently, these EntitlementType are supported:

EntitlementTypeDescription
Profile

If EntitlementType is set to Profile, only Profile type access element are imported to Physical Access.

ProfileCollectionIf EntitlementType is set to ProfileCollection, only ProfileCollection type access element are imported to Physical Access.
ProfileSuperCollectionIf EntitlementType is set to ProfileSuperCollection, only ProfileSuperCollection type access element are imported to Physical Access.
DoorGroupIf EntitlementType is set to DoorGroup, DoorGroup type access element's and TimeProfile type access element's are imported to Physical Access.
AccessGridIf EntitlementType is set to AccessGrid, AccessGrid type access element's and TimeProfile type access element's are imported to Physical Access.
AccessGridDepotIf EntitlementType is set to AccessGridDepot, AccessGridDepot type access element's and TimeProfile type access element's are imported to Physical Access.
AccessGridParkingIf EntitlementType is set to AccessGridParking, AccessGridParking type access element's and TimeProfile type access element's are imported to Physical Access.
ComponentStandaloneIf EntitlementType is set to ComponentStandalone, ComponentStandalone type access element's and TimeProfile type access element's are imported to Physical Access.

To have support for both types, add it like “Profile,DoorGroup”.

layoutIdentifierTypestringRequired

This is a type of identifier which we want to use to refer layout of access token.

userfieldmappingsstringOptional

The userfieldmappings is the combination of all additional fields that can be sent to Kaba exos 9300. Currently, these fields can be configured:

  • PhoneNumber
  • BirthDate
  • Sex
  • EMail
  • Text
  • Comment
  • Nationality
  • Street
  • City
  • Zipcode
  • Country

To export these fields to Kaba exos 9300, add this configuration:

IdgroupindexkeysystemValue
1export0userfieldmappingsKabaExosphone.home, PhoneNumber
2export0userfieldmappingsKabaExosemail.Work, Email
3export0userfieldmappingsKabaExosaddress.country, Country
4export0userfieldmappingsKabaExosuseradditionalfield.Comment, Comment

The value in the configuration setting is a combination of table_name.value_of_type_column, property_name_of_cardholder. This configuration setting is the mapping between PA3 table field and Kaba exos 9300 person model properties.

User column fields are sent by adding configuration like user.column_name_of_user_table, property_name_of_kaba_person.

group: export.card.default

This group defines how to export card numbers by default, when a card’s layout does not have a specific mapping.

key

Data type

Required or Optional

Description

layout

stringRequired

The default identifier type to read layout.

Default: Default

userMediaApplicationId

intRequired

Internal Id of user media Application.

Default: 1

cardNameIdentifierstringRequired

The default identifier type to read card numbers.

Default: mifare

mediaApplicationDefinitionsstringRequired

Name of media Application definition.

Default: Identification (CID) (0000)

mediaApplicationDefinitionIdsintRequired

Internal Id of media Application definition.

Default: 1

applicationDefinitionValueIdentifiersstringRequired

The identifier type to read application Definition Value.

Default: mifare

formatstringRequired

The format that the card number should be converted into before exporting it to Kaba Exos 9300.

Valid values: Hex, Dec.

Default: Dec

length

intRequired

The length that the card number should be padded (with leading zeroes) to after converting it.

Default: 6

group: export.card

This group contains compound configuration elements using the config_index column. For each unique config_index value in this group, each key defined below must be defined exactly once. Note that this group is not required as a whole, and should only be used if you have specific requirements for one or more card layouts. This entire section is Optional.

key

Data type

Required or Optional

Description

layout

stringRequired

The default identifier type to read layout.

Default: Media2

userMediaApplicationId

intRequired

Internal Id of user media Application.

Default: 1

cardNameIdentifierstringRequired

The default identifier type to read card numbers.

Default: cardName

mediaApplicationDefinitionsstringRequired

Comma separated list of Name's of media Application definitions.

Default: Kaba Group Header+ (KGH+) (0001),Unique number (UID),Kaba Group Header (KGH) (0002)

mediaApplicationDefinitionIdsintRequired

Comma separated list of Internal Id's of media Application definitions.

Default: 9,10,11

applicationDefinitionValueIdentifiersstringRequired

Comma separated list of the identifier type's to read application Definition Values.

Default: mifare,uid,mifare

formatstringRequired

Comma separated list of the format's that the card number should be converted into before exporting it to Kaba Exos 9300.

Valid values: Hex, Dec.

Default: dec,dec,dec

length

intRequired

Comma separated list of the length's that the card number should be padded (with leading zeroes) to after converting it.

Default: 6,8,6

The service mainly transfers user data including related access tokens and entitlement assignments. In the service, default fields can be sent and additional fields can be mapped using extra field mappings.

User field mapping

By default, the following data is mapped between the USER table in the Physical Access and the Kaba exos 9300 service:  

SR NoPhysical Access field (Web API)Kaba exos 9300 field (UI)
2givenname (givenName)Staff Data -> FirstName
3familyname (FamilyName)Staff Data -> lastName
5userType (userType)Internal -> PersonType

Access token field mapping

For access token field mapping, the ACCESSTOKEN and ACCESSTOKENIDENTIFIER tables from the Physical Access database are mapped to the Kaba exos 9300 service fields. All details are available under Person Record.

SR NoPhysical Access field (Web API)Kaba exos 9300 field (UI)
1CardNumber (identifiers-type-value)

User Medium->Assigned

User Medium -> Column[BadgeId and BadgeName]

2Access Token ValidTo decide internally

User Medium-> Assigned

User Medium -> Column[ValidTo]

3Layout (identifiers-type-value)User Medium→ Layout

Entitlement assignment field mapping

For entitlement assignment field mapping, the ENTITLEMENTASSIGNMENT table from the Physical Access database is mapped to the Kaba exos 9300 service fields. All details are available under Person Record.

SR NoPhysical Access field (Web API)Kaba exos 9300 field (UI)
1DisplayName (entitlement-DisplayName)Access Rights -> Name
2EntitlementTypeAccess Rights -> Internal

Restart service

  1. Restart the Kaba exos 9300 connector service:

    Restart Physical Access Kaba exos 9300 connector
    cd <SMARTIDHOME>/compose/physicalaccess
    docker-compose restart smartid-pa-kabaexos

This article is valid for Smart ID 21.10 and later.

Related information