NG9-1-1 Prototype Demo

Post on 14-Jan-2016

34 views 1 download

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 Presentation

Transcript of NG9-1-1 Prototype Demo

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