For IP-based calling, location is not always tied to a fixed line. PIDF-LO helps ensure the correct address is sent with the call itself when dialing for emergency services. PIDF-LO stands for Presence Information Data Format - Location Object. With Sinch Elastic SIP Trunking, PIDF-LO can be used to pass the caller's location so emergency services systems can receive and process that information in the event that the caller cannot communicate. PIDF-LO support is enabled on all trunks by default.
To test PIDF-LO on the Sinch network, dial 933. When you call 933:
- we answer the call
- we repeat back the address we received.
This allows you to confirm that your location information is being delivered correctly before relying on it for emergency calling. This is a simple way to confirm that your PIDF-LO location data is being delivered correctly before relying on it for 911 calling.
Example SIP Headers
A packet capture or SIP trace with PIDF-LO typically includes a Geolocation header and a PIDF-LO body. A simplified example looks like this:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 203.0.113.10:5060;branch=z9hG4bK-12345
From: <sip:[email protected]>;tag=abc123
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: <sip:[email protected]:5060>
Geolocation: <cid:[email protected]>
Geolocation-Routing: yes
Content-Type: multipart/mixed;boundary=boundary42
Content-Length: ...
--boundary42
Content-Type: application/sdp
v=0
...
--boundary42
Content-Type: application/pidf+xml
Content-ID: <[email protected]>
<?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"
entity="pres:[email protected]">
<tuple id="t1">
<status><basic>open</basic></status>
<gp:geopriv>
<gp:location-info>
<cl:civicAddress>
<cl:A1>NC</cl:A1>
<cl:A3>Raleigh</cl:A3>
<cl:RD>Main Street</cl:RD>
<cl:HNO>123</cl:HNO>
<cl:PC>27601</cl:PC>
</cl:civicAddress>
</gp:location-info>
</gp:geopriv>
</tuple>
</presence>
--boundary42--