Valid for:

N610

N670

N870

N870E

Embedded Integrator

Virtual Integrator

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 Ubuntu server
  2. How to see the MQTT response
  3. DECT location request
  4. Bluetooth (BLE) location request
  5. DECT and BLE location request
  6. Location request timing

1. Example set-up using an Ubuntu server

Scroll to top

The following test environment is used for the documentation.

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.0.1       localhost
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

Scroll to top

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.


mosquitto_sub -u as1 --psk-identity as1 --psk 123456789012345678901234567890ab -t +/+/as1/pos/# -p 8884 -h 192.168.178.190 -v

Example response

local/035edb3a92/as1/pos/res/position {"msgId":"pos_2","payload":{"ble":{},"dm_handover":"no","dm_id":"local","dps":{"bases":[{"fpn":"f1","rpn":"03","rssi":"54"},{"fpn":"f1","rpn":"02","rssi":"34"}],"bs_fpn":"f1","bs_mac":"7c2f80c7326d","bs_name":"Backside","bs_rpn":"03","timestamp":"1623405168"},"ipui":"035edb3a92","sip_id":"1013"}}
local/1013/as1/pos/res/position {"msgId":"pos_2","payload":{"ble":{},"dm_handover":"no","dm_id":"local","dps":{"bases":[{"fpn":"f1","rpn":"03","rssi":"54"},{"fpn":"f1","rpn":"02","rssi":"34"}],"bs_fpn":"f1","bs_mac":"7c2f80c7326d","bs_name":"Backside","bs_rpn":"03","timestamp":"1623405168"},"ipui":"035edb3a92","sip_id":"1013"}}



3. DECT location request

Scroll to top

With the following command you can ask for the location information from the handset using the SIP ID


sudo mosquitto_pub -u as1 --psk-identity as1 --psk 123456789012345678901234567890ab -t 'as1/pos/sip_id/1023/req/position' -m '{"msgId":"pos_2","params":{"sip_id":"1023","mode":"dps"}}' -p 8884 -h 192.168.178.190 


  • "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.

Location request using IPUI
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.


Location request using IPUI
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

Scroll to top

With the following command you can ask for the BLE location information from the handset using the SIP ID


sudo mosquitto_pub -u as1 --psk-identity as1 --psk 123456789012345678901234567890ab -t 'as1/pos/sip_id/1013/req/position' -m '{"msgId":"pos_2","params":{"sip_id":"1013","mode":"ble","ble":{"company_ids":[],"search_timeout":"10","max_beacons":"3","request_info" :["public_address","random_address","advert_data","signal_strength"]}}}' -p 8884 -h 192.168.178.190 -i as1


  • "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


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":"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

Scroll to top

With the following command you can ask for the DECT and BLE location information from the handset using the SIP ID


sudo mosquitto_pub -u as1 --psk-identity as1 --psk 123456789012345678901234567890ab -t 'as1/pos/sip_id/1013/req/position' -m '{"msgId":"pos_2","params":{"sip_id":"1013","mode":"dps+ble","ble":{"company_ids":[],"search_timeout":"10","max_beacons":"3","request_info" :["public_address","random_address","advert_data","signal_strength"]}}}' -p 8884 -h 192.168.178.190 -i as1


  • "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



local/1013/as1/pos/res/position {"msgId":"pos_2","payload":
	{"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)

Scroll to top

If the system receives an location request (DECT + Bluetooth) via MQTT:

  1. DECT location request will take around 5 seconds
  2. Then Bluetooth search is done, duration: "search time-out in MQTT command"
  3. Results are cached for 10 seconds (To protect system against location request flooding)
  4. 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.


  • No labels