Using Instant Messaging and Using Instant Messaging and Short Message Service for Short Message Service for
Emergency Text CommunicationsEmergency Text Communications
Wonsang SongJong Yul Kim
Henning Schulzrinne
Dept. of Computer ScienceColumbia University
Piotr BoniMichael Armstrong
VerizonNetwork and Technology
July 2009
AgendaAgenda
• General OverviewGeneral Overview– BackgroundBackground
– Next Generation 9-1-1 (NG 9-1-1)Next Generation 9-1-1 (NG 9-1-1)
• Technical OverviewTechnical Overview– Prototype ArchitecturePrototype Architecture
• Instant Messaging (IM)Instant Messaging (IM)
• Short Messaging Service (SMS)Short Messaging Service (SMS)
• ConclusionConclusion
BackgroundBackground• Text communications is ubiquitous in the US.Text communications is ubiquitous in the US.
– 71 million IM users in 2007 71 million IM users in 2007 Source: comScoreSource: comScore
– 263 million mobile telephone service subscribers263 million mobile telephone service subscribers601 billion SMS messages in 2008 601 billion SMS messages in 2008 (SMS is up 954% from 2005) (SMS is up 954% from 2005) Source: CTIA – The Wireless Association; FCC.Source: CTIA – The Wireless Association; FCC.
• But it is limited in emergency use.But it is limited in emergency use.– Anonymous crime tips in Boston and New YorkAnonymous crime tips in Boston and New York– Text alerts on university campusesText alerts on university campuses
• Text communications have advantages in emergency situation.Text communications have advantages in emergency situation.– When voice calls are not possibleWhen voice calls are not possible– For speech/hearing impairedFor speech/hearing impaired
Project goalsProject goals
• Research methods to integrate IM and SMS into the NG9-1-1 Research methods to integrate IM and SMS into the NG9-1-1 architecturearchitecture
• Investigate ways to maintain a “live session” with the call taker when Investigate ways to maintain a “live session” with the call taker when using IM or SMSusing IM or SMS
• Verify the approach on a working prototypeVerify the approach on a working prototype
NG9-1-1 architectureNG9-1-1 architecture
Emergency Services IP Network (ESInet)Network used by emergency caller to ask for helpExamples: PSTN, VoIP, Cellular (SMS), IM
Role1. Determine location of caller2. Route call to ESInet3. Protocol conversion
9-1-1
Call OriginationNetwork
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…
SIP-based network of IP PSAPs managed by the emergency authorities
Adding IM to NG9-1-1Adding IM to NG9-1-1
9-1-1
IM Network
SMS Network(Cellular network)
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…Telematics Network
VoIP NetworkPSTN Network
Adding IM to NG9-1-1 (1)Adding IM to NG9-1-1 (1)
• Problem: Most IM providers use proprietary protocols.Problem: Most IM providers use proprietary protocols.– AOL, Yahoo!, MicrosoftAOL, Yahoo!, Microsoft
• Fortunately, providers already use standard protocols Fortunately, providers already use standard protocols such as SIP or XMPP to interconnect IM services. such as SIP or XMPP to interconnect IM services. – Yahoo! and Microsoft use SIP.Yahoo! and Microsoft use SIP.– AOL and Google use XMPP.AOL and Google use XMPP.
• Prototype uses SIP MESSAGE method to add IM to Prototype uses SIP MESSAGE method to add IM to NG9-1-1.NG9-1-1.
IM clientIM client
• SIP CommunicatorSIP Communicator– Open source, Java-based, VoIP and IM Open source, Java-based, VoIP and IM
clientclient with SIP presence with SIP presence– Multi-protocol instant messengerMulti-protocol instant messenger
• SIP, SIP, XMPP/Jabber (Google talk)XMPP/Jabber (Google talk), , AIM/ICQ, MSN Messenger, Yahoo! AIM/ICQ, MSN Messenger, Yahoo! Messenger, Bonjour, IRC, RSS Messenger, Bonjour, IRC, RSS
– Uses JAIN SIP Uses JAIN SIP stackstack– Based on the OSGi architecture and Based on the OSGi architecture and
using the Apache Felix implementationusing the Apache Felix implementation
SOS Button
Location Button
messagemessage
header fieldsheader fields
request linerequest line MESSAGE urn:service:sos SIP/2.0From: <sip:[email protected]>;tag=e778529To: <urn:service:sos>Route: <sip:esrp.ng911.gov;lr>Geolocation: cid:[email protected] ;inserted-by="[email protected]"Content-Length: 1123--------------------------Content-Type: text/plain
Help me..--------------------------Content-ID: <[email protected]>Content-Type: application/pidf+xml
<presence> <tuple id="id94954"> <status> <gp:geopriv> <gp:location-info> <cl:civicAddress> <cl:country>US</cl:country> <cl:A1>NY</cl:A1> <cl:A3>New York</cl:A3> <cl:A6>Amsterdam Ave</cl:A6> <cl:HNO>1214</cl:HNO> <cl:PC>10027</cl:PC> </cl:civicAddress> </gp:location-info> <gp:method>Manual</gp:method> </gp:geopriv> </status></tuple></presence>
PIDF-LOPIDF-LO
SIP MESSAGE SIP MESSAGE from sender’s UAfrom sender’s UA
IM message flow IM message flow
IM Network
IM Client
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A
…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…
LoST Server
LoST
SIP
“Burglary!”LoST
SIP
SIP Proxy
Location
LLDP-MEDManual Entry
Adding IM to NG9-1-1 (2)Adding IM to NG9-1-1 (2)
• Problem: Every message from the same Problem: Every message from the same ‘session’ should go to the same call taker.‘session’ should go to the same call taker.
• Prototype keeps record of user’s address Prototype keeps record of user’s address and destination to deliver messages and destination to deliver messages consistently to one call taker.consistently to one call taker.
Session-keeping mechanismsSession-keeping mechanisms
IM Network
SOS
IM Client
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A
…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…
LoST Server
“Burglary!”
- Associate logical session to UI.
- Use the initial ESRP URI while chat window is open.
- Create logical session and keep using it until call taker closes it.
- Create soft state.- Ignore other routing policies such as LoST.
- Close the logical session explicitly when conversation is over.
SIP Proxy
Adding SMS to NG9-1-1Adding SMS to NG9-1-1
9-1-1
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…Telematics Network
VoIP NetworkPSTN Network
SMS Network(Cellular network)
IM Network
Adding SMS to NG9-1-1 (1)Adding SMS to NG9-1-1 (1)
• Problem: Location information must be included in Problem: Location information must be included in emergency messages.emergency messages.
• Location is configured using assisted GPS on cell Location is configured using assisted GPS on cell phones.phones.– This is an example of an endpoint-centric solution.This is an example of an endpoint-centric solution.
• Location is included in the Location is included in the SMS message.SMS message.
26/160To: 911Text:Someone in my house.Please send help ASAP.[+40.9625 -73.5684]
Adding SMS to NG9-1-1 (2)Adding SMS to NG9-1-1 (2)
• Problem: SMS and SIP are different Problem: SMS and SIP are different protocols.protocols.
• Prototype uses SMS gateway to convert Prototype uses SMS gateway to convert SMS to SIP.SMS to SIP.
SMS gatewaySMS gateway
Step1: extract phone number, message, and locationStep1: extract phone number, message, and location
Step2: query LoST to resolve the ESRP URIStep2: query LoST to resolve the ESRP URI
Step3: compose a SIP MESSAGE request (SIP From header: sip: phone number @ IP address of the SMS gateway)Step3: compose a SIP MESSAGE request (SIP From header: sip: phone number @ IP address of the SMS gateway)
CellularPhone
ESRP
Emergency Service Network
Service Provider Network
SMS + Location
Location
LoST Server
Location ESRP URI
SMS Center
SIP Message + Location
Service ProxySMPP Gateway
Wireless Network
Sybase 365Production Server
HTTP POSTPSAP
PSAP
SMS Gateway
SMS GW
SMS message flowSMS message flow
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A
…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…
SIP
LoST
SIP
SMSC SMPP Gateway
Cellular phone
LoST Server
“Burglary!”
Service Proxy
Sybase 365
Location
SMS
LoST
SMS
Adding SMS to NG9-1-1 (3)Adding SMS to NG9-1-1 (3)
• Problem: Every message from the same Problem: Every message from the same ‘session’ should go to the same call taker.‘session’ should go to the same call taker.
• Prototype keeps record of the user’s phone Prototype keeps record of the user’s phone number and the destination URL to deliver number and the destination URL to deliver messages consistently to one call taker.messages consistently to one call taker.
• Call taker has control over the session. The Call taker has control over the session. The session is released by the call taker.session is released by the call taker.
SMS GW
SMSC SMPP Gateway
Session-keeping mechanismsSession-keeping mechanisms
PSAP SIP Proxy
ACDCall Takers
Conference Server
Emergency Services IP Network (ESInet)
Emergency Services Routing Proxy (ESRP)
Location-to-Service Translation (LoST)
Server
IP PSAP A
…
. . .
PSAP SIP Proxy
ACDCall Takers
IP PSAP Z
…
Cellular phone
LoST Server
“Burglary!”
- Create soft state- Messages from same sender are routed to the same ESRP - Create logical session
and keep using it until call taker closes it.
- Create soft state- Ignore other routing policies such as LoST
- Close the logical session explicitly when conversation finishes
Service Proxy
Sybase 365
ConclusionConclusion• IM and SMS communications can be integrated into an IP PSAP IM and SMS communications can be integrated into an IP PSAP
using SIP.using SIP.
• Location can be configured and delivered with the message.Location can be configured and delivered with the message.
• Messages can be delivered consistently to the same call taker as if Messages can be delivered consistently to the same call taker as if it were a “session”.it were a “session”.– Mechanism within ESInet is the same for IM and SMS.Mechanism within ESInet is the same for IM and SMS.
• Prototype software developedPrototype software developed– SIP Communicator – modified open source, Java-based VoIP/IM clientSIP Communicator – modified open source, Java-based VoIP/IM client– Service Proxy a.k.a. HTTP-SIP Gateway as part of the SMS GW Service Proxy a.k.a. HTTP-SIP Gateway as part of the SMS GW
functionalityfunctionality– Stateful components in the emergency networkStateful components in the emergency network
Two approaches for location Two approaches for location
Endpoint-centric SolutionEndpoint-centric Solution
• Location is configured by the Location is configured by the endpoint.endpoint.– A-GPSA-GPS
• Location is inserted by the Location is inserted by the endpoint.endpoint.– SMS applicationSMS application
• We are using this solution.We are using this solution.
Network-centric SolutionNetwork-centric Solution
• Location is configured by the Location is configured by the network.network.– Mobile Positioning Center Mobile Positioning Center
(MPC)(MPC)– Position Determining Position Determining
Equipment (PDE)Equipment (PDE)
• Location is inserted by the Location is inserted by the network.network.– SMS GatewaySMS Gateway
Service Proxy a.k.a. HTTP-SIP GWService Proxy a.k.a. HTTP-SIP GW
• Web application running on Apache Tomcat serverWeb application running on Apache Tomcat server– Jointly developed using Java Servlet APIJointly developed using Java Servlet API
• SIP client runs in parallel within the web application.SIP client runs in parallel within the web application.– Developed using JAIN SIP stackDeveloped using JAIN SIP stack
• FeaturesFeatures– Converts from HTTP to SIP and vice versaConverts from HTTP to SIP and vice versa– Queries LoST in order to forward message to an appropriate Queries LoST in order to forward message to an appropriate
ESRPESRP– Keeps record of phone numbers and destination ESRP for a Keeps record of phone numbers and destination ESRP for a
limited time to maintain sessionlimited time to maintain session
Wireless network message flowWireless network message flow
LGChocolate
Phone
Emergency Services IP Network
Service Provider Network
SMS + Location
Location
Columbia IRT LabLoST Server
Location ESRP URI
SMS Center
IP PSAP
SIP Message + Location
Columbia IRT LabService Proxy
SMPP Gateway
VerizonWireless Lab
Network
Sybase 365Production
Messaging Server
Sybase 365 Lab Server
Columbia IRT LabLoST Server
Location PSAPURI
HTTPPOST
SMS + Location
ESRP
IP PSAP10 Digit Long Code
Provisioned on SMPP GW to point to Sybase 365
System ID
SMS 10 Digit Longcode used: 1093600000
SMS Shortcode used: 10936
10 Digit Long Code Provisioned on SMSC to Point to SMPP Gateway
HTTP client and server on Sybase 365 Server and HTTP client and server on
Service Proxy
How can we start today? How can we start today?
IM Network
IM Client
PSAP SIP Proxy
ACD
Call Taker
Emergency Services IP Network (ESInet)
LoST Server
IP PSAP
Call Taker
LoST Server
“Burglary!”
LLDP-MEDManual Entry
ESRP
TelephoneALI Controller
Today’s PSAP
IM Call Taker
SelectiveRouter
IM Client; preferably SIP-based
Verizon dedicated,
secure IM server(s)
911 voice calls
IM-SIP/SMS-SIP
Gateway
…
Text Message + Location
…
- Potential SIP conversion point
FiOS ONT Box
Next stepsNext steps
• Propose solutions to standards organizationsPropose solutions to standards organizations
• Work on sending multimedia messages (MMS) to an IP Work on sending multimedia messages (MMS) to an IP PSAPPSAP
• Explore how commercial IM networks can be integrated Explore how commercial IM networks can be integrated into Emergency Networkinto Emergency Network– Build or re-use an IM gateway for proprietary protocolsBuild or re-use an IM gateway for proprietary protocols