Emergency Call Routing Function in Next Generation Emergency Services
The purpose of this post is to teach the basics regarding the systems, tools and services involved in the next generation emergency services regarding Geospatial Information Systems (GIS).
NENA elaborated and published a document called i3, where Next Generation Services are defined. i3 is an industry standard document that defines the future architecture of the Emergency Services. The most important functional element regarding GIS in the i3 Spec is the Emergency Call Routing Function (ECRF).
1. I3 ECRF (Emergency Call Routing Function)
ECRF is the most involved function in the I3 GIS context. It is responsible of routing emergency calls to the appropriate PSAP based on the location of the caller. In addition, PSAPs may utilize the same routing functionality to determine how to route emergency calls to the correct responder.
ECRF is a LoST protocol server implementation used in 9-1-1 call routing. The server accepts requests containing:
- Location information (either civic address or geodetic coordinates)
- Service URN (Uniform Resource Name) identifies a particular service type such as 9-1-1 Public Safety Answering Point (PSAP), Fire, Medical, Poison Control, or Coast Guard. As an example the service URN for 9-1-1 is urn:service:sos.
It will return a URI indicating the next-hop used to route an emergency call toward the appropriate PSAP. In this context a Uniform Resource Identifier URI is a string of characters used to identify a particular resource, such as a 9-1-1 Answering Point, another ECRF, or an Emergency Services Routing Proxy (ESRP). For example, a URI for a 9-1-1 Public Safety Answering Point (PSAP) might look like sip:firstname.lastname@example.org.
2. LoST Protocol (Location-to-Service Translation Protocol)
It is an XML based protocol for mapping service identifiers and geodetic or civic location information compatible with the Presence Information Data Format Location Object (PIDF-LO) to service contact URIs. LoST messages are carried in HTTP and HTTPS protocols, easing the use of TLS to provide integrity and confidentiality in requests and responses.
LoST provides different operations based on mapping locations and service URNs. ECRF in Next Generation Emergency
Services uses two main functions:
findServiceResponse. This post will be focused on these two functions.
<findService> geodetic coordinates query
<findService> civic address query text
Given a query, a server would respond with a service and information related to that service. In the example below, the server has mapped the location given by the client to a “Zaleos PSAP” 9-1-1 Answering Point and it’s instructing the client that it may contact it via the URIs sip:email@example.com. The server has also given the client some additional information about when this information expires and the last update date.
3. Creating a dataset using QGIS
We are going to proceed with an example about how to create and edit GIS data for an ECRF instance and check if it is working properly.
To do this, we will introduce QGIS. QGIS is a cross-platform free and open-source desktop geographic information system (GIS) application that supports viewing, editing, and analysis of geospatial data.
We are going to create a new layer containing polygons representing two different areas. Each area is a coverage zone
for a different 9-1-1 Answering Point. Then we will associate some information related to each 9-1-1 Answering
Point, called attributes, to these polygons. We will name this layer
sos because it is going to be associated with the
To ease job we are going to use Open Layers Plugin, to add a
new layer with OpenStreet Maps information. Then we will pull up
sos layer to make it visible. Then we will zoom into
the region we want to define PSAP boundaries.
After that, we will set the layer
sos as editable and we will create a new polygon. We can add as many point as we want.
After defining the polygon points, the tool will ask us to input attributes associated with this polygon.
In order to ensure we don’t leave gaps between areas, we’ll split this polygon in two polygons. To split it
we will use the
Split Feature tool in the edit menu and we will trace some lines dividing the polygon in two parts.
Then if we open the attributes table we will notice we have two rows, representing two features. We will update the new feature
to have different values.
After that we will save the changes and load them into our ECRF instance.
4. Sending queries to ECRF
4.a) PSAP1 area
Geodetic point (40.4077964358, -3.84431256912) is in PSAP1 area.
4.b) PSAP2 area
Geodetic point (40.4051023711, -3.83470764252) is in PSAP2 area.
4.c) Out of coverage area
Geodetic point (40.4054537708, -3.86932051826) it’s outside of our coverage area.
In this post we learnt how NENA designs their interfaces using widely extended and well known standards, for example LoST protocol. Then we learnt with a basic example how GIS information looks, how to manipulate it with QGIS and how it’s used in an ECRF instance. Finally, we saw how we can use that information to enhance emergency call routing showing how an ECRF instance works.
In summary, here we illustrate with a very basic example how GIS information is critical in some Emergency Services applications and the huge benefits that it could provide.