NG9-1-1 Prototype Demo Internet Real-Time Lab, Columbia University Jong Yul Kim, Wonsang Song,
Download
Report
Transcript NG9-1-1 Prototype Demo Internet Real-Time Lab, Columbia University Jong Yul Kim, Wonsang Song,
NG9-1-1 Prototype Demo
Jong Yul Kim, Wonsang Song,
and Henning Schulzrinne
Internet Real-Time Lab,
Columbia University
NG9-1-1 Prototype Architecture
Location
GPS
Routing
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
sip:psap@domain2
w/location
911
112
PSAP
sip:psap@domain2
with location
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
Conference
Server
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
PSTN
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
Locating Caller using LLDP-MED
LLDP-MED stands for: *
* From Wikipedia
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.”
CALLER
EQUIPMENT
LLDP-MED
SWITCH
“Your location is:
500 W 120TH st. New York NY 10027”
Locating caller using DHCP
•
•
•
Mainly for stationary users
We modified ISC’s dhcpd to generate location information
Use MAC address to get location information
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 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
NG9-1-1 Call Routing
Location
GPS
Routing
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
sip:psap@domain2
w/location
911
112
PSAP
sip:psap@domain2
with location
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
Conference
Server
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
PSTN
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
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
NYPD
NY PSAP
OPERATOR
(ENGLISH)
?
NY PSAP
OPERATOR
(ESPANOL)
NJ PSAP
OPERATOR
?
LoST SERVER
Location +
Service ID
SIP SERVER
NY PSAP
EMERGENCY CALLER
PSAPD (NY)
PSAPD (NJ)
NG9-1-1 IP PSAP Features
Location
GPS
Routing
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
sip:psap@domain2
w/location
911
112
PSAP
sip:psap@domain2
with location
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
Conference
Server
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
PSTN
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
Map and Multimedia
Inviting NYPD into an on-going session
NYPD
NY PSAP
OPERATOR
(ENGLISH)
Caller ID
& Location
NY PSAP
OPERATOR
(ESPANOL)
NJ PSAP
OPERATOR
CALL NYPD
LoST SERVER
SIP SERVER
EMERGENCY CALLER
PSAPD (NY)
PSAPD (NJ)
Callback
NYPD
NY PSAP
OPERATOR
(ENGLISH)
NY PSAP
OPERATOR
(ESPANOL)
NJ PSAP
OPERATOR
LoST SERVER
SIP SERVER
PSAPD (NY)
Fetching Caller Info…
EMERGENCY CALLER
PSAPD (NJ)
Call Queue
NYPD
NY PSAP
OPERATOR
(ENGLISH)
BUSY
NY PSAP
OPERATOR
(ESPANOL)
NJ PSAP
OPERATOR
BUSY
LoST SERVER
SIP SERVER
PSAPD (NY)
Play Announcement
EMERGENCY CALLER
PSAPD (NJ)
Call Overflow
NJ PSAP
OPERATOR
NYPD
NY PSAP
OPERATOR
(ENGLISH)
BUSY
NY PSAP
OPERATOR
(ESPANOL)
BUSY
LoST SERVER
SIP SERVER
EMERGENCY CALLER
PSAPD (NY)
PSAPD (NJ)
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
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
sip:psap@domain2
w/location
911
112
PSAP
sip:psap@domain2
with location
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
• 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
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
PSAP
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
LIS
sip:psap@domain2
with location
sip:psap@domain2
w/location
911
112
Local SIP Proxy
civil location
geo location
DHCP Server
GPS
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
CDP
Skyhook
• 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
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
PSAP
sip:psap@domain2
with location
sip:psap@domain2
w/location
911
112
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
• 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
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
PSAP
sip:psap@domain2
with location
sip:psap@domain2
w/location
911
112
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
• 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
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
PSAP
sip:psap@domain2
with location
sip:psap@domain2
w/location
911
112
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
• 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
caller
conf.
server
psapd
call taker
(1) INVITE psap
(loc, SDP1)
Make Conference
Select Available
Calltaker
(2) INVITE calltaker
(loc, no SDP)
Call-info: <sos call’s confuri>; purpose=incident
• All signals go through psapd
180 Ringing
180 Ringing
• psapd controls conference
instances through MSCML
(3) 200 OK
(SDP2)
(4) INVITE calltaker conf.
(no loc, SDP2)
(5) 200 OK
(SDP2')
• Media is directed to
conference server
(6) ACK
(7) ACK
(SDP2')
(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
Conference Server
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
PSAP
sip:psap@domain2
with location
sip:psap@domain2
w/location
911
112
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
Conference
Server
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
• 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
GPS
LIS
Location
Info
DHCP Server
Location
key
Location
Info
LoST Cluster
Location
PSAP
Info
PSAP
sip:psap@domain2
with location
sip:psap@domain2
w/location
911
112
SIP UA
PSAP SIP Proxy
urn:service:sos
w/out location
Local SIP Proxy
Conference
Server
civil location
geo location
sip:psap@domain2
with location
sip:rep@domain2
with location
911
POTS/Wireless
Network
IP Gateway
psapd
3PCC Controller
GeoLynx /
Google Maps
• 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
Emergency Call Flow
(2)
Location +
Service
Identifier
(1) Location
LoST Cluster
(3)
PSAP URL +
emergency
dial-string
INVITE call taker
From: caller
(7) <Location>
(6)
(4)
SOS caller
(5)
dial emergency dialstring
or
INVITE PSAP URL
To: urn:service:sos
SIP proxy
INVITE PSAP URL
To: urn:service:sos
<Location>
<Location>
push emergency
button
call taker
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
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
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
Switch 2
Path of CDP
advertisement
Segment from
switch 2/port 5
Physical
location
Invoke
cdpCap
cdpCap listens to
advertisements
Switch/port
LIS
SIP UA
Send switch/port
information
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 3 : Multimedia and Mapping
Demo 4 : Inviting third party
caller
conf.
server
psapd
call taker
(0) sos call established
(1) REFER (refer-to:3rd-party)
(2) 202 ACCEPTED
(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
3rd party
Demo 5 : Fully / Partially Mute
Demo 6 : Callback
caller
conf.
server
psapd
(2) INVITE caller
In-Reply-To: <original
sos call’s callid>
(no loc, no SDP)
(3) 200 OK
(loc, SDP2)
call taker
(1) INVITE psap
Call-info: <original sos call’s confuri>; purpose=callback
(SDP1)
(4) INVITE caller conf.
(no loc, SDP2)
(5) 200 OK
(SDP2')
(6) ACK
(7) ACK
(SDP2')
(8) media
(9) INVITE calltaker conf.
(no loc, SDP1)
(10) 200 OK
(SDP1')
(11) 200 OK
Call-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
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