Implementation tips are provided here for creating the proper environment to support XMPP devices.
Multiple instances of the Vocera XMPP Adapter can be created, however, only one instance can be active at a time.
XMPP traffic on the Internet and hospital networks between our appliance and devices over port 5222 is secured by SSL. Vocera Platform supports the capability of multiple proxy servers, with one proxy server per data center in a facility.
The Vocera XMPP Adapter enables XMPP communication between Vocera users using XMPP clients by acting as the XMPP server for its configured domain. The Vocera XMPP Adapter supports communication with federated users on other XMPP domains. A self-signed security certificate generated by the Vocera XMPP Adapter must be uploaded to the federated server for federation services to function.
Chat Domain Hostnames
The Vocera XMPP Adapter connects to the server from the Vocera Platform client using a domain such as user@mydomain.com, where mydomain.com is the server hostname. You must have a static IP address with an entry in DNS for mydomain.com.
Register the following A records in DNS:
Register the following SRV records in DNS. These SRV records are not required, but they are recommended for XMPP installations. They allow the server host name to be different than the XMPP domain.
_xmpp-server._tcp.mydomain.com 0 0 5269 mydomain.com.
_xmpp-server._tcp.chat.mydomain.com 0 0 5269 mydomain.com.
_xmpp-server._tcp.extension.mydomain.com 0 0 5269 mydomain.com.
_xmpp-client._tcp.mydomain.com 0 0 5222 mydomain.com.
_xmpp-client._tcp.chat.mydomain.com 0 0 5222 mydomain.com.
_xmpp-client._tcp.extension.mydomain.com 0 0 5222 mydomain.com.
_xmpp-server._tcp.patients.mydomain.com 0 0 5269 mydomain.com.
_xmpp-client._tcp.patients.mydomain.com 0 0 5222 mydomain.com.
Each facility must determine the presence states required for their Vocera Platform implementation, such as Available and Unavailable; see Manage Presence States to create the required presence states.
The presence of an individual XMPP user will be set automatically when a user logs in or logs out of the application. Within the Vocera Vina application, a user may set their own status by choosing from among the list of defined presence states for the facility. Additionally, an administrator may set the presence state of an individual user; see Manage User Presence in the Vocera Platform Workflow Guide.
The Vocera XMPP Adapter calculates a user's overall presence by using the current highest priority device presence (Available > Unavailable > Offline).
When Vocera users are logged into multiple devices, the Vocera XMPP Adapter stores the statuses for the user's devices. The user's presence status is aggregated from the combined devices and the highest priority status is used for presence updates. For example, an 'Available' presence status is prioritized over an 'Unavailable' status on another device; the user's presence is unavailable when all devices the user is logged into are marked as Unavailable, or when logged into only the Desktop.
User Presence Rule Configuration
Users with devices that are not XMPP-enabled, such as Cisco or Vocera, have a presence of Offline because these users do not have an active session. The presence rule provides the ability to set a user online via a virtual session.
In a Vocera Platform dataset, create a rule or select a rule to edit, and then select XMPP in the adapter field. The Adapter Settings will automatically display the Rule Settings section shown below.
Select the Update Presence option in the Rule Action drop down menu to display the following configuration fields. Setting the presence type to "Available" and triggering the rule for updating the user's presence will create a virtual user session if there are no resources for the sender. When the presence type is set to "Offline", the unavailable presence will send the user (regardless of session type) offline by destroying the session.
Vocera allows users to send and receive messages and to manage their alerts using workflow phones, such as Cisco and SpectraLinkXML devices, via configuration of the Vocera Platform datasets, rules, and views. Vocera Vina applications provide an enhanced user experience via XMPP for holding conversations between smartphone device users. When a deployment integrates a combination of workflow phones and smartphones using XMPP in the facility, the Vocera configuration requires seamless communication between the different device types. Users should not be aware that they are communicating with someone who is using a different type of device.
Component States for the Messaging Environment
The solution configuration for messaging will differ significantly when:
The table below indicates the required state of several components based on the desired functionality:
Component / Messaging | Workflow Only | Integrated | XMPP Only |
---|---|---|---|
Workflow device adapter (CUCM, SpectraLinkXML, Smartphone) | enabled | enabled | disabled |
XMPP adapter | disabled | enabled | enabled |
Data Update for XMPP | disabled | enabled | disabled |
DM/<Vendor>Group rules | enabled | disabled | disabled |
In an integrated environment, where both workflow and XMPP devices are used, all group messages will pass through an XMPP chat room regardless of the device type each member of the group is assigned. Device Messaging/Vendor-specific Group rules must be disabled in an integrated environment. If the DM/<Vendor>Group rules are enabled in an integrated environment, the users on workflow phones will receive some duplicate messages. Workflow phone users will get each message sent to the group twice; once directly, and once filtered through the XMPP conversation.
DataUpdate for XMPP Adapter
Implement the DataUpdate for XMPP adapter when the facility will be using a combination of workflow devices (such as Cisco, SpectraLinkXML, and smartphone) and XMPP devices for messaging in the production environment. This adapter should not be enabled for installations that do not use both XMPP and workflow devices; when an adapter is not active, its associated rules will not be triggered.
The DataUpdate for XMPP adapter encapsulates all DataUpdate rules needed for XMPP integration. These DataUpdate rules assist in managing the presence states of users with workflow devices, such as Cisco, SpectraLinkXML and smartphone, and in creating device messages for XMPP-to-workflow phone communication. The Vocera XMPP Adapter cannot write records to the Messages dataset unless the presence of the user is available, therefore, install the DataUpdate for XMPP adapter to allow workflow devices and XMPP devices to communicate.
Workflow User Presence
Users with workflow phones will go online when they log into a device, and offline when they log out of a device.
If a user logs into a workflow device that currently has a user associated, the previous user may not go offline. In this case, an administrator should assign the correct presence (offline) for the previous user; see Manage User Presence in the Vocera Platform Workflow Guide.
An administrator may also set a user online or offline by changing the association of a user to a device; see Manage Phones in the Vocera Platform Workflow Guide.