Skip to main content
Dynamic E911 delivers location information to PSAPs during emergency calls. Two methods available:
MethodUse caseLocation source
API-based addressesFixed locations (offices, buildings)Pre-provisioned via API
GPS coordinatesMobile devices, wearables, IoTPIDF-LO in SIP INVITE

API-based addresses

Pre-provision addresses and endpoints, then reference IDs in SIP headers during calls.

Create emergency address

POST /v2/dynamic_emergency_addresses
{
  "house_number": "1901",
  "street_pre_directional": "W",
  "street_name": "MADISON",
  "street_suffix": "ST",
  "locality": "CHICAGO",
  "administrative_area": "IL",
  "postal_code": "60612",
  "country_code": "US"
}
Response includes:
  • id - Address UUID for endpoint association
  • sip_geolocation_id - Include in Geolocation header
  • status - pending during validation, activated when ready

Create emergency endpoint

POST /v2/dynamic_emergency_endpoints
{
  "dynamic_emergency_address_id": "uuid-from-address",
  "callback_number": "+13125550000",
  "caller_name": "Jane Doe"
}
Response includes:
  • sip_from_id - Include in From or P-Asserted-Identity header

SIP INVITE format

Include both IDs in emergency call INVITE:
INVITE sip:911@sip.telnyx.com SIP/2.0
From: <sip:{sip_from_id}@origin.example.com>
To: <sip:911@sip.telnyx.com>
Geolocation: {sip_geolocation_id}
Alternative using P-Asserted-Identity:
P-Asserted-Identity: <sip:{sip_from_id}@origin.example.com>
Geolocation: {sip_geolocation_id}

GPS coordinates (PIDF-LO)

Pass real-time coordinates in PIDF-LO format for mobile devices, wearables, and IoT.

Coordinate format

ParameterRangeNotes
Latitude-90 to +90Negative = South
Longitude-180 to +180Negative = West
Precision6-8 decimal placesMeter-level accuracy

SIP INVITE with PIDF-LO

INVITE sip:911@sip.telnyx.com SIP/2.0
From: <sip:+13125550100@sip.telnyx.com>
To: <sip:911@sip.telnyx.com>
Geolocation: <cid:location@example.com>
Content-Type: multipart/mixed;boundary=boundary1

--boundary1
Content-Type: application/sdp

[SDP content]

--boundary1
Content-Type: application/pidf+xml
Content-ID: <location@example.com>

<?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:gml="http://www.opengis.net/gml"
          xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
          entity="sip:+13125550100@sip.telnyx.com">
  <dm:device id="device-001">
    <gp:geopriv>
      <gp:location-info>
        <gml:Point srsName="urn:ogc:def:crs:EPSG::4326">
          <gml:pos>41.8781 -87.6298</gml:pos>
        </gml:Point>
      </gp:location-info>
      <gp:usage-rules>
        <gp:retransmission-allowed>false</gp:retransmission-allowed>
      </gp:usage-rules>
    </gp:geopriv>
    <dm:timestamp>2024-01-15T10:30:00Z</dm:timestamp>
  </dm:device>
</presence>

--boundary1--

PIDF-LO requirements

ElementRequirement
<gml:pos>Latitude then longitude, space-separated
srsNameMust be urn:ogc:def:crs:EPSG::4326
<dm:timestamp>ISO 8601 format

Testing

Use test number 933 to simulate emergency calls without dispatching services.

Address field limits

FieldRequiredMax LengthPIDF-LO Element
house_numberNo6HNO
house_suffixNo45HNS
street_pre_directionalNo2PRD
street_nameYes200RD
street_suffixNo45STS
street_post_directionalNo2POD
extended_addressNo60*LOC
localityYes100A3
administrative_areaYes2A1
postal_codeYes10PC
country_codeYes2country
caller_nameNo50-
*Common terms auto-abbreviated: APARTMENT→APT, FLOOR→FL, SUITE→STE, BUILDING→BLDG, ROOM→RM