Project

General

Profile

Sip subscribe winfo » History » Version 17

Adrian Georgescu, 03/31/2009 03:10 PM

1 8 Adrian Georgescu
== sip_subscribe_winfo ==
2 15 Adrian Georgescu
[[TOC(SipTesting*, sip_*,xcap*, depth=2)]]
3
4 13 Adrian Georgescu
To use this script you must to have a valid [wiki:SipSettingsAPI configuration].
5 1 Adrian Georgescu
6 8 Adrian Georgescu
=== Description ===
7 1 Adrian Georgescu
8 16 Adrian Georgescu
[[Image(http://www.openxcap.org/chrome/site/SIMPLE-Winfo.png)]]
9 11 Adrian Georgescu
10 6 Adrian Georgescu
Watchers are defined as entities that request (i.e., subscribe to)
11
information about a resource, using the SIP event framework, RFC 3265. There
12
is fairly complex state associated with these subscriptions.  This state
13
includes the identity of the subscriber, the state of the subscription, and 
14
so on. The union of the state for all subscriptions to a particular resource
15
is called the watcher information for that resource.  This state is dynamic,
16
changing as subscribers come and go.  As a result, it is possible, and
17
indeed useful, to subscribe to the watcher information for a particular
18
resource. An important application of this is the ability for a user to find
19
out the set of subscribers to their presentity. This would allow the user to
20
provide an authorization decision for the subscription.
21
22
This script implements SUBSCRIBE for the watcher info event package and
23
manipulation of the pres-rules document that holds the presence policy of
24
the subscribing user.
25 3 Adrian Georgescu
26 2 Adrian Georgescu
Source code: [source:scripts/sip_subscribe_winfo.py scripts/sip_subscribe_winfo.py]
27
28 1 Adrian Georgescu
{{{
29
adigeo@ag-imac3:~$sip_subscribe_winfo -h
30 17 Adrian Georgescu
Usage: sip_subscribe_winfo [options] [target-user@target-domain.com]
31 1 Adrian Georgescu
32 17 Adrian Georgescu
This script displays the current presence rules, SUBSCRIBEs to the
33
presence.winfo event of itself and prompts the user to update the presence
34
rules document when a new watcher is in 'pending'/'waiting' state. The program
35
will un-SUBSCRIBE and quit when CTRL+D is pressed.
36 1 Adrian Georgescu
37
Options:
38
  -h, --help            show this help message and exit
39 17 Adrian Georgescu
  -a ACCOUNT_NAME, --account-name=ACCOUNT_NAME
40
                        The name of the account to use.
41 1 Adrian Georgescu
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
42
                        messages (disabled by default).
43 17 Adrian Georgescu
  -j, --trace-pjsip     Print PJSIP logging output (disabled by default).
44 1 Adrian Georgescu
}}}
45
46
=== Example ===
47
48
{{{
49
adigeo@ag-imac3:~/work/pypjua$sip_subscribe_winfo
50
Accounts available: 'alice', 'bob', 'ew', 'mrg', 'pbx', 'tf', 'umts', 'unet', default
51
Using default account: 31208005169@ag-projects.com
52
Resolved DNS SRV record "_sip._udp.ag-projects.com" --> proxy.sipthor.net:5060
53
Resolved DNS A record "proxy.sipthor.net" --> 85.17.186.7, 81.23.228.150, 81.23.228.129
54
Retrieving current presence rules from https://xcap.sipthor.net/xcap-root/
55
Allowed list:
56
	sip:2233350608@sip2sip.info
57
	sip:31208005163@ag-projects.com
58
	sip:31208005166@ag-projects.com
59
	sip:31208005167@ag-projects.com
60
	sip:adi@umts.ro
61
	sip:alice@example.com
62
	sip:ruud@umts.ro
63
	sip:317105169@eurovoice.ro
64
Blocked list:
65
Polite-blocked list:
66
Subscribing to "31208005169@ag-projects.com" for the presence.winfo event, at 81.23.228.129:5060
67
Received NOTIFY:
68
----
69
Active watchers:
70
Terminated watchers:
71
Pending watchers:
72
  sip:bob@example.com
73
Waiting watchers:
74
----
75
pending watcher sip:bob@example.com wants to subscribe to your presence information. Press (a) to allow, (d) to deny, (p) to polite block:
76
Watcher sip:bob@example.com is now allowed
77
78
}}}