Sip subscribe presence

Version 11 (Adrian Georgescu, 02/22/2009 11:11 am)

1 8 Adrian Georgescu
== sip_subscribe_presence ==
2 10 Adrian Georgescu
[[TOC(SipTesting*, sip_*, depth=2)]]
3 1 Adrian Georgescu
4 9 Adrian Georgescu
To use this script you must to have a valid [wiki:SipConfiguration configuration file].
5 1 Adrian Georgescu
6 8 Adrian Georgescu
=== Description ===
7 1 Adrian Georgescu
8 11 Adrian Georgescu
[[Image(http://www.openxcap.org/chrome/site/SIMPLE-Server.png, nolink)]]
9 4 Adrian Georgescu
10 3 Adrian Georgescu
Source code: [source:scripts/sip_subscribe_presence.py scripts/sip_subscribe_presence.py]
11 3 Adrian Georgescu
12 1 Adrian Georgescu
{{{
13 1 Adrian Georgescu
adigeo@ag-imac3:~$sip_subscribe_presence -h
14 5 Adrian Georgescu
Usage: sip_subscribe_presence [options] [target-user@target-domain.com]
15 1 Adrian Georgescu
16 5 Adrian Georgescu
This script will SUBSCRIBE to the presence event published by the specified
17 5 Adrian Georgescu
SIP target. If a SIP target is not specified, it will subscribe to its own
18 5 Adrian Georgescu
address. It will then interprete PIDF bodies contained in NOTIFYs and display
19 5 Adrian Georgescu
their meaning. The program will un-SUBSCRIBE and quit when CTRL+D is pressed.
20 1 Adrian Georgescu
21 1 Adrian Georgescu
Options:
22 1 Adrian Georgescu
  -h, --help            show this help message and exit
23 1 Adrian Georgescu
  -a NAME, --account-name=NAME
24 1 Adrian Georgescu
                        The account name from which to read account settings.
25 1 Adrian Georgescu
                        Corresponds to section Account_NAME in the
26 1 Adrian Georgescu
                        configuration file. If not supplied, the section
27 1 Adrian Georgescu
                        Account will be read.
28 1 Adrian Georgescu
  --sip-address=SIP_ADDRESS
29 1 Adrian Georgescu
                        SIP address of the user in the form user@domain
30 1 Adrian Georgescu
  -p PASSWORD, --password=PASSWORD
31 1 Adrian Georgescu
                        Password to use to authenticate the local account.
32 1 Adrian Georgescu
                        This overrides the setting from the config file.
33 1 Adrian Georgescu
  -n DISPLAY_NAME, --display-name=DISPLAY_NAME
34 1 Adrian Georgescu
                        Display name to use for the local account. This
35 1 Adrian Georgescu
                        overrides the setting from the config file.
36 1 Adrian Georgescu
  -e EXPIRES, --expires=EXPIRES
37 1 Adrian Georgescu
                        "Expires" value to set in SUBSCRIBE. Default is 300
38 1 Adrian Georgescu
                        seconds.
39 1 Adrian Georgescu
  -o IP[:PORT], --outbound-proxy=IP[:PORT]
40 1 Adrian Georgescu
                        Outbound SIP proxy to use. By default a lookup of the
41 1 Adrian Georgescu
                        domain is performed based on SRV and A records. This
42 1 Adrian Georgescu
                        overrides the setting from the config file.
43 1 Adrian Georgescu
  -c CONTENT_TYPE, --content-type=CONTENT_TYPE
44 1 Adrian Georgescu
                        "Content-Type" the UA expects to receving in a NOTIFY
45 1 Adrian Georgescu
                        for this subscription. For the known events this does
46 1 Adrian Georgescu
                        not need to be specified, but may be overridden".
47 1 Adrian Georgescu
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
48 1 Adrian Georgescu
                        messages (disabled by default).
49 1 Adrian Georgescu
  -l, --log-pjsip       Print PJSIP logging output (disabled by default).
50 1 Adrian Georgescu
}}}
51 2 Adrian Georgescu
52 8 Adrian Georgescu
=== Example ===
53 2 Adrian Georgescu
54 2 Adrian Georgescu
{{{
55 2 Adrian Georgescu
adigeo@ag-imac3:~$sip_subscribe_presence -a umts ag@ag-projects.com
56 2 Adrian Georgescu
Accounts available: 'alice', 'ew', 'mrg', 'pbx', 'tf', 'umts', 'unet', default
57 2 Adrian Georgescu
Using account 'umts': adi@umts.ro
58 2 Adrian Georgescu
Resolved DNS SRV record "_sip._udp.umts.ro" --> proxy.sipthor.net:5060
59 2 Adrian Georgescu
Resolved DNS A record "proxy.sipthor.net" --> 81.23.228.150, 81.23.228.129, 85.17.186.7
60 2 Adrian Georgescu
Subscribing to "<sip:ag@ag-projects.com>" for the presence event, at 85.17.186.7:5060
61 2 Adrian Georgescu
Received NOTIFY:
62 2 Adrian Georgescu
----------------
63 2 Adrian Georgescu
Presence for 31208005169@ag-projects.com:
64 2 Adrian Georgescu
  Person id yipgulqr
65 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:37:32
66 2 Adrian Georgescu
    Activities
67 2 Adrian Georgescu
      Note(en): I am working
68 2 Adrian Georgescu
    Mood: sad, contended, mean
69 2 Adrian Georgescu
    Time offset from UTC: 60 minutes 
70 2 Adrian Georgescu
  ---
71 2 Adrian Georgescu
  Service id apgjjwtz
72 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:37:42
73 2 Adrian Georgescu
    Status: open
74 2 Adrian Georgescu
----------------
75 2 Adrian Georgescu
Received NOTIFY:
76 2 Adrian Georgescu
----------------
77 2 Adrian Georgescu
Presence for 31208005169@ag-projects.com:
78 2 Adrian Georgescu
  Person id ksgxtgwo
79 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:41:04
80 2 Adrian Georgescu
    Mood: impressed, flirtatious, thirsty
81 2 Adrian Georgescu
    Time offset from UTC: 60 minutes 
82 2 Adrian Georgescu
  Person id yipgulqr
83 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:37:32
84 2 Adrian Georgescu
    Activities
85 2 Adrian Georgescu
      Note(en): I am working
86 2 Adrian Georgescu
    Mood: sad, contended, mean
87 2 Adrian Georgescu
    Time offset from UTC: 60 minutes 
88 2 Adrian Georgescu
  ---
89 2 Adrian Georgescu
  Service id apgjjwtz
90 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:37:42
91 2 Adrian Georgescu
    Status: open
92 2 Adrian Georgescu
  Service id hxpzsnfp
93 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:41:00
94 2 Adrian Georgescu
    Status: open
95 2 Adrian Georgescu
----------------
96 2 Adrian Georgescu
Received NOTIFY:
97 2 Adrian Georgescu
----------------
98 2 Adrian Georgescu
Presence for 31208005169@ag-projects.com:
99 2 Adrian Georgescu
  Person id ksgxtgwo
100 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:41:04
101 2 Adrian Georgescu
    Mood: impressed, flirtatious, thirsty
102 2 Adrian Georgescu
    Time offset from UTC: 60 minutes 
103 2 Adrian Georgescu
  Person id yipgulqr
104 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:37:32
105 2 Adrian Georgescu
    Activities
106 2 Adrian Georgescu
      Note(en): I am working
107 2 Adrian Georgescu
    Mood: sad, contended, mean
108 2 Adrian Georgescu
    Time offset from UTC: 60 minutes 
109 2 Adrian Georgescu
  ---
110 2 Adrian Georgescu
  Service id apgjjwtz
111 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:37:42
112 2 Adrian Georgescu
    Status: open
113 2 Adrian Georgescu
  Service id hxpzsnfp
114 2 Adrian Georgescu
    Timestamp: 2008-10-26 10:41:07
115 2 Adrian Georgescu
    Status: closed
116 2 Adrian Georgescu
----------------
117 2 Adrian Georgescu
118 2 Adrian Georgescu
}}}