Sip subscribe winfo
Version 7 (Adrian Georgescu, 11/06/2008 02:46 pm)
1 | 7 | Adrian Georgescu | = sip_subscribe_winfo = |
---|---|---|---|
2 | 1 | Adrian Georgescu | |
3 | 1 | Adrian Georgescu | To use this script you must to have a valid [wiki:configuration_file configuration file]. |
4 | 1 | Adrian Georgescu | |
5 | 7 | Adrian Georgescu | == Description == |
6 | 1 | Adrian Georgescu | |
7 | 5 | Adrian Georgescu | [[Image(http://www.openxcap.org/chrome/site/SIMPLE-Winfo.png, align=right, nolink)]] |
8 | 6 | Adrian Georgescu | Watchers are defined as entities that request (i.e., subscribe to) |
9 | 6 | Adrian Georgescu | information about a resource, using the SIP event framework, RFC 3265. There |
10 | 6 | Adrian Georgescu | is fairly complex state associated with these subscriptions. This state |
11 | 6 | Adrian Georgescu | includes the identity of the subscriber, the state of the subscription, and |
12 | 6 | Adrian Georgescu | so on. The union of the state for all subscriptions to a particular resource |
13 | 6 | Adrian Georgescu | is called the watcher information for that resource. This state is dynamic, |
14 | 6 | Adrian Georgescu | changing as subscribers come and go. As a result, it is possible, and |
15 | 6 | Adrian Georgescu | indeed useful, to subscribe to the watcher information for a particular |
16 | 6 | Adrian Georgescu | resource. An important application of this is the ability for a user to find |
17 | 6 | Adrian Georgescu | out the set of subscribers to their presentity. This would allow the user to |
18 | 6 | Adrian Georgescu | provide an authorization decision for the subscription. |
19 | 6 | Adrian Georgescu | |
20 | 6 | Adrian Georgescu | This script implements SUBSCRIBE for the watcher info event package and |
21 | 6 | Adrian Georgescu | manipulation of the pres-rules document that holds the presence policy of |
22 | 6 | Adrian Georgescu | the subscribing user. |
23 | 3 | Adrian Georgescu | |
24 | 2 | Adrian Georgescu | Source code: [source:scripts/sip_subscribe_winfo.py scripts/sip_subscribe_winfo.py] |
25 | 2 | Adrian Georgescu | |
26 | 1 | Adrian Georgescu | {{{ |
27 | 1 | Adrian Georgescu | adigeo@ag-imac3:~$sip_subscribe_winfo -h |
28 | 1 | Adrian Georgescu | Usage: sip_subscribe_winfo [options] |
29 | 1 | Adrian Georgescu | |
30 | 1 | Adrian Georgescu | This example script will use the specified SIP account to SUBSCRIBE to the |
31 | 1 | Adrian Georgescu | presence.winfo event of itself and request action to be taken when a new |
32 | 1 | Adrian Georgescu | watcher is in 'pending'/'waiting' state. The program will un-SUBSCRIBE and |
33 | 1 | Adrian Georgescu | quit when CTRL+D is pressed. |
34 | 1 | Adrian Georgescu | |
35 | 1 | Adrian Georgescu | Options: |
36 | 1 | Adrian Georgescu | -h, --help show this help message and exit |
37 | 1 | Adrian Georgescu | -a NAME, --account-name=NAME |
38 | 1 | Adrian Georgescu | The account name from which to read account settings. |
39 | 1 | Adrian Georgescu | Corresponds to section Account_NAME in the |
40 | 1 | Adrian Georgescu | configuration file. If not supplied, the section |
41 | 1 | Adrian Georgescu | Account will be read. |
42 | 1 | Adrian Georgescu | --sip-address=SIP_ADDRESS |
43 | 1 | Adrian Georgescu | SIP address of the user in the form user@domain |
44 | 1 | Adrian Georgescu | -p PASSWORD, --password=PASSWORD |
45 | 1 | Adrian Georgescu | Password to use to authenticate the local account. |
46 | 1 | Adrian Georgescu | This overrides the setting from the config file. |
47 | 1 | Adrian Georgescu | -n DISPLAY_NAME, --display-name=DISPLAY_NAME |
48 | 1 | Adrian Georgescu | Display name to use for the local account. This |
49 | 1 | Adrian Georgescu | overrides the setting from the config file. |
50 | 1 | Adrian Georgescu | -e EXPIRES, --expires=EXPIRES |
51 | 1 | Adrian Georgescu | "Expires" value to set in SUBSCRIBE. Default is 300 |
52 | 1 | Adrian Georgescu | seconds. |
53 | 1 | Adrian Georgescu | -o IP[:PORT], --outbound-proxy=IP[:PORT] |
54 | 1 | Adrian Georgescu | Outbound SIP proxy to use. By default a lookup of the |
55 | 1 | Adrian Georgescu | domain is performed based on SRV and A records. This |
56 | 1 | Adrian Georgescu | overrides the setting from the config file. |
57 | 1 | Adrian Georgescu | -x XCAP_ROOT, --xcap-root=XCAP_ROOT |
58 | 1 | Adrian Georgescu | The XCAP root to use to access the pres-rules document |
59 | 1 | Adrian Georgescu | for authorizing subscriptions to presence. |
60 | 1 | Adrian Georgescu | -s, --trace-sip Dump the raw contents of incoming and outgoing SIP |
61 | 1 | Adrian Georgescu | messages (disabled by default). |
62 | 1 | Adrian Georgescu | -l, --log-pjsip Print PJSIP logging output (disabled by default). |
63 | 1 | Adrian Georgescu | }}} |
64 | 1 | Adrian Georgescu | |
65 | 1 | Adrian Georgescu | === Example === |
66 | 1 | Adrian Georgescu | |
67 | 1 | Adrian Georgescu | {{{ |
68 | 1 | Adrian Georgescu | adigeo@ag-imac3:~/work/pypjua$sip_subscribe_winfo |
69 | 1 | Adrian Georgescu | Accounts available: 'alice', 'bob', 'ew', 'mrg', 'pbx', 'tf', 'umts', 'unet', default |
70 | 1 | Adrian Georgescu | Using default account: 31208005169@ag-projects.com |
71 | 1 | Adrian Georgescu | Resolved DNS SRV record "_sip._udp.ag-projects.com" --> proxy.sipthor.net:5060 |
72 | 1 | Adrian Georgescu | Resolved DNS A record "proxy.sipthor.net" --> 85.17.186.7, 81.23.228.150, 81.23.228.129 |
73 | 1 | Adrian Georgescu | Retrieving current presence rules from https://xcap.sipthor.net/xcap-root/ |
74 | 1 | Adrian Georgescu | Allowed list: |
75 | 1 | Adrian Georgescu | sip:2233350608@sip2sip.info |
76 | 1 | Adrian Georgescu | sip:31208005163@ag-projects.com |
77 | 1 | Adrian Georgescu | sip:31208005166@ag-projects.com |
78 | 1 | Adrian Georgescu | sip:31208005167@ag-projects.com |
79 | 1 | Adrian Georgescu | sip:adi@umts.ro |
80 | 1 | Adrian Georgescu | sip:alice@example.com |
81 | 1 | Adrian Georgescu | sip:ruud@umts.ro |
82 | 1 | Adrian Georgescu | sip:317105169@eurovoice.ro |
83 | 1 | Adrian Georgescu | Blocked list: |
84 | 1 | Adrian Georgescu | Polite-blocked list: |
85 | 1 | Adrian Georgescu | Subscribing to "31208005169@ag-projects.com" for the presence.winfo event, at 81.23.228.129:5060 |
86 | 1 | Adrian Georgescu | Received NOTIFY: |
87 | 1 | Adrian Georgescu | ---- |
88 | 1 | Adrian Georgescu | Active watchers: |
89 | 1 | Adrian Georgescu | Terminated watchers: |
90 | 1 | Adrian Georgescu | Pending watchers: |
91 | 1 | Adrian Georgescu | sip:bob@example.com |
92 | 1 | Adrian Georgescu | Waiting watchers: |
93 | 1 | Adrian Georgescu | ---- |
94 | 1 | Adrian Georgescu | pending watcher sip:bob@example.com wants to subscribe to your presence information. Press (a) to allow, (d) to deny, (p) to polite block: |
95 | 1 | Adrian Georgescu | Watcher sip:bob@example.com is now allowed |
96 | 1 | Adrian Georgescu | |
97 | 1 | Adrian Georgescu | }}} |