Page MenuHomePhabricator

Sip Subscribe Winfo
Updated 2,272 Days AgoPublic

Watchers are defined as entities that request (i.e., subscribe to) information about a resource, using the SIP event framework, RFC 3265. There is fairly complex state associated with these subscriptions. This state includes the identity of the subscriber, the state of the subscription, and so on. The union of the state for all subscriptions to a particular resource is called the watcher information for that resource. This state is dynamic, changing as subscribers come and go. As a result, it is possible, and indeed useful, to subscribe to the watcher information for a particular resource. An important application of this is the ability for a user to find out the set of subscribers to their presentity. This would allow the user to provide an authorization decision for the subscription.

This script implements SUBSCRIBE for the watcher info event package and manipulation of the pres-rules document that holds the presence policy of the subscribing user.

This script is available in the Sip Clients package which must be installed separately from the SIP SIMPLE client SDK package.

subscribe info

adigeo@ag-imac3:~$sip-subscribe-winfo -h
Usage: sip-subscribe-winfo [options] [target-user@target-domain.com]

This script displays the current presence rules, SUBSCRIBEs to the
presence.winfo event of itself and prompts the user to update the presence
rules document when a new watcher is in 'pending'/'waiting' state. The program
will un-SUBSCRIBE and quit when CTRL+D is pressed.

Options:
  -h, --help            show this help message and exit
  -a ACCOUNT_NAME, --account-name=ACCOUNT_NAME
                        The name of the account to use.
  -s, --trace-sip       Dump the raw contents of incoming and outgoing SIP
                        messages (disabled by default).
  -j, --trace-pjsip     Print PJSIP logging output (disabled by default).
`

Example

adigeo@ag-imac3:~/work/pypjua$sip-subscribe-winfo
Accounts available: 'alice', 'bob', 'ew', 'mrg', 'pbx', 'tf', 'umts', 'unet', default
Using default account: 31208005169@ag-projects.com
Resolved DNS SRV record "_sip._udp.ag-projects.com" --> proxy.sipthor.net:5060
Resolved DNS A record "proxy.sipthor.net" --> 85.17.186.7, 81.23.228.150, 81.23.228.129
Retrieving current presence rules from https://xcap.sipthor.net/xcap-root/
Allowed list:
	sip:2233350608@sip2sip.info
	sip:31208005163@ag-projects.com
	sip:31208005166@ag-projects.com
	sip:31208005167@ag-projects.com
	sip:adi@umts.ro
	sip:alice@example.com
	sip:ruud@umts.ro
	sip:317105169@eurovoice.ro
Blocked list:
Polite-blocked list:
Subscribing to "31208005169@ag-projects.com" for the presence.winfo event, at 81.23.228.129:5060
Received NOTIFY:
----
Active watchers:
Terminated watchers:
Pending watchers:
  sip:bob@example.com
Waiting watchers:
----
pending watcher sip:bob@example.com wants to subscribe to your presence information. Press (a) to allow, (d) to deny, (p) to polite block:
Watcher sip:bob@example.com is now allowed
Last Author
tijmen
Last Edited
Sep 17 2018, 3:27 PM

Event Timeline

tijmen edited the content of this document. (Show Details)
tijmen edited the content of this document. (Show Details)