ng9-1-1 prototype demo
DESCRIPTION
NG9-1-1 Prototype Demo. Jong Yul Kim, Wonsang Song, and Henning Schulzrinne. Overview. Prototype Architecture and Components Demonstration of Features Demo 1 : Location determination Demo 2 : Call Routing Demo 3 : Multimedia and Mapping Demo 4 : Inviting third party - PowerPoint PPT PresentationTRANSCRIPT
Internet Real-Time Lab, Columbia University
NG9-1-1 Prototype Demo
Jong Yul Kim, Wonsang Song, and Henning Schulzrinne
Overview
• Prototype Architecture and Components• Demonstration of Features
– Demo 1 : Location determination – Demo 2 : Call Routing– Demo 3 : Multimedia and Mapping– Demo 4 : Inviting third party– Demo 5: Fully Mute / Partially Mute– Demo 6 : Callback– Demo 7 : Logging– Demo 8 : Queue– Demo 9 : Overload Control
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
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