SipPayloadsApi

Version 18 (Adrian Georgescu, 08/07/2012 08:33 pm)

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