150 likes | 266 Views
ECRIT Demonstration. Richard Barnes John Bressler Kevin Doran Dan Gregory BBN Technologies. Agenda. Goals for this demo Software architecture Demo scenario DEMO Summary & lessons learned. Goals.
E N D
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
High-level View of ECRIT Client Device PSAP Application Clients Application Clients LoST Client LoST Server Location Client Location Server 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 Application Clients LoST Server 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 Application Clients LoST Client Location Client
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/ C++ Java XPCOM Location Client DHCP HELD DHCP DNS HTTP XML WiFi
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 UMD PG County
Demo Architecture LoST Server UMD PSAP PG County PSAP LIS 1 LIS 2 Internet LAN 1 (DNS/DHCP) LAN 2 (DNS/DHCP) Client Client “On Campus” “Off Campus” Client Migrates Networks
Discovery in Action LoST Server UMD PSAP PG County PSAP LIS 1 LIS 2 Internet Router 1 Router 2 DHCP DNS DNS DHCP Client Client “On Campus” “Off Campus” Client Migrates Networks
Discovering & Calling a PSAP with ECRIT Location Information Server DHCP/DNS Server LoST Server Client PSAP DHCP INFORM access domain H E L D DNS NAPTR (access domain) LIS URI HELD location E C R I T LoST (location) PSAP URI 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