440 likes | 612 Views
NG9-1-1 Prototype Demo. Jong Yul Kim, Wonsang Song, and Henning Schulzrinne. Location. Routing. PSTN. NG9-1-1 Prototype Architecture. Locating Caller using LLDP-MED. LLDP-MED stands for: * Link Layer Discovery Protocol
E N D
NG9-1-1 Prototype Demo Jong Yul Kim, Wonsang Song, and Henning Schulzrinne
Location Routing PSTN NG9-1-1 Prototype Architecture
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“ * From Wikipedia “I am LLDP-MED Capable. I can process location information.” “Your location is: 500 W 120TH st. New York NY 10027”
DHCPINFORM [MAC=00:11:20:9d:a0:03] request or response DHCPACK [option=0:US:1:NY:2:NEW YORK: 3:NEW YORK:6:AMSTERDAM:19:1214] DHCP Server Locating caller using DHCP • Mainly for stationary users • We modified ISC’s dhcpd to generate location information • Use MAC address to get location information
Locating Caller using Skyhook • 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 Taken from http://www.skyhookwireless.com
Location Routing PSTN NG9-1-1 Call Routing
Caller’s location Service provider (PSAP URL) + Service identifier (urn:service:sos) PSAP Determination Using LoST • LoST stands for Location-to-Service Translation • Work in progress at IETF ECRIT WG + Emergency Dial String
Demo of call routing ? ? Location + Service ID NY PSAP
Location Routing PSTN NG9-1-1 IP PSAP Features
Inviting NYPD into an on-going session CALL NYPD Caller ID & Location
Callback Fetching Caller Info…
Call Queue BUSY BUSY Play Announcement
Call Overflow BUSY BUSY Even the queue is full! Redirect call to a backup PSAP
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
(2) Location + Service Identifier (3) PSAP URL + emergencydial-string (1) Location INVITE call taker From: caller <Location> (7) INVITE PSAP URL To: urn:service:sos <Location> (5) (4) INVITE PSAP URL To: urn:service:sos <Location> (6) dial emergency dial-string or push emergency button Media Stream Media Stream Emergency Call Flow LoSTCluster SOS caller SIP proxy call taker
Demo 1 : Location Determination • DHCP • CDP • SkyHook
DHCPINFORM [MAC=00:11:20:9d:a0:03] request or response DHCPACK [option=0:US:1:NY:2:NEW YORK: 3:NEW YORK:6:AMSTERDAM:19:1214] DHCP Server DHCP for Location • Mainly for stationary users • We modified ISC’s dhcpd to generate location information • Use MAC address to get location information
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 • 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 Taken from http://www.skyhookwireless.com
Demo 2 : LoST http://honamsun.cs.columbia.edu:8080/index.jsp
Demo 7 : Logging http://ng911serv.cs.columbia.edu/psap/
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 SUBSCRIBE NOTIFY INVITE REDIRECT INVITE
Demo 9 : Overflow Control SUBSCRIBE NOTIFY INVITE 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. 2005 • An Enhanced VoIP Emergency Services Prototype • Jong Yul Kim, Wonsang Song, and Henning Schulzrinne • ISCRAM 2006, May 2006 • More information available on http://ng911.tamu.edu