Project

General

Profile

SipPayloadsApi » History » Version 24

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

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