Sip subscribe rls

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

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