A VoIP Emergency Services Architecture and Prototype Matthew Mintz-Habib, Anshuman Rawat, Henning Schulzrinne, and Xiaotao Wu Internet Real Time Laboratory
2 Overview Motivation Issues Solution Assumptions Architecture Prototype Conclusion
3 Motivation Growing VoIP networks but no standard solution to reliably provide emergency services FCC IP vital to emergency communications VoIP operators must be able to steer 911 calls to the geographically appropriate emergency call center Opportunity enhance the existing emergency call handling infrastructure
4 Issues Identifying emergency number Routing which PSAP Presenting locate the caller Scalability Security } Location
5 Assumptions VoIP (SIP)-capable end systems VoIP (SIP)-capable PSAP Location inserted by origin outbound proxy originating device (e.g., via DHCP) Capable infrastructure proper DNS records DHCP conference server
6 Architecture NENA long-term architecture (“I3”) for emergency communications
7 Identify emergency calls Four phases Determine location Route to appropriate PSAP Present to call takers tel:112 is this an emergency number?
8 Identify emergency calls Four phases Determine location Route to appropriate PSAP Present to call takers tel:911 tel:112 DHCP GPS RFID Bluetooth Manual DNS NAPTR MapInfo GeoLynx
9 Prototype POTS/ Wireless network PSTN GW 3pcc controller GeoLynx SIPConf sipd SIP UA DHCP server DNS server Envinsa sipd emergency call taker 911 sip:sos tel:911 GPS RFID Manual location sip:sos w/ loc or w/out loc INFORM location NAPTR w/ loc PSAP SOAP w/ loc w/ loc or sip:sos w/out loc INVITE w/ loc INVITE w/ loc INVITE location media
10 Components No endorsement implied – other components likely will work as well sipd SIP proxy server sipconfSIP conference server database-backed DNS server SIP phone web server SQL database for call routing sipcSIP user agent geo-coding, PSAP boundaries GIS software for location plotting
11 Modified dhcpd (ISC) to generate location information Use MAC address backtracing to get location information DHCP server DHCP answer: 0:US:1:CA:2:LOS ANGELES: 3:LONG BEACH: 6:HYATT AVE:19:300 DHCPINFORM 00:11:20:9d:a0:03 DHCP for locations draft-ietf-geopriv-dhcp-civil RFC3825
12 MIME with pidf-lo INVITE SIP/2.0 To: Call-ID: From: tag= …… Content-Type: multipart/mixed; boundary CSeq: 1 INVITE Content-Length: =_ZGY1NTFlZDJkMDkxY2FkMTIxMWI2M zIzNjE1M2U0OTY= MIME-Version: 1.0 content-Type: application/sdp Content-Transfer-Encoding: 8bit (SDP content) =_ZGY1NTFlZDJkMDkxY2FkMTIxMWI2MzIzNj E1M2U0OTY= MIME-Version: 1.0 Content-Type: application/pidf+xml Content-Transfer-Encoding: 8bit <presence xmlns="urn:ietf:params:xml:ns:pidf “ …… …… us ca …… …… …. draft-ietf-geopriv-pidf-lo
13 Routing to correct PSAP
14 Get PSAP from DNS (civic) SIP CGI script DNS Query NAPTR “SOS+ECC” no match 300.hyatt_ave. long_beach.los_angeles. ca.us.sos-arpa.net hyatt_ave. long_beach.los_angeles. ca.us.sos-arpa.net no match long_beach.los_angeles. ca.us.sos-arpa.net
15 Get PSAP from DNS (geo) Route based on long/lat Drill-down search transfers geo to civic Final query is based on civic address boundary (XML) boundary (XML) boundary (XML) boundary (XML) boundary (XML) DNS AK, AL, …, WV, WY SIP CGI script us states.xml ca california.xml los_angeles la.xml long_beach.los_angeles. ca.us.sos-arpa.net { , } NAPTR “SOS+POLYGON”
16 Bring related parties together 3pcc controller INVITE Conference server Recorder Fire department Hospital Bring all related parties into a conference call. INVITE w/ loc conf SDP INVITE conf SDP Caller REFER w/ loc REFER w/ loc INVITE w/ loc INVITE PSAP UA
17 Scaling NENA: “estimated 200 million calls to in the U.S. each year” approximately 6.3 calls/second if 3 minute call, about 1,200 concurrent calls typical SIP proxy server (e.g., sipd) on 3 GHz CPU/1G RAM PC can handle about 800 call arrivals/second thus, unlikely to be server-bound
18 Security secure DNS TLS sRTP https domain-based certificate firewall/NAT and NAT traversal
19 Demo Ft. Wayne, IN (August 17, 2004)
20 Conclusion and future work First prototype demoed, worked very well Latency and Security More features Route calls to preferred call takers Accept-Language, Accept, Supported SIP caller preferences and callee capabilities Multimedia (audio, video, text) Data delivery (floor plan, CPR how-to) Auto-answering similar incidents based on time/location
21 # ip_phone 1 host sip da003 { next-server ng911serv.irt.cs.columbia.edu; hardware ethernet 00:11:20:9d:a0:03; fixed-address ; option tftp-server-name " "; option host-name "sip da003"; #0:US:1:CA:2:LOS ANGELES:3:LONG BEACH:6:HYATT AVE:19:300 option loc-civil 55:53:2:1:2:43:41:2:b:4c:4f:53:20:41:4e:47:45:4c:45:53:3:a:4 c:4f:4e:47:20:42:45:41:43:48:6:9:48:59:41:54:54:20:41:56:45: 13:3:33:30:30; } dhcpd.conf DHCP for locations (cont.)
22 DNS entries