Internet Real-Time Lab, Columbia University NG9-1-1 Prototype Demo Jong Yul Kim, Wonsang Song, and Henning Schulzrinne
NG9-1-1 Prototype Architecture RoutingLocation PSTN
Locating Caller using LLDP-MED LLDP-MED stands for: * Link Layer Discovery Protocol “ a vendor-neutral Layer 2 protocol that allows a network device to advertise its identity and capabilities on the local network.” Media Endpoint Discovery “ an enhancement to the LLDP that allows discovery of other things including location “ “I am LLDP-MED Capable. I can process location information.” “Your location is: 500 W 120 TH st. New York NY 10027” * From Wikipedia
Locating caller using DHCP Mainly for stationary users We modified ISC’s dhcpd to generate location information Use MAC address to get location information DHCP Server or request response DHCPINFORM [MAC=00:11:20:9d:a0:03] DHCPACK [option=0:US:1:NY:2:NEW YORK: 3:NEW YORK:6:AMSTERDAM:19:1214]
Locating Caller using Skyhook Taken from Mainly for nomadic, mobile users Wireless device receives signals from Wi-Fi sites in range Skyhook compares signals to its database of geographically known locations Location data is used to direct safety services
NG9-1-1 Call Routing RoutingLocation PSTN
PSAP Determination Using LoST LoST stands for Location-to-Service Translation Work in progress at IETF ECRIT WG Caller’s location Service identifier (urn:service:sos) + Service provider (PSAP URL) Emergency Dial String +
Demo of call routing Location + Service ID NY PSAP ? ?
NG9-1-1 IP PSAP Features RoutingLocation PSTN
Map and Multimedia
Inviting NYPD into an on-going session CALL NYPD Caller ID & Location
Callback Fetching Caller Info…
Call Queue BUSY Play Announcement
Call Overflow BUSY Even the queue is full! Redirect call to a backup PSAP
Call logs and recorded sessions
Q&A Do you have any question?
SIPc, a multi-function SIP UA Function (caller side) –Identifies and initiates emergency call –Determines location from various sources Function (calltaker side) –Interfaces with location mapping software –Shows calltaker status, responder list, incident type Implementation –Tcl/Tk based User Interface and SIP stack –External programs for audio, video, application sharing, stun, etc.
Location Information Sources Function –Provides location information to SIPc Implementation –GPS : USB device and NMEA 0183 parser –Location Information Server built using Apache, MySQL, and PHP
LoST Cluster Function –Translates (Location, Service) to a PSAP URL and emergency dial string –Verifies civic address Implementation –PostgreSQL with PostGIS extension as a Database US county boundary polygons to simulate geo PSAP boundary Sample MSAG data for civic PSAP boundary –Tomcat + Axis for Web Service
sipd, a SIP proxy and registrar Function –Routes call to destination –Resolves SIP URL to a reachable address –Invokes sip-cgi for in-network special services Implementation –CINEMA (Columbia InterNet Extensible Multimedia Architecture) –sip-cgi is perl-based
psapd, a back-to-back SIP UA Function –Facilitates multi-party conference setup –Distributes incoming call to call takers –Logs call details Implementation –CINEMA C++ library (libsipapi) –Call distribution logic is written in Tcl
psapd handles an incoming call All signals go through psapd psapd controls conference instances through MSCML Media is directed to conference server
Conference Server Function –Mixes and records audio –Distributes video –Call Queuing –Interactive Voice Response Implementation –sipconf from CINEMA –Snowshore IP Media Server from Cantata Technology
Location Mapping Software Function –Plots caller’s location and other information on a local map –Shows nearby responders on map Implementation –Geolynx Mapping System from GeoComm –Google Maps
LoST Cluster SIP proxy call taker SOS caller (1)Location Location + Service Identifier (2) INVITE PSAP URL To: urn:service:sos (5) INVITE PSAP URL To: urn:service:sos (6)(4) dial emergency dial- string or push emergency button Emergency Call Flow (3) PSAP URL + emergency dial-string INVITE call taker From: caller (7)(7) Media Stream
Demo 1 : Location Determination DHCP CDP SkyHook
DHCP for Location Mainly for stationary users We modified ISC’s dhcpd to generate location information Use MAC address to get location information DHCP Server or request response DHCPINFORM [MAC=00:11:20:9d:a0:03] DHCPACK [option=0:US:1:NY:2:NEW YORK: 3:NEW YORK:6:AMSTERDAM:19:1214]
CDP for Location Mainly for stationary and nomadic users Cisco Discovery Protocol (Layer2) Cisco switches broadcast switch/port ID periodically. A Switch covers a floor, a port leads to a jack in a room -> room-level accuracy
SkyHook for Location Taken from Mainly for nomadic, mobile users Wireless device receives signals from Wi-Fi sites in range Skyhook compares signals to its database of geographically known locations Location data is used to direct safety services
Demo 2 : LoST
Demo 3 : Multimedia and Mapping
Demo 4 : Inviting third party
Demo 5 : Fully / Partially Mute
Demo 6 : Callback
Demo 7 : Logging
Demo 8 : Automatic Call Distribution Based on availability of call taker Language-based distribution Queue –Auto-Response based on time and location of new incoming call
Demo 9 : Overflow Control SUBSCRIBENOTIFY INVITE REDIRECT INVITE
Demo 9 : Overflow Control SUBSCRIBENOTIFY INVITE
Future Work Implement additional Features –Auto-Response based on time and location of incoming call –Video Push to caller (e.g. CPR how-to) Measuring and reducing latency
More Information A VoIP Emergency Services Architecture and Prototype –Matthew Mintz-Habib, Anshuman Rawat, Henning Schulzrinne, and Xiaotao Wu –ICCCN 2005, Oct An Enhanced VoIP Emergency Services Prototype –Jong Yul Kim, Wonsang Song, and Henning Schulzrinne –ISCRAM 2006, May 2006 More information available on