Created: June 2024

Permalink: 

Introduction

This document describes the functionality of alarm/ SMS/ beacon integration between W-AIR base station and a Message server.

The integration is used for the following in terms of nurse call systems:

The integration is based on sending UDP packets and an acknowledge that the UDP packets are received. Here is an example of sending beacon information from a beacon to a Message server through W-AIR handset and base station:

Here is an example of sending an alarm from a Message server to W-AIR handset:

Requirements

Message types and format

There are 5 different message types that can be used between a Message server and W-AIR base station:


XML tag

Description

Direction

Systeminfo

Messages that handle synchronization between W-AIR base station (BS) and a Message server (MS)

MS -> BS

BS -> MS

Login

Messages that inform a Message server about location of W-AIR handset on a specific W-AIR base station

BS -> MS

Job





Alarms sent from a Message server to W-AIR base station and displayed on W-AIR handset under an alarm icon

MS -> BS

SMS sent from a Message server to W-AIR base station and displayed under an SMS icon

MS -> BS

SMS sent from W-AIR base station/ handset to another W-AIR base station/ handset via a Message server

BS -> MS

alarm

Alarms sent from W-AIR base station/ handset to a Message server

BS -> MS

beacon

Beacon information sent from W-AIR base station/ handset to a Message server

BS -> MS




For messages servers where only receiving beacons or alarms from the basestation/handset the Systeminfo and Login procedures can be skipped in the messages server.

For messages servers where only receiving beacons or alarms from the basestation/handset the Systeminfo and Login procedures can be skipped in the messages server


Below there is a description of message formats between a Message server and W-AIR base station, followed by different message types.


Setup between W-AIR base station and a Message server 

To configure Text messaging, 

  • Access the Base Station web interface and navigate to Management menu
  • Text Messaging:

    Disabled: SMS and alarm cannot be used

    Enabled without server: Used to send SMS between handsets that is located on the same FP or multicell system, but without using a MS. This feature is not described in this document.
    Enabled: The FP is connected to a MS and the MS is handling all SMS/Alarms.

Text messaging & Alarm server: This is the MS the FP is connected to.

Text messaging port: This is the IP port that is used by the MS and FP.

Text Messaging Keep Alive: Minutes between the FP will send a keep alive signal to the MS

Text messaging response: If the FP does not receive a response from the MS within 30 seconds, when the FP/handset has sent a SMS to the MS, then the FP will inform the handset that the messages was not delivered.


When the FP is started with the configuration set in Figure 3 there is sent a sync messages followed by a sync message for each phone that is locating to the FP

Examples


<?xml version="1.0" encoding="UTF-8"?>
<request version="17.6.15.1526" type="systeminfo"> <externalid>0352675351</externalid>
<systemdata>
<name>SME VoIP</name>
<datetime>1970-01-01 00:00:09</datetime> <timestamp>00000009</timestamp>
<status>1</status>
<statusinfo>System running</statusinfo> </systemdata>
</request>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="1.0" type="systeminfo"> 
<systemdata>
<name>Micromedia-Alert</name> 
<datetime>2017-06-15T16:07:10</datetime> 
<timestamp>5942948e</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata> 
<externalid>0352675351</externalid> 
<status>1</status>
<statusinfo>Accepted by external system</statusinfo> 
</response>




<?xml version="1.0" encoding="UTF-8"?> 
<request version="17.6.15.1526" type="login"> 
<externalid>3294079664</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-15 09:07:51</datetime> 
<timestamp>594294b7</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata>
<address>991</address>
<name>991</name> 
<location>SME VoIP</location> 
</senderdata>
</request>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="1.0" type="login"> 
<systemdata> 
<name>Micromedia-Alert</name> 
<datetime>2017-06-15T16:07:54</datetime> 
<timestamp>594294ba</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata> 
<externalid>3294079664</externalid> 
<status>1</status>
<statusinfo>Accepted by external system</statusinfo> 
</response>



W-AIR base station and a Message server has now informed each other that they exist. Now they both can send a “keep alive” signal to each other,  you can decide how often to send it in Management menu -> Text Messaging “keep Alive” messages contain information about all registered W-AIR handsets. In case a Message server gets restarted, it can always request this information from W-AIR base station. 

Examples  of “keep alive” signals 

  • The response signal always use the same external Id as the request



<?xml version="1.0" encoding="UTF-8"?>
<request version="18.2.21.1359" type="systeminfo"> 
<externalid>1528744172</externalid>
<systemdata>
<name>SME VoIP</name>
<datetime>2018-02-21 07:34:45</datetime> 
<timestamp>5a8d7575</timestamp>
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata>
<address>400</address>
<name></name>
<address>401</address>
<name>Bob Andersen</name>
<address>402</address>
<name>Hansi</name>
<address>403</address>
<name>George Lucas</name>
<address>404</address>
<name>Michael Jensen</name>
<address>406</address>
<name>406</name>
<address>407</address>
<name>Fenger</name>
<address>408</address>
<name>408</name>
<address>410</address>
<name>410</name>
</senderdata> </request>



Note that the name field can be empty.



<?xml version="1.0" encoding="UTF-8"?> 
<response version="1.0" type="systeminfo"> 
<systemdata>
<name>Micromedia-Alert</name> 
<datetime>2017-06-15T16:13:10</datetime> 
<timestamp>594295f6</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata> 
<externalid>5a8d7575</externalid> 
<status>1</status>
<statusinfo>Accepted by external system</statusinfo> 
</response>




<?xml version="1.0" encoding="UTF-8"?> 
<request version="1.0" type="systeminfo"> 
<systemdata> 
<name>Micromedia-Alert</name> 
<datetime>2017-06-15T16:17:59</datetime> 
<timestamp>59429717</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata> 
<externalid>mmi59427f9a-0</externalid> 
</request>




<?xml version="1.0" encoding="UTF-8"?>
<response version="18.2.21.1359" type="systeminfo"> 
<externalid> mmi59427f9a-0</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2018-02-21 07:39:03</datetime> 
<timestamp>5a8d7677</timestamp>
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata>
<address>400</address>
<name>hej400</name>
<address>401</address>
<name>Bob Andersen</name>
<address>402</address>
<name>Hansi</name>
<address>403</address>
<name>George Lucas</name>
<address>404</address>
<name>Michael Jensen</name>
<address>406</address>
<name>406</name>
<address>407</address>
<name>Fenger</name>
<address>408</address>
<name>408</name>
<address>410</address>
<name>410</name>
</senderdata> 
</response>




<?xml version="1.0" encoding="UTF-8"?> 
<request version="17.6.15.1526" type="login"> 
<externalid>0587227135</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-16 02:07:02</datetime> 
<timestamp>59438396</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata>
<address>991</address>
<name>991</name> 
<location>SME VoIP</location> 
</senderdata>
</request>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="1.0" type="login"> 
<systemdata> 
<name>Micromedia-Alert</name> 
<datetime>2017-06-16T09:07:05</datetime> 
<timestamp>59438399</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata> 
<externalid>0587227135</externalid> 
<status>1</status>
<statusinfo>Accepted by external system</statusinfo> 
</response>



Alarms

Sending alarms to W-AIR base station/ handset from a Message server

A Message server can send a UDP packet to W-AIR base station with XML information about the alarm. W-AIR base station sends the alarm to W-AIR handset and a response is sent back to a Message server.

Priority

It is possible to set an alarm with different priority, below are the different colors that are used on W-AIR handset depending on the priority.

  • 1: red
  • 2: red
  • 3: red
  • 4: Yellow
  • 5: Yellow
  • 6: Yellow
  • 7: Green
  • 8: Green
  • 9: Green
  • All other values: Green

Confirmation type

XML child “confirmationtype(JobDataDef):

  • 0: No User confirmation needed
    • W-AIR base station sends back a confirmation to a Message server that the message is received on W-AIR base station 
  • 1: User Received Job confirmation needed
    • W-AIR base station sends back a confirmation to a Message server that the message is received on W-AIR base station 
    • W-AIR base station sends back a confirmation to a Message server that the message is received on W-AIR handset
  • 2: User Confirm/ Reject Job confirmation needed
    • W-AIR base station sends back a confirmation to a Message server that the message is received on W-AIR base station 
    • W-AIR base station sends back a confirmation to a Message server that the message is received on W-AIR handset
    • W-AIR base station sends back a confirmation to a Message server if the user confirms /rejects the message

Reference number

Substituting an alarm

The reference number is unique number per alarm. When sending an alarm, the reference number always needs to be present, otherwise the message is interpreted as an SMS.

  • If an alarm is sent with the same referencenumber as a previous alarm that is NOT yet confirmed/ rejected (confirmationtype 2), the first alarm is deleted and only the new one is saved and displayed on W-AIR handset
  • If an alarm is sent with the same referencenumber as a previous alarm that is confirmed/ rejected, then both alarms are displayed
  • If an alarm is sent with the same referencenumber as a previous alarm that has confirmationtype 0 or 1, then both alarms are on W-AIR handset

Deleting an alarm

It is possible to delete an alarm that is NOT yet confirmed/ rejected on W-AIR handset.

  • Deletion is available for an alarm with confirmationtype 1 and 2
  • For deleting an existing alarm, the same reference number should be used and the status should be set to 10

Response handling

For confirmationtype 1 and 2, there is always a response sent to a Message server that W-AIR base station/ handset receives the messages:

  • A Message server needs both responses to be sure that the messages are received on W-AIR handset.
  • A Message server should not send a new message to the same W-AIR handset before both responses are received
  • In case a Message server does not receive the response from W-AIR handset, it should wait a minimum of 10 sec before trying to send a message again to the same W-AIR handset. This is needed so W-AIR base station has enough time to timeout the first messages

When using confirmationtype 0, a Message server doesn't know if the SMS/ alarm is lost from W-AIR base stion to W-AIR handset. Here a Message server should always wait 10 sec between each message to the same W-AIR handset

Examples

Below are examples of an alarm sent from a Message server with confirmationtype 2:


<?xml version="1.0" encoding="UTF-8"?> 
<request version="1.0" type="job"> 
<systemdata> 
<name>Micromedia-Alert</name> 
<datetime>2017-06-20T09:25:24</datetime> 
<timestamp>5948cde4</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<alarmnumber>5</alarmnumber> 
<referencenumber>5</referencenumber> 
<priority>1</priority>
<flash>0</flash>
<rings>0</rings> 
<confirmationtype>2</confirmationtype> <messages>
<message1></message1> <message2></message2> 
<messageuui>Alarm1 text</messageuui> </messages>
<status>0</status>
<statusinfo/>
</jobdata>
<persondata>
<address>991</address> 
<status>0</status>
<statusinfo/>
</persondata> <externalid>mmi5948c09b-5</externalid> </request>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="17.6.15.1526" type="job"> 
<externalid>mmi5948c09b-5</externalid> 
<status>1</status>
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 02:25:22</datetime> 
<timestamp>5948cde2</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata>
<address>991</address>
<name>991</name>
<location>SME VoIP</location>
</senderdata>
</response>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="17.6.15.1526" type="job"> 
<externalid>mmi5948c09b-5</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 02:25:23</datetime> 
<timestamp>5948cde3</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<priority>1</priority>
<messages>
<message1></message1>
<message2></message2> 
<messageuui></messageuui>
</messages>
<status>1</status>
<statusinfo></statusinfo>
</jobdata>
<senderdata>
<address>991</address>
<name>991</name>
<location>SME VoIP</location>
</senderdata>
</response>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="17.6.15.1526" type="job"> 
<externalid>mmi5948c09b-5</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 02:25:38</datetime> 
<timestamp>5948cdf2</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<priority>1</priority>
<messages>
<message1></message1>
<message2></message2> 
<messageuui></messageuui>
</messages>
<status>4</status>
<statusinfo></statusinfo>
</jobdata>
<senderdata>
<address>991</address>
<name>991</name>
<location>SME VoIP</location>
</senderdata>
</response>


Delete an alarm


<?xml version="1.0" encoding="UTF-8"?> 
<request version="1.0" type="job"> 
<systemdata> <name>Micromedia-Alert</name> 
<datetime>2017-06-20T09:58:25</datetime> 
<timestamp>5948d5a1</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<alarmnumber>5</alarmnumber> 
<referencenumber>5</referencenumber> 
<priority>1</priority>
<flash>0</flash>
<rings>0</rings> 
<confirmationtype>2</confirmationtype> 
<messages>
<message1></message1> 
<message2></message2> 
<messageuui>Alarm1 text</messageuui> 
</messages>
<status>0</status>
<statusinfo/>
</jobdata>
<persondata>
<address>991</address> 
<status>0</status>
<statusinfo/>
</persondata> <externalid>mmi5948c0a6-5</externalid> 
</request>




<?xml version="1.0" encoding="UTF-8"?> 
<request version="1.0" type="job"> 
<systemdata> 
<name>Micromedia-Alert</name> 
<datetime>2017-06-20T09:58:25</datetime> 
<timestamp>5948d5a1</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<alarmnumber>5</alarmnumber> 
<referencenumber>5</referencenumber> 
<priority>1</priority>
<flash>0</flash>
<rings>0</rings> 
<confirmationtype>2</confirmationtype> 
<messages>
<message1></message1> 
<message2></message2> 
<messageuui>Alarm1 text</messageuui> 
</messages>
<status>10</status>
<statusinfo/>
</jobdata>
<persondata>
<address>991</address> 
<status>0</status>
<statusinfo/>
</persondata> <externalid>mmi5948c0a6-5</externalid> 
</request>



Sending alarms from W-AIR base station/ handset to a Message server

W-AIR handset can be configured so it sends an alarm to a Message server for the following cases:

Furthermore, the latest available beacon data is added to the alarm messages. If no beacon UUID is available, the field is empty. 

beacontype can be:

Data payload can be:


Note: When an alarm is triggered on W-AIR handset, an ongoing call is terminated . This is done for all types, even though it is not necessary for “message types”.


Examples

Below are examples of  XML messages when W-AIR handset sends an alarm for “Man Down”:


<?xml version="1.0" encoding="UTF-8"?> 
<request version="17.6.15.1526" type="alarm"> 
<externalid>0623295349</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 05:55:51</datetime> 
<timestamp>5948ff37</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<alarmdata>
 <type>0</type>
 </alarmdata>
 <beacondata>
 <beacontype>X</beacontype>
 <broadcastdata>54235663af54235663af54235663af54235663af54235663af54235663af</broadcastdata>
 <bdaddr>12AFCE98BEDE</bdaddr>
 </beacondata>
 <rssidata>
 <rfpi>116e61fc00</rfpi>
 <rssi>-28</rssi>
 <rfpi>116e61fc02</rfpi>
 <rssi>-36</rssi>
 </rssidata>
<senderdata> 
<address>991</address> 
<name>991</name> 
<location>SME VoIP</location> 
</senderdata>
</request>




<?xml version="1.0" encoding="UTF-8"?>
<response version="v.3.4.7.1047" type="alarm"> 
<externalid>0623295349</externalid>
<status>1</status>
<statusinfo>Accepted by New Voice XML outgoing interface</statusinfo> 
<systemdata>
<name>Mobicall</name>
<datetime>2017-06-20T12:55:55</datetime> <timestamp>5948ff3b</timestamp>
<status>1</status>
<statusinfo>System running</statusinfo>
</systemdata>
</response>



SMS

Sending SMS to W-AIR base station/ handset from a Message server

When sending an SMS from a Message server, the reference number string should be removed from the XML message. After this is done, messages are interpreted as an SMS instead of an alarm. 

Note that:

  • It is not possible to send a delete request from a Message server to W-AIR base station/ handset for an SMS
  • It is not possible to substitute an SMS with a new SMS


Priority

An SMS can be sent to W-AIR handset with 2 priorities:

  • 0: Normal
  • 1: Urgent

Confirmation type

There are 2 confirmations types for SMS:

  • 0: No User confirmation needed
    • W-AIR base station sends back a confirmation to a Message server that the message is received on its side
    • W-AIR base station sends back a confirmation to MS that the message is received on W-AIR handset side
  • 1: User Confirm/Reject Job confirmation needed
    • W-AIR base station sends back a confirmation to a Message server that the message is received on its side
    • W-AIR base station sends back a confirmation to a Message server that the message is received on W-AIR handset side
    • W-AIR base station send s back a confirmation to a Message server if user confirms/ rejects the message

Sending SMS from W-AIR base station/ handset to another W-AIR base station/ handset via a Message server

It is possible to send an SMS from one W-AIR handset to another W-AIR handset via a Message server that supports such functionality. 

Priority

An SMS can be sent from W-AIR  handset with 2 priorities:

Examples

Below are examples of messages sent between W-AIR base station and a Message server.



<?xml version="1.0" encoding="UTF-8"?> 
<request version="17.6.15.1526" type="job"> 
<externalid>0649396368</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 04:12:16</datetime> 
<timestamp>5948e6f0</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<priority>1</priority>
<messages>
<message1></message1>
<message2></message2> 
<messageuui>Tw</messageuui>
</messages>
<status>0</status> 
<statusinfo></statusinfo>
</jobdata>
<senderdata>
<address>990</address>
<name>990</name>
<location>SME VoIP</location>
</senderdata>
<persondata>
<address>991</address>
</persondata>
</request>




<?xml version="1.0" encoding="UTF-8"?> 
<request version="17.6.15.1526" type="job"> 
<externalid>0649396368</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 04:12:16</datetime> 
<timestamp>5948e6f0</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<priority>1</priority>
<messages>
<message1></message1>
<message2></message2> 
<messageuui>Tw</messageuui>
</messages>
<status>0</status> 
<statusinfo></statusinfo>
</jobdata>
<senderdata>
<address>990</address>
<name>990</name>
<location>SME VoIP</location>
</senderdata>
<persondata>
<address>991</address>
</persondata>
</request>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="17.6.15.1526" type="job"> 
<externalid>0649396368</externalid> 
<status>1</status>
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 04:12:16</datetime> 
<timestamp>5948e6f0</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata>
<address>991</address>
<name>991</name>
<location>SME VoIP</location>
</senderdata>
<persondata>
<address>990</address>
<name>990</name>
<location>SME VoIP</location>
</persondata>
</response>




<?xml version="1.0" encoding="UTF-8"?> 
<response version="17.6.15.1526" type="job"> 
<externalid>0649396368</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 04:12:17</datetime> 
<timestamp>5948e6f1</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<jobdata>
<priority>1</priority>
<messages>
<message1></message1>
<message2></message2> 
<messageuui></messageuui>
</messages>
<status>1</status>
<statusinfo></statusinfo>
</jobdata>
<senderdata>
<address>991</address>
<name>991</name>
<location>SME VoIP</location>
</senderdata>
<persondata>
<address>990</address>
<name>990</name>
<location>SME VoIP</location>
</persondata>
</response>



Beacon

Sending beacon messages from W-AIR base station/ handset

W-AIR handset can receive beacons messages from a beacon and send a message to a Message server via W-AIR base station with the information received.

To enable beacon messages receiving:

The eventtype can be:

The beacontype can be:

Data payload can be:

Below are examples of XML messages when W-AIR base station/ handset is sending a beacon alarm.



<?xml version="1.0" encoding="UTF-8"?> 
<request version="17.6.15.1526" type="beacon"> 
<externalid>0623295349</externalid> 
<systemdata>
<name>SME VoIP</name>
<datetime>2017-06-20 05:55:51</datetime> 
<timestamp>5948ff37</timestamp> 
<status>1</status>
<statusinfo>System running</statusinfo> 
</systemdata>
<senderdata> 
<address>991</address> 
<name>991</name> 
<location>SME VoIP</location> 
</senderdata>
</request>




<?xml version="1.0" encoding="UTF-8"?>
<response version="v.3.4.7.1047" type="beacon"> 
<externalid>0623295349</externalid>
<status>1</status>
<statusinfo>Accepted by New Voice XML outgoing interface</statusinfo> 
<systemdata>
<name>MessagesServerName</name> 
<datetime>2017-06-20T12:55:55</datetime> 
<timestamp>5948ff3b</timestamp>
<status>1</status>
<statusinfo>System running</statusinfo>
</systemdata>
</response>