FAQ - AML: Location
Valid for N670 / N870 / N870E but not supported by N610. Software 2.52 or higher is needed.
Via the MQTT interface an application server is able to request the Location from the handset.
The location information can be based on:
- DECT
- Supported by: SL800H / S700H / R700H / S650H / SL750H / OpenStage M3
- Provides raw DECT RSSI values
- Bluetooth
- Supported by: SL800H / S700H / R700H
- Provides Bluetooth RSSI values transmitted by BLE beacons
- DECT and Bluetooth
1. Example set-up using an Ubuntu server
The following test environment is used for the documentation.
- Ubuntu server
- Gigaset N870 with the latest firmware
- Application server / MQTT interface enabled
- DECT handset that supports DECT location request like SL800H
- DECT handset has location license enabled
Ubuntu preparation
First we installed the mosquitto client: sudo apt install mosquitto-clients
Host file:
Add the N870 to your host file in case you want to use a DNS name. (/etc/hosts)
127.0.1.1 Int-VirtualBox
192.168.178.192 int-589ec60e71c0
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
2. How to see the MQTT response
Before you start sending the first location request, you would also like to see the response of the Cordless system.
You can do this by opening a new command line window on the Linux PC and enter the command.
3. DECT location request
With the following command you can ask for the location information from the handset using the SIP ID
- "as1" proper external_client id
- "123456789012345678901234567890abEEEE" proper external client password
- "{}" inside You can specify the message
- "8884" messages can be only sent on port 8884
In the answer below the handset was connected to DM2 and there was no synchronization between DM2 and DM1.
The DECT handset is only able to see BSs from all synchronized cluster it is in sync with. Cluster may be synced within DM range and/or inter DM.
As it is not synchronized with DM1, you do not see the bases from DM1.
as1/pos/ipui/029e74a599/req/position {
"msgId":"pos_2",
"params":
{
"ipui":"029e74a599",
"mode":"dps"
}
}
Positive response
dm2/029e74a599/as1/pos/res/position
{
"msgId":"pos_2",
"payload":{"ble":{},
"dm_id":"dm2",
"dps":
{"bases":
[{"fpn":"215","rpn":"66","rssi":"60"},
{"fpn":"215","rpn":"67","rssi":"59"}],
"bs_fpn":"215",
"bs_mac":"7c2f80e0d6d7",
"bs_name":"BSDM2",
"bs_rpn":"66",
"time":"1593602403"},
"ipui":"029e74a599",
"sip_id":"1023"}}
dm2/1023/as1/pos/res/position
{
"msgId":"pos_2",
"payload":{"ble":{},
"dm_id":"dm2","dps":
{"bases":
[{"fpn":"215","rpn":"66","rssi":"60"},
{"fpn":"215","rpn":"67","rssi":"59"}],
"bs_fpn":"215",
"bs_mac":"7c2f80e0d6d7",
"bs_name":"BSDM2",
"bs_rpn":"66",
"time":"1593602403"},
"ipui":"029e74a599",
"sip_id":"1023"}}
In the answer below the handset was connected to DM1 and there was synchronization between DM2 and DM1.
The DECT handset is able to see BSs from all synchronized cluster it is in sync with.
Therefore you can see now 3 base stations in the respond.
as1/pos/ipui/029e74a599/req/position {
"msgId":"pos_2",
"params":
{
"ipui":"029e74a599",
"mode":"dps"
}
}
Positive response
dm1/029e74a599/as1/pos/res/position
{
"msgId":"pos_2",
"payload":{"ble":{},
"dm_id":"dm1",
"dps":
{"bases":
[{"fpn":"215","rpn":"2","rssi":"58"},
{"fpn":"215","rpn":"67","rssi":"60"},
{"fpn":"215","rpn":"66","rssi":"60"}],
"bs_fpn":"215",
"bs_mac":"589ec60d8c73",
"bs_name":"BSDM1",
"bs_rpn":"2",
"time":"1593602685"},
"ipui":"029e74a599",
"sip_id":"1023"}}
dm1/1023/as1/pos/res/position
{
"msgId":"pos_2",
"payload":{"ble":{},
"dm_id":"dm1",
"dps":
{"bases":
[{"fpn":"215","rpn":"2","rssi":"58"},
{"fpn":"215","rpn":"67","rssi":"60"},
{"fpn":"215","rpn":"66","rssi":"60"}],
"bs_fpn":"215",
"bs_mac":"589ec60d8c73",
"bs_name":"BSDM1",
"bs_rpn":"2",
"time":"1593602685"},
"ipui":"029e74a599",
"sip_id":"1023"}}
4. Bluetooth (BLE) location request
With the following command you can ask for the BLE location information from the handset using the SIP ID
- "as1" proper external_client id
- "123456789012345678901234567890abEEEE" proper external client password
- "{}" inside You can specify the message
- "8884" messages can be only sent on port 8884
In the answer below the handset belonging to sip_id 1013 (S700H) found one SL800H acting as BLE Beacon
SL800H handset, 589ec626c098, Type: Beacon, UUID: 75E072C3AAAB4E97AF357BB7FA1A0BE8, MAYOR: C098, MINOR: C626, INTERVAL: 250
{"msgId":"pos_2","payload":
{"ble":
{"beacons":[
{"advertising":[
{"ble_advert_data":["06"],"ble_advert_type":"01"},
{"ble_advert_data":["4c","00","02","15","75","e0","72","c3","aa","ab","4e","97","af","35","7b","b7","fa","1a","0b","e8","c0","98","c6","26","dd"],"ble_advert_type":"ff"}],
"mac":"589ec626c098",
"mac_random":"589ec626c098",
"rssi":"e3"}],
"bs_fpn":"f1",
"bs_mac":"589ec60d90ca",
"bs_name":"Office",
"bs_rpn":"04",
"timestamp":"1643884079"},
"dm_handover":"no",
"dm_id":"local",
"dps":{},
"ipui":"035edb3a92",
"sip_id":"1013"}}
local/035edb3a92/as1/pos/res/position {"msgId":"pos_2","payload":{"ble":{"beacons":[{"advertising":[{"ble_advert_data":["06"],"ble_advert_type":"01"},{"ble_advert_data":["4c","00","02","15","75","e0","72","c3","aa","ab","4e","97","af","35","7b","b7","fa","1a","0b","e8","c0","98","c6","26","dd"],"ble_advert_type":"ff"}],
"mac":"589ec626c098","mac_random":"589ec626c098","rssi":"e3"}],"bs_fpn":"f1","bs_mac":"589ec60d90ca","bs_name":"Office","bs_rpn":"04","timestamp":"1643884079"},
"dm_handover":"no","dm_id":"local","dps":{},"ipui":"035edb3a92","sip_id":"1013"}}
5. DECT and BLE location request
With the following command you can ask for the DECT and BLE location information from the handset using the SIP ID
- "as1" proper external_client id
- "123456789012345678901234567890abEEEE" proper external client password
- "{}" inside You can specify the message
- "8884" messages can be only sent on port 8884
{"ble":
{"info":"BLE request in progress","status":"183"},"dm_handover":"no","dm_id":"local","dps":
{"bases":[
{"fpn":"f1","rpn":"04","rssi":"60"},
{"fpn":"f1","rpn":"02","rssi":"36"}],
"bs_fpn":"f1",
"bs_mac":"589ec60d90ca",
"bs_name":"Office",
"bs_rpn":"04",
"timestamp":"1643897222"},
"ipui":"035edb3a92","sip_id":"1013"}
}
local/1013/as1/pos/res/position {"msgId":"pos_2","payload":
{"ble":
{"beacons":[
{"advertising":[
{"ble_advert_data":["06"],"ble_advert_type":"01"},
{"ble_advert_data":["4c","00","02","15","75","e0","72","c3","aa","ab","4e","97","af","35","7b","b7","fa","1a","0b","e8","c0","98","c6","26","dd"],"ble_advert_type":"ff"}],
"mac":"589ec626c098",
"mac_random":"589ec626c098",
"rssi":"de"},
{"advertising":[
{"ble_advert_data":["06"],"ble_advert_type":"01"},
{"ble_advert_data":["aa","fe"],"ble_advert_type":"03"},
{"ble_advert_data":["aa","fe","00","08","0b","32","1a","1b","d9","bd","b9","21","dd","69","58","9e","c6","2c","a7","7e","00","00"],"ble_advert_type":"16"}],
"mac":"589ec62ca77e",
"mac_random":"589ec62ca77e",
"rssi":"dc"}],
"bs_fpn":"f1",
"bs_mac":"589ec60d90ca",
"bs_name":"Office",
"bs_rpn":"04",
"timestamp":"1643897222"},
"dm_handover":"no",
"dm_id":"local",
"dps":{},
"ipui":"035edb3a92",
"sip_id":"1013"}}
local/035edb3a92/as1/pos/res/position {"msgId":"pos_2","payload":
{"ble":
{"beacons":[
{"advertising":[
{"ble_advert_data":["06"],"ble_advert_type":"01"},
{"ble_advert_data":["4c","00","02","15","75","e0","72","c3","aa","ab","4e","97","af","35","7b","b7","fa","1a","0b","e8","c0","98","c6","26","dd"],"ble_advert_type":"ff"}],
"mac":"589ec626c098",
"mac_random":"589ec626c098",
"rssi":"de"},
{"advertising":[
{"ble_advert_data":["06"],"ble_advert_type":"01"},
{"ble_advert_data":["aa","fe"],"ble_advert_type":"03"},
{"ble_advert_data":["aa","fe","00","08","0b","32","1a","1b","d9","bd","b9","21","dd","69","58","9e","c6","2c","a7","7e","00","00"],"ble_advert_type":"16"}],
"mac":"589ec62ca77e",
"mac_random":"589ec62ca77e",
"rssi":"dc"}],
"bs_fpn":"f1",
"bs_mac":"589ec60d90ca",
"bs_name":"Kantoor",
"bs_rpn":"04",
"timestamp":"1643897222"},
"dm_handover":"no",
"dm_id":"local",
"dps":{},
"ipui":"035edb3a92",
"sip_id":"1013"}}
6. Location request timing (Caching)
If the system receives an location request (DECT + Bluetooth) via MQTT:
- DECT location request will take around 5 seconds
- Then Bluetooth search is done, duration: "search time-out in MQTT command"
- Results are cached for 10 seconds (To protect system against location request flooding)
- DECT and Bluetooth have an own cache
Example DECT + Bluetooth location request:
Send an DECT + Bluetooth Location request (MQTT) with the search time-out = 5 seconds "A".
If we would send an new Location request "B" 17 seconds later, we would receive new DECT location values and cached Bluetooth values.
Sending a new location request after 20 seconds "C" results in new DECT and Bluetooth location values.
Example Bluetooth location request:
Send an Bluetooth Location request (MQTT) with the search time-out = 5 seconds "A".
If we would send an new Location request "B" 13 seconds later, we would receive cached Bluetooth values. (Syslog message: send cached ble result)
Sending a new location request after 17 seconds "C" results in new Bluetooth location values.
