ng9-1-1 prototype demo
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Internet Real-Time Lab, Columbia University
NG9-1-1 Prototype Demo
Jong Yul Kim, Wonsang Song, and Henning Schulzrinne
NG9-1-1 Prototype Architecture
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
Conference Server
RoutingLocation
PSTN
Locating Caller using LLDP-MED
CALLER EQUIPMENT
LLDP-MED SWITCH
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 120TH 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 http://www.skyhookwireless.com
• 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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
Conference Server
RoutingLocation
PSTN
PSAP Determination Using LoST
• LoST stands forLocation-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
NY PSAP OPERATOR(ENGLISH)
NY PSAP OPERATOR(ESPANOL)
NYPD NJ PSAP OPERATOR
EMERGENCY CALLER
PSAPD (NY) PSAPD (NJ)SIP SERVER
LoST SERVER
Location +Service ID
NY PSAP
? ?
NG9-1-1 IP PSAP Features
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
Conference Server
RoutingLocation
PSTN
Map and Multimedia
Inviting NYPD into an on-going session
NY PSAP OPERATOR(ENGLISH)
NY PSAP OPERATOR(ESPANOL)
NYPD NJ PSAP OPERATOR
EMERGENCY CALLER
PSAPD (NY) PSAPD (NJ)SIP SERVER
LoST SERVER
CALL NYPDCaller ID& Location
Callback
NY PSAP OPERATOR(ENGLISH)
NY PSAP OPERATOR(ESPANOL)
NYPD NJ PSAP OPERATOR
EMERGENCY CALLER
PSAPD (NY) PSAPD (NJ)SIP SERVER
LoST SERVER
Fetching Caller Info…
Call Queue
NY PSAP OPERATOR(ENGLISH)
NY PSAP OPERATOR(ESPANOL)
NYPD NJ PSAP OPERATOR
EMERGENCY CALLER
PSAPD (NY) PSAPD (NJ)SIP SERVER
LoST SERVER
BUSY BUSY
Play Announcement
Call Overflow
NY PSAP OPERATOR(ENGLISH)
NY PSAP OPERATOR(ESPANOL)
NYPD NJ PSAP OPERATOR
EMERGENCY CALLER
PSAPD (NY) PSAPD (NJ)SIP SERVER
LoST SERVER
BUSY 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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
• 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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
DHCP Server
LIS
GPS
SkyhookCDP
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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
psapd handles an incoming call
• All signals go through psapd
• psapd controls conference instances through MSCML
• Media is directed to conference server
caller psapd conf.server
call taker
(2) INVITE calltaker(loc, no SDP)
Call-info: <sos call’s confuri>; purpose=incident
(1) INVITE psap(loc, SDP1)
(4) INVITE calltaker conf.(no loc, SDP2)
(5) 200 OK(SDP2')
(7) ACK(SDP2')
(6) ACK
(8) media
(9) INVITE caller conf.(no loc, SDP1)
(10) 200 OK(SDP1')
(11) 200 OK(SDP1')
(12) ACK
(13) ACK
(14) media
(15) sos call established
(3) 200 OK(SDP2)
180 Ringing
180 Ringing
Make Conference
Select Available Calltaker
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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
Conference Server
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
911112
sip:psap@domain2w/location
POTS/Wireless Network
SIP UA
911
sip:psap@domain2with location
GeoLynx /Google Maps
DHCP Server
PSAP Info
Location
LoST Cluster
geo locationcivil location
psapd
3PCC Controller
IP Gateway
Local SIP Proxy
PSAP
PSAP SIP Proxy
sip:psap@domain2with location
sip:rep@domain2with location
urn:service:sosw/out location
LIS
Location InfoLocation
key
GPS
Location Info
Conference Server
LoST Cluster
SIP proxy
call taker
SOS caller
(1) Location
Location + Service Identifier
(2)
INVITE PSAP URLTo: urn:service:sos
<Location>
(5)
INVITE PSAP URLTo: urn:service:sos
<Location>
(6)
(4)
dial emergency dial-string
or
push emergency button
Emergency Call Flow
(3)
PSAP URL + emergency dial-string
INVITE call takerFrom: caller<Location>(7)
Media Stream 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
Segment from switch 2/port 5
Switch 2
Path of CDP advertisement
SIP UA
InvokecdpCap
cdpCap listens to advertisements
Send switch/port information
Physical location
Switch/port
LIS
SkyHook for Location
Taken from http://www.skyhookwireless.com
• 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
http://honamsun.cs.columbia.edu:8080/index.jsp
Demo 3 : Multimedia and Mapping
Demo 4 : Inviting third partycaller psapd conf.
servercall taker
(2) 202 ACCEPTED
(1) REFER (refer-to:3rd-party)
(0) sos call established
3rd party
(3) NOTIFY (100 Trying)
(4) 200 OK
(5) INVITE 3rd-party(loc, no SDP)
(6) 200 OK(SDP3)
(7) INVITE 3rd-party conf.(no loc, SDP3)
(8) 200 OK(SDP3')
(9) ACK
(10) ACK(SDP3')
(11) media
(12) NOTIFY (200 OK)
(13) 200 OK
(14) multi-party sos call established
Demo 5 : Fully / Partially Mute
Demo 6 : Callback
(1) INVITE psapCall-info: <original sos call’s confuri>; purpose=callback
(SDP1)
caller psapdconf.
servercall taker
(2) INVITE callerIn-Reply-To: <original
sos call’s callid>(no loc, no SDP)
(3) 200 OK(loc, SDP2)
(4) INVITE caller conf.(no loc, SDP2)
(5) 200 OK(SDP2')
(7) ACK(SDP2')
(6) ACK
(8) media
(9) INVITE calltaker conf.(no loc, SDP1)
(10) 200 OK(SDP1')
(11) 200 OKCall-info: <sos call’s confuri>; purpose=incident
(loc, SDP1')
(12) ACK
(13) ACK
(14) media
(15) sos call established
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
SUBSCRIBENOTIFY
INVITE
REDIRECT
INVITE
Demo 9 : Overflow Control
SUBSCRIBENOTIFY
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