Introduction
This is imlementation of LoST Client conform to the rules described in draft-ietf-ecrit-lost-06.
LoST is abbreviation for Location to Service Translation. This is a protocol for mapping a service identifier (service URNs) and location information (compatible with PIDF-LO) to one or more service URLs.
LoST Client determines part of SIP Client and SIP Proxy. This page contain:
- LoST Client Library that is used in SIP Server and SIP Client.
- Simple command-line LoST_Client that can be used to test LoST Server.
Example LoST Client Request
<?xml version="1.0" encoding="UTF-8"?>
<findService xmlns="urn:ietf:params:xml:ns:lost1"
recursive="true" serviceBoundary="value">
<location id="627b8bf819d0bad4d" profile="civic">
<civicAddress
xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>Germany</country>
<A1>Bavaria</A1>
<A3>Munich</A3>
<A6>Otto-Hahn-Ring</A6>
<HNO>6</HNO>
<PC>81675</PC>
</civicAddress>
</location>
<service>urn:service:sos.police</service>
</findService>
Running
This is describsion how to run simple command-line LoST_Client.
Requirements
Compilation
Make static LoST client library and simple command line LoST client:
make all
Or make static LoST client library in ./src :
make lib_lost_client
and make simple command line LoST client (in ./command_line_cli) that uses LoST library. :
make client
Running
cd ./command_line_cli ./client [options]
Usage
Configuration
Configuration file is placed in ./command_line_cli/lost_client.conf Example file is shown below.
# LoST client config file - global configuration section serverLoST=lostServer.com page=/LoST port=8080
Usage
Usage:
client [--fs [-v t|f] [-b value|reference] [-r t|f]--civic|--geo2d location -s service]
client [--ls]
client [--lsl [-r t|f] --civic|--geo location]
client [--gb key]
Main options:
--fs send findService query
-v query attribute validateLocation: true/false (default false)
-b query attribute serviceBoundary: value/reference (default reference)
-r query attribute recursive: true/false (default true)
--civic location element in civic format
--geo2d location element in geodetic-2d format
-s service uri: police/ambulance/fire
example:
client --fs -v t -r f --geo2d "12.567:-12.234" -s police
client --fs -b value \
--civic "Germany:Bavaria: :Munich: : :Otto-Hahn-Ring: : : :6: : : : : :81675" \
-s fire
--ls send listServices query
example:
client --ls
--lsl send listServicesByLocation query
-r attribute recursive: true/false (default true)
--civic location element in civic format
--geo2d location element in geodetic-2d format
example:
client --lsl -r f --geo2d "12.567:-12.234"
--gb send getServiceBoundary query with key:
example:
client --gb 7214148E0433AFE2FA2D48003D31172E
geodetic-2d format:
"point-X:point-Y"
example: "12.567:-12.234"
civic format:
"country:A1:A2:A3:A4:A5:A6:PRD:POD:STS:HNO:HNS:LMK:LOC:FLR:NAM:PC"
example: "Germany:Bavaria: :Munich: : :Otto-Hahn-Ring: : : :6: : : : : :81675"