Project

General

Profile

SipPayloadsApi » History » Version 21

Adrian Georgescu, 08/07/2012 08:40 PM

1 19 Adrian Georgescu
h1. Payloads API
2 1 Adrian Georgescu
3 20 Adrian Georgescu
These applications provide functionality that are required for implementing a feature-rich SIP SIMPLE client. These applications are used for parsing and generating bodies carried using PUBLISH, SUBSCRIBE and NOTIFY methods designed for asynchronous event notifications, to convey in near real-time, information between SIP end-points.
4 18 Adrian Georgescu
5 20 Adrian Georgescu
An example of such information is presence, which in its basic form it provides user availability information based on end-user choice.  In its advanced form, presence can provide rich state information including but not limited to user mood, geo-location, environment, noise level and the type of communication desired.  The information can be disseminated based on a granular policy which allows end-users to decide who has access to which part of the published information.
6 1 Adrian Georgescu
7
8 21 Adrian Georgescu
h2. Address Book
9 1 Adrian Georgescu
10 21 Adrian Georgescu
source:sipsimple/addressbook.py
11
12 18 Adrian Georgescu
High-level implementation of an addressbook stored in XCAP documents.  The
13
contacts, groups and their attributes are stored in resource lists and OMA
14
extensions described in OMA-TS-Presence_SIMPLE_XDM are used for describing
15
policy and RLS services by references to resource lists.  Multiple client
16 1 Adrian Georgescu
instances can synchronize this addressbook using XCAP-diff event package.
17
18
19 21 Adrian Georgescu
h2. Watcher Info 
20 1 Adrian Georgescu
21
Described in RFC3857 and RFC3858.
22
23 21 Adrian Georgescu
source:sipsimple/payloads/watcherinfo.py 
24
25
26 18 Adrian Georgescu
Parses NOTIFY body for presence.winfo event. Used for keeping track of
27
watchers that subscribed to our presentity.  Based on this information the
28
the user can manage its presence policy.  To retrieve this information the
29 1 Adrian Georgescu
SIP client must subscribe to its own address for event presence.winfo.
30
31
32 21 Adrian Georgescu
h2. Resource Lists
33 1 Adrian Georgescu
34
Described in RFC4826.
35 18 Adrian Georgescu
36 21 Adrian Georgescu
source:sipsimple/payloads/resourcelists.py
37
38 18 Adrian Georgescu
Parses and generates XML documents for constructing resource lists
39
documents.  Used for server side storage of presence related buddy lists
40
using XCAP protocol.  The SIP clients maintain the resource-lists on the
41 1 Adrian Georgescu
XCAP server which provides persisten storage and aggregation point for
42 18 Adrian Georgescu
multiple devices.
43 1 Adrian Georgescu
44
45 21 Adrian Georgescu
h2. RLS Services
46 1 Adrian Georgescu
47 21 Adrian Georgescu
Described in RFC4826.
48
49
source:sipsimple/payloads/rlsservices.py
50
51 18 Adrian Georgescu
Parses and generates XML documents for constructing rls-services documents. 
52
Used for delegating presence related works to the server.  The client build
53
rls-services lists with buddies and instructs the server to subscribe to the
54 1 Adrian Georgescu
sip uris indicated in the lists.  This way the client can save bandwidth as
55 18 Adrian Georgescu
the server performs the signalling for subscription and collection of
56 1 Adrian Georgescu
notifications and provides consolidated answer to the sip user agent.
57
58
59 21 Adrian Georgescu
h2. RLS Notifications
60 1 Adrian Georgescu
61 21 Adrian Georgescu
 * source:sipsimple/payloads/rlmi.py
62
 * source:sipsimple/payloads/rlsnotify.py 
63
64
Described RFC4482
65
66 18 Adrian Georgescu
Document handling for NOTIFY body for Resource Lists Contact Information.
67 1 Adrian Georgescu
68 21 Adrian Georgescu
h3. Policy
69 1 Adrian Georgescu
70 21 Adrian Georgescu
Described RFC4745
71
source:sipsimple/policy.py
72 1 Adrian Georgescu
73 18 Adrian Georgescu
Generic data types to be used in policy applications.
74 15 Adrian Georgescu
75
76 18 Adrian Georgescu
presrules.py (RFC5025)
77 1 Adrian Georgescu
78 18 Adrian Georgescu
Parses and generates authorization rules in XML format for presence or other
79
applications.  Authorization rules are stored on the XCAP server.  The
80
presence rules are generated either based on user initiative or as a
81
response to a new subscription signaled by a change in the watcherinfo
82
application.
83 1 Adrian Georgescu
84
85 18 Adrian Georgescu
omapolicy.py (OMA-TS-Presence_SIMPLE_XDM-V1_1)
86 11 Adrian Georgescu
87 18 Adrian Georgescu
Conditions extension handling according to OMA-TS-Presence_SIMPLE_XDM-V1_1. 
88
This module provides an extension to common policy defined in RFC4745 to
89
support condition extensions defined by OMA.
90 15 Adrian Georgescu
91 11 Adrian Georgescu
92 18 Adrian Georgescu
prescontent.py (OMA-TS-Presence_SIMPLE_XDM-V1_1)
93 15 Adrian Georgescu
94 18 Adrian Georgescu
Generates presence content application documents according to OMA TS
95
Presence SIMPLE Content.
96 1 Adrian Georgescu
97 8 Adrian Georgescu
98 18 Adrian Georgescu
directory.py (OMA Core Specifications)
99 8 Adrian Georgescu
100 18 Adrian Georgescu
Parses xcap-directory messages according to OMA TS XDM Core.
101 1 Adrian Georgescu
102 11 Adrian Georgescu
103 18 Adrian Georgescu
dialoginfo.py (RFC4235)
104 13 Adrian Georgescu
105 18 Adrian Georgescu
Parses and produces dialog-info messages according to RFC4235.
106 13 Adrian Georgescu
107
108 18 Adrian Georgescu
dialogrules.py
109 13 Adrian Georgescu
110 18 Adrian Georgescu
Parses and produces Dialog Authorization Rules documents. As there is no RFC
111
for this, common-policy format from RFC 4745 is used.  Subscription Handling
112
has been taken from RFC 5025.
113 15 Adrian Georgescu
114 11 Adrian Georgescu
115 18 Adrian Georgescu
pidf.py (RFC3863 and RFC3379)
116 11 Adrian Georgescu
117 18 Adrian Georgescu
This module provides classes to parse and generate PIDF documents, and also
118
uses the XML Application extensibility API to allow extensions to PIDF. It
119
is used to parse NOTIFY body for presence event and generates rich presence
120
state information for use with PUBLISH. Used to generate own presence
121
information and to parse the state of buddy lists entries we have subscribed
122
to. A SIP client typically instantiates a new pidf object for itself and for
123
each buddy it SUBSCRIBEs to and update each object when a NOTIFY is
124
received. The list of buddys is maintained using resourcelists application.
125 11 Adrian Georgescu
126
127 18 Adrian Georgescu
rpid.py (RFC4480)
128 11 Adrian Georgescu
129 18 Adrian Georgescu
This module provides an extension to PIDF to support rich presence.
130 11 Adrian Georgescu
131
132 18 Adrian Georgescu
presdm.py (RFC4479)
133 11 Adrian Georgescu
134 18 Adrian Georgescu
This module provides an extension to the PIDF to support the data module
135
defined in RFC4479.
136 11 Adrian Georgescu
137
138 18 Adrian Georgescu
cipid.py (RFC4482)
139
 
140
This module provides an extension to PIDF to provide person related information.
141 11 Adrian Georgescu
142
143 18 Adrian Georgescu
caps.py (RFC5196)
144 11 Adrian Georgescu
145 18 Adrian Georgescu
This module provides capabilities application: displays OPTIONS request-like information
146
as an extension to the PIDF.
147 11 Adrian Georgescu
148 15 Adrian Georgescu
149 18 Adrian Georgescu
xcapcaps.py (RFC4825)
150 11 Adrian Georgescu
151 18 Adrian Georgescu
Support for parsing and building xcap-caps documents, as defined by RFC4825.
152 15 Adrian Georgescu
153
154 18 Adrian Georgescu
xcapdiff.py (RFC5874)
155 11 Adrian Georgescu
156 18 Adrian Georgescu
Parses NOTIFY body for xcap-diff event. Used to detect changes in XCAP
157
documents changed by other device configured for the same presentity.
158 15 Adrian Georgescu
159 11 Adrian Georgescu
160 18 Adrian Georgescu
iscomposing.py (RFC3994)
161 11 Adrian Georgescu
162 18 Adrian Georgescu
This module parses and generates isComposing messages according to RFC3994. It's used
163
mainly in chat environments to indicate the other party that the user is actually
164
typing a message.
165 11 Adrian Georgescu
166
167 18 Adrian Georgescu
conference.py (RFC4575)
168 11 Adrian Georgescu
169 18 Adrian Georgescu
This module implements conference-info payload parsing and generating for
170
describing information about conference participants and related resources.
171 11 Adrian Georgescu
172 15 Adrian Georgescu
173 18 Adrian Georgescu
messagesummary.py (RFC3842)
174 1 Adrian Georgescu
175 18 Adrian Georgescu
This module implements a parser and generator for message-summary payload,
176
which is used to indicate missed calls or voice mail recordings.