ecrit demonstration richard barnes john bressler kevin doran dan gregory bbn technologies
TRANSCRIPT
ECRIT Demonstration
Richard BarnesJohn BresslerKevin DoranDan Gregory
BBN Technologies
Agenda
• Goals for this demo• Software architecture• Demo scenario• DEMO• Summary & lessons learned
Goals
• Overarching goal: Demonstrate how the ECRIT architecture can work in practice, highlighting a few key points– Dynamic discovery of location resources– Dynamic discovery of PSAPs– Multi-protocol IP emergency communications
• Stay close to reality / deployability
PSAP
High-level View of ECRIT
Client Device
LoST Client
Location Client
LoST Server
Application Clients
Location Server
Application Clients
Discovery Service
Software Architecture: Servers
• Application Clients: Re-using existing applications– SIP, Jabber, Skype, Email, etc.
• Basic LoST Server– 197 lines of PHP
• Basic HELD Server– 507 lines of Perl– Location from: DB, Google, Maxmind
• No new code for discovery– dhcpd configuration– dnsmasq configuration
PSAP
LoST Server
Application Clients
Location Server
Discovery Service
Software Architecture: Clients
• Application Clients: Re-using existing applications– SIP, Jabber, Skype, Email, etc.
• Basic LoST Client– “ECRIT Resolver” as a Firefox extension– Only supports <findService>– 363 lines of Javascript / XUL– … including UI code
• Location Client: Re-using open-source “Internet Geolocation Toolkit” (igtk)
Client Device
LoST Client
Location Client
Application Clients
Software Architecture: igtk
• Multi-platform, multi-protocol location client– Platforms: Windows, Linux, Mac OS– Protocols: DHCP, HELD (with discovery), hooks to add other
protocols• Written in C++, designed to be lightweight– Interfaces to Java (via SWIG) and XPCOM
• http://igtk.sourceforge.net/
Location Client HELD
HTTPDHCP DNS XML WiFi
DHCP
XPCOMJavaC++
Demo Scenario
• IP device roaming between on-campus and off-campus networks
• On campus, get campus emergency services– … except for fire dept.
• Off campus, get county emergency services PG County
UMD
Demo ArchitectureLoST
Server
LAN 1(DNS/DHCP)
Client
LIS 1
Internet
LIS 2
LAN 2(DNS/DHCP)
“On Campus”
Client
Client Migrates Networks
“Off Campus”
UMDPSAP
PGCountyPSAP
Router 2
“Off Campus”
DHCPDNS
Router 1
“On Campus”
DHCP DNS
Discovery in ActionLoST
Server
Client
LIS 1
Internet
LIS 2
Client
Client Migrates Networks
UMDPSAP
PGCountyPSAP
Discovering & Calling a PSAP with ECRIT
ClientLoST
Server
LocationInformation
Server PSAP
HELD
ECRIT
DHCP INFORM
access domain
PSAP URI
DHCP/DNSServer
DNS NAPTR (access domain)
LIS URI
location
HELD
LoST (location)
connect
Standards Implemented
• Location:– DHCP location formats:
• RFC 4776, RFC 3825
– LIS Discovery: • draft-ietf-geopriv-lis-discovery, RFC 3825
– HELD: • draft-ietf-geopriv-http-location-delivery
– HELD measurements: • draft-thomson-geopriv-held-measurements
– W3C Geolocation API• LoST: RFC 5222
How real is this?
• Overall, pretty close.• Only a few hand-provisioned values
– APs: Static discovery values– LoST server: Static mappings– Location servers: Static location values– LoST client: Static LoST server URI– In reality, some things will need to be provisioned anyway
• Still missing a few features– Full compliance with LoST– Full compliance with ECRIT framework (e.g., location in SIP)
How real is this?
• E.g. you could deploy this in a jurisdiction by…• Local authorities:
– Making PSAPs reachable over SIP / Skype / XMPP / etc.– Provisioning appropriate LoST mappings into the server– Providing ISPs with a LoST URI for discovery
• ISPs: – Provisioning CPE with static LIS-discovery and LoST-discovery
records– Adding code to the HELD server to interface to a local
positioning system• … and providing the client code to clients!
Summary
• The ECRIT framework allows clients to– Discover their location– Discover and contact their local PSAPs
• Complexity of server software is very low– Real location services will add some complexity…– … but re-using existing sources can mitigate– Local gateways can easily provide discovery service
• Complexity of client software is only a little higher– Mainly due to difficulty of cross-platform integration with
low-level OS services (e.g., DHCP)– Increased OS integration could help