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"