[jdev] Driving/Routing directions via XMPP

Stephen Pendleton spendleton at movsoftware.com
Mon Aug 16 12:20:36 CDT 2004


I am re-introducing a service that client developers may be interested in.
This service will deliver turn-by-turn routing information (similar to
MapQuest) between pairs of JID's (that have location information associated
with them by implementation of the GEOLOC JEP), or pairs of postal addresses
or latitude/longitude pairs. The service can be used by sending XMPP stanzas
to 'lbs at movsoftware.com/lbs'

Currently the system can return lists of text strings that describe each
segment of the route (e.g. "Turn left at Main Street") and a URL to an
associated gif graphic that displays the segment.

The proposed protocol is listed below, but I would like feedback on the
protocol before drafting a JEP. If you have any comments please let me know,
either by replying to the post - or sending me email directly.

Requesting and Returning Routing Information with XMPP

Entities can request routing information between two jids or two locations
specified by either latitude/longitude pairs or the postal address of the
endpoints.

Entity requests routing information between jids foo at jabber.org and
bar at jabber.org:

<iq
    to='lbs at movsoftware.com/lbs'
    from=' juliet at capulet.com/balcony'
    type='get'
    id='route1'>
  <query xmlns='http://www.movsoftware.com/protocol/routing'>
    <src jid='foo at jabber.org'/ >
    <dst jid='bar at jabber.org'/>
  </query>
</iq>

Entity requests routing information between latitude/longitude pairs
-37.34,-33.33 and -40.433, -20.222:

<iq
    to='lbs at movsoftware.com/lbs'
    from=' juliet at capulet.com/balcony'
    type='get'
    id='route1'>
  <query xmlns='http://www.movsoftware.com/protocol/routing'>
    <src lat='-37.24' lon='-33.33'/ >
    <dst lat='-40.422' lon='-20.222'/>
  </query>
</iq>

Entity requests routing information between postal address pairs 4555 Main
Street,Philadelphia PA,USA,19117 and 9000 West Elm Street,Philadelphia
PA,USA,19117 :

<iq
    to='lbs at movsoftware.com/lbs'
    from=' juliet at capulet.com/balcony'
    type='get'
    id='route1'>
  <query xmlns='http://www.movsoftware.com/protocol/routing'>
    <src street= '4555 Main Street ' city='Philadelphia' state = 'PA'
country='USA' code='19117'/ >
    <dst street= '9000 West Elm Street ' city='Philadelphia' state = 'PA'
country='USA' code='19117'/ >
  </query>
</iq>


Routing information is returned as a series of segments:
<iq type='result' 
    id='route1'
    to='juliet at capulet.com/balcony'
    from='lbs at movsoftware.com/lbs'>
  <query xmlns='http://www.movsoftware.com/protocol/routing'>
    <src jid='foo at jabber.org'/ >
    <dst jid = 'bar at jabber.org'/>
    <segment id = '1'>Depart Start on Chevy Chase Lake Dr (West)</segment>
    <segment id = '2'>Turn RIGHT (North) onto SR-185 [Connecticut
Ave]</segment>
    <segment id = '3'>Take Ramp (Right) onto I-495 [I-495
Outerloop]</segment>
    <segment id = '4'>Turn RIGHT (South) onto S Sherwood Rd [Sherwood Rd]
</segment>
  </query>
</iq>

Stephen Pendleton
mov Software





More information about the JDev mailing list