Using Instant Messaging and Short Message Service for Emergency Text Communications Wonsang Song Jong Yul Kim Piotr Boni Michael Armstrong Henning Schulzrinne Dept. of Computer Science Columbia University July 2009 Verizon Network and Technology Agenda • General Overview – Background – Next Generation 9-1-1 (NG 9-1-1) • Technical Overview – Prototype Architecture • Instant Messaging (IM) • Short Messaging Service (SMS) • Conclusion Background • Text communications is ubiquitous in the US. – 71 million IM users in 2007 Source: comScore – 263 million mobile telephone service subscribers 601 billion SMS messages in 2008 (SMS is up 954% from 2005) Source: CTIA – The Wireless Association; FCC. • But it is limited in emergency use. – Anonymous crime tips in Boston and New York – Text alerts on university campuses • Text communications have advantages in emergency situation. – When voice calls are not possible – For speech/hearing impaired Project goals • Research methods to integrate IM and SMS into the NG9-1-1 architecture • Investigate ways to maintain a “live session” with the call taker when using IM or SMS • Verify the approach on a working prototype NG9-1-1 architecture Emergency Services IP Network (ESInet) IP PSAP A 9-1-1 PSAP SIP Proxy Emergency Services Routing Proxy (ESRP) … Location-to-Service Translation (LoST) Server Call Takers IP PSAP Z PSAP SIP Proxy … CallSIP-based Origination network of IP PSAPs Role Network managed by the emergency authorities 1. Determine location of caller 2. Route call to ESInet 3. Protocol conversion ... ACDto ask for help Network used by emergency caller Examples: PSTN, Services VoIP, Cellular (SMS), IM Emergency IP Network (ESInet) Call Takers Conference Server ACD Adding IM to NG9-1-1 Telematics Network 9-1-1 Emergency Services IP Network (ESInet) IP PSAP A VoIP Network PSTN Network IM Network PSAP SIP Proxy Emergency Services Routing Proxy (ESRP) … Location-to-Service Translation (LoST) Server Call Takers ACD ... IP PSAP Z PSAP SIP Proxy … SMS Network (Cellular network) Call Takers Conference Server ACD Adding IM to NG9-1-1 (1) • Problem: Most IM providers use proprietary protocols. – AOL, Yahoo!, Microsoft • Fortunately, providers already use standard protocols such as SIP or XMPP to interconnect IM services. – Yahoo! and Microsoft use SIP. – AOL and Google use XMPP. • Prototype uses SIP MESSAGE method to add IM to NG9-1-1. IM client SOS Button Location Button • SIP Communicator – Open source, Java-based, VoIP and IM client with SIP presence – Multi-protocol instant messenger • SIP, XMPP/Jabber (Google talk), AIM/ICQ, MSN Messenger, Yahoo! Messenger, Bonjour, IRC, RSS – Uses JAIN SIP stack – Based on the OSGi architecture and using the Apache Felix implementation SIP MESSAGE from sender’s UA request line header fields message MESSAGE urn:service:sos SIP/2.0 From: <sip:caller@verizon.com>;tag=e778529 To: <urn:service:sos> Route: <sip:esrp.ng911.gov;lr> Geolocation: cid:caller@verizon.com ;inserted-by="caller@verizon.com" Content-Length: 1123 -------------------------Content-Type: text/plain Help me.. -------------------------Content-ID: <caller@verizon.com> Content-Type: application/pidf+xml PIDF-LO <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> IM message flow LoST Manual Entry IP PSAP A LLDP-MED LoST “Burglary!” PSAP SIP Proxy Emergency Services Routing Proxy (ESRP) … Location-to-Service Translation (LoST) Server Location Call Takers ACD ... LoST Server Emergency Services IP Network (ESInet) IM Client SIP IP PSAP Z PSAP SIP Proxy … SIP SIP Proxy Call Takers IM Network Conference Server ACD Adding IM to NG9-1-1 (2) • Problem: Every message from the same ‘session’ should go to the same call taker. • Prototype keeps record of user’s address and destination to deliver messages consistently to one call taker. Session-keeping mechanisms - Associate logical session to UI. - Use the initial ESRP URI while chat window is open. SOS - Create soft state. - Ignore other routing policies such as LoST. IP PSAP A Location-to-Service Translation (LoST) Server Emergency Services Routing Proxy (ESRP) - Close ACD Call Takers the logical session explicitly when conversation is over. ... LoST Server PSAP SIP Proxy … “Burglary!” Emergency Services IP Network (ESInet) IM Client IP PSAP Z SIP Proxy IM Network - Create logical session and keep using it until call taker closes it. Conference Server … PSAP SIP Proxy Call Takers ACD Adding SMS to NG9-1-1 Telematics Network 9-1-1 Emergency Services IP Network (ESInet) IP PSAP A VoIP Network PSTN Network IM Network PSAP SIP Proxy Emergency Services Routing Proxy (ESRP) … Location-to-Service Translation (LoST) Server Call Takers ACD ... IP PSAP Z PSAP SIP Proxy … SMS Network (Cellular network) Call Takers Conference Server ACD Adding SMS to NG9-1-1 (1) • Problem: Location information must be included in emergency messages. • Location is configured using assisted GPS on cell phones. – This is an example of an endpoint-centric solution. • Location is included in the SMS message. 26/160 To: 911 Text: Someone in my house. Please send help ASAP. [+40.9625 -73.5684] Adding SMS to NG9-1-1 (2) • Problem: SMS and SIP are different protocols. • Prototype uses SMS gateway to convert SMS to SIP. SMS gateway Emergency Service Network Service Provider Network Step1: extract phone number, message, and location Step2: query LoST toWireless resolve the ESRP URI Network Step3: Location compose a SIP MESSAGE request (SIP From header: sip: phone number @ IP address of the SMS gateway) SMS Gateway SIP Message + Location Cellular Phone SMS PSAP HTTP POST + Location ESRP SMS Center SMPP Gateway Sybase 365 Production Server Service Proxy Location ESRP URI LoST Server PSAP SMS message flow Location Emergency Services IP Network (ESInet) LoST “Burglary!” IP PSAP A Cellular phone SMS PSAP SIP Proxy … SMS Location-to-Service Translation (LoST) Server SMS GW Emergency Services Routing Proxy (ESRP) Call Takers ACD SMPP Gateway ... SMSC Sybase 365 IP PSAP Z SIP SIP PSAP SIP Proxy LoST … Service Proxy Call Takers LoST Server Conference Server ACD Adding SMS to NG9-1-1 (3) • Problem: Every message from the same ‘session’ should go to the same call taker. • Prototype keeps record of the user’s phone number and the destination URL to deliver messages consistently to one call taker. • Call taker has control over the session. The session is released by the call taker. Session-keeping mechanisms Emergency Services IP Network (ESInet) “Burglary!” Cellular phone Location-to-Service Translation (LoST) Server PSAP SIP Proxy … - Create soft state - Ignore other routing policies such as LoST IP PSAP A SMS GW Emergency Services Routing Proxy (ESRP) Call Takers ACD SMPP Gateway Sybase 365 PSAP SIP Proxy Service Proxy - Create logical session and keep using it until call taker closes it. LoST Server Conference Server … - Create soft state - Messages from same sender are routed to the same ESRP ... SMSC - Close the logical session explicitly when conversation finishes IP PSAP Z Call Takers ACD Conclusion • IM and SMS communications can be integrated into an IP PSAP using SIP. • Location can be configured and delivered with the message. • Messages can be delivered consistently to the same call taker as if it were a “session”. – Mechanism within ESInet is the same for IM and SMS. • Prototype software developed – SIP Communicator – modified open source, Java-based VoIP/IM client – Service Proxy a.k.a. HTTP-SIP Gateway as part of the SMS GW functionality – Stateful components in the emergency network Thank you! Backup slides… Two approaches for location Endpoint-centric Solution • Location is configured by the endpoint. – A-GPS • Location is inserted by the endpoint. – SMS application • We are using this solution. Network-centric Solution • Location is configured by the network. – Mobile Positioning Center (MPC) – Position Determining Equipment (PDE) • Location is inserted by the network. – SMS Gateway Service Proxy a.k.a. HTTP-SIP GW • Web application running on Apache Tomcat server – Jointly developed using Java Servlet API • SIP client runs in parallel within the web application. – Developed using JAIN SIP stack • Features – Converts from HTTP to SIP and vice versa – Queries LoST in order to forward message to an appropriate ESRP – Keeps record of phone numbers and destination ESRP for a limited time to maintain session Wireless network message flow Emergency Services IP Network Service Provider Network Location Verizon Wireless Lab Network SMS 10 Digit Longcode used: 1093600000 10 Digit Long Code Provisioned on SMPP GW to point to Sybase 365 System ID SMS Shortcode used: 10936 IP PSAP SIP Message + Location HTTP POST SMS + Location LG Chocolate Phone SMS + Location SMS Center SMPP Gateway Sybase 365 Lab Server Sybase 365 Production Messaging Server Columbia IRT Lab Service Proxy Location 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 ESRP URI Columbia IRT Lab LoST Server ESRP Location PSAP URI IP PSAP Columbia IRT Lab LoST Server How can we start today? Emergency Services IP Network (ESInet) … IP PSAP Manual Entry LLDP-MED FiOS ONT Box LoST Server PSAP SIP Proxy Call Taker “Burglary!” ESRP ACD LoST Server Today’s PSAP IM Client 911 voice calls … IM-SIP/SMS-SIP Gateway Selective Router Verizon dedicated, ALI Controller secure IM server(s) Telephone Call Taker Text Message + Location IM Network IM Call Taker IM Client; preferably SIP-based - Potential SIP conversion point Next steps • Propose solutions to standards organizations • Work on sending multimedia messages (MMS) to an IP PSAP • Explore how commercial IM networks can be integrated into Emergency Network – Build or re-use an IM gateway for proprietary protocols