Sip subscribe rls

Version 21 (Adrian Georgescu, 01/24/2010 03:39 pm)

1 1 Adrian Georgescu
2 21 Adrian Georgescu
h2. sip-subscribe-rls
3 1 Adrian Georgescu
4 1 Adrian Georgescu
5 1 Adrian Georgescu
6 21 Adrian Georgescu
7 21 Adrian Georgescu
> This script is available in _sipclients_ package that must be installed separately from SIP SIMPLe client SDK package.
8 21 Adrian Georgescu
9 21 Adrian Georgescu
10 21 Adrian Georgescu
h3. Description
11 21 Adrian Georgescu
12 21 Adrian Georgescu
13 1 Adrian Georgescu
A Resource List Server (RLS) services application is a Session Initiation Protocol (SIP) application whereby a server receives SUBSCRIBE requests for a resource, and generates subscriptions towards a resource list. The received NOTIFY messages are the  aggregated downstream to the original subscriber generating less traffic to the subscriber end-user device.
14 1 Adrian Georgescu
15 17 Adrian Georgescu
This script implements sending SUBSCRIBE to a RLS server and receiving NOTIFY messages from it.
16 1 Adrian Georgescu
17 21 Adrian Georgescu
!{}http://www.openxcap.org/chrome/site/SIMPLE-RLS-services.png!
18 1 Adrian Georgescu
19 21 Adrian Georgescu
<pre>
20 20 Adrian Georgescu
adigeo@ag-imac3:~$sip-subscribe-rls -h
21 20 Adrian Georgescu
Usage: sip-subscribe-rls [options] [target-user@target-domain.com]
22 1 Adrian Georgescu
23 1 Adrian Georgescu
This script will SUBSCRIBE to the presence event published by the specified
24 3 Adrian Georgescu
SIP target assuming it is a resource list handled by a RLS server. The RLS
25 3 Adrian Georgescu
server will then SUBSCRIBE in behalf of the account, collect NOTIFYs with the
26 3 Adrian Georgescu
presence information of the recipients and provide periodically aggregated
27 3 Adrian Georgescu
NOTIFYs back to the subscriber. If a target address is not specified, it will
28 3 Adrian Georgescu
subscribe to the account's own address. It will then interprete PIDF bodies
29 1 Adrian Georgescu
contained in NOTIFYs and display their meaning. The program will un-SUBSCRIBE
30 1 Adrian Georgescu
and quit when CTRL+D is pressed.
31 1 Adrian Georgescu
32 1 Adrian Georgescu
Options:
33 1 Adrian Georgescu
  -h, --help            show this help message and exit
34 1 Adrian Georgescu
  -a NAME, --account-name=NAME
35 1 Adrian Georgescu
                        The account name from which to read account settings.
36 1 Adrian Georgescu
                        Corresponds to section Account_NAME in the
37 1 Adrian Georgescu
                        configuration file. If not supplied, the section
38 1 Adrian Georgescu
                        Account will be read.
39 1 Adrian Georgescu
  --sip-address=SIP_ADDRESS
40 1 Adrian Georgescu
                        SIP address of the user in the form user@domain
41 1 Adrian Georgescu
  -p PASSWORD, --password=PASSWORD
42 1 Adrian Georgescu
                        Password to use to authenticate the local account.
43 1 Adrian Georgescu
                        This overrides the setting from the config file.
44 1 Adrian Georgescu
  -n DISPLAY_NAME, --display-name=DISPLAY_NAME
45 1 Adrian Georgescu
                        Display name to use for the local account. This
46 1 Adrian Georgescu
                        overrides the setting from the config file.
47 1 Adrian Georgescu
  -e EXPIRES, --expires=EXPIRES
48 1 Adrian Georgescu
                        "Expires" value to set in SUBSCRIBE. Default is 300
49 1 Adrian Georgescu
                        seconds.
50 1 Adrian Georgescu
  -o IP[:PORT], --outbound-proxy=IP[:PORT]
51 1 Adrian Georgescu
                        Outbound SIP proxy to use. By default a lookup of the
52 1 Adrian Georgescu
                        domain is performed based on SRV and A records. This
53 1 Adrian Georgescu
                        overrides the setting from the config file.
54 1 Adrian Georgescu
  -c CONTENT_TYPE, --content-type=CONTENT_TYPE
55 1 Adrian Georgescu
                        "Content-Type" the UA expects to receving in a NOTIFY
56 1 Adrian Georgescu
                        for this subscription. For the known events this does
57 1 Adrian Georgescu
                        not need to be specified, but may be overridden".
58 1 Adrian Georgescu
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
59 1 Adrian Georgescu
                        messages (disabled by default).
60 1 Adrian Georgescu
  -l, --log-pjsip       Print PJSIP logging output (disabled by default).
61 21 Adrian Georgescu
</pre>
62 1 Adrian Georgescu
63 1 Adrian Georgescu
64 21 Adrian Georgescu
h3. Example
65 21 Adrian Georgescu
66 21 Adrian Georgescu
67 21 Adrian Georgescu
<pre>
68 20 Adrian Georgescu
adigeo@ag-imac3:~$sip-subscribe-rls 
69 19 Adrian Georgescu
Using account 31208005169@ag-projects.com
70 19 Adrian Georgescu
Subscribing to sip:31208005169-buddies@ag-projects.com for the presence event
71 19 Adrian Georgescu
Subscription succeeded at 81.23.228.150:5060;transport=udp
72 19 Adrian Georgescu
Received NOTIFY:
73 19 Adrian Georgescu
--kDhCK3ub5XA4X3gQoEF5Mugt
74 19 Adrian Georgescu
Content-Transfer-Encoding: binary
75 19 Adrian Georgescu
Content-ID: <1239691491.sip:31208005169-buddies@ag-projects.com.615954109>
76 19 Adrian Georgescu
Content-Type: application/rlmi+xml;charset="UTF-8r"
77 19 Adrian Georgescu
78 19 Adrian Georgescu
<?xml version="1.0"?>
79 19 Adrian Georgescu
<list uri="sip:31208005169-buddies@ag-projects.com" xmlns="urn:ietf:params:xml:ns:rlmi" version="1" fullState="true">
80 19 Adrian Georgescu
  <resource uri="sip:adi@umts.ro"/>
81 19 Adrian Georgescu
  <resource uri="sip:alice@ag-projects.com"/>
82 19 Adrian Georgescu
  <resource uri="sip:luci@umts.ro"/>
83 19 Adrian Georgescu
</list>
84 1 Adrian Georgescu
85 19 Adrian Georgescu
--kDhCK3ub5XA4X3gQoEF5Mugt--
86 19 Adrian Georgescu
87 19 Adrian Georgescu
88 19 Adrian Georgescu
Available control keys:
89 19 Adrian Georgescu
  t: toggle SIP trace on the console
90 19 Adrian Georgescu
  j: toggle PJSIP trace on the console
91 19 Adrian Georgescu
  n: toggle notifications trace on the console
92 19 Adrian Georgescu
  Ctrl-d: quit the program
93 19 Adrian Georgescu
  ?: display this help message
94 21 Adrian Georgescu
</pre>