Project

General

Profile

SipPayloadsApi » History » Revision 28

Revision 27 (Adrian Georgescu, 08/07/2012 08:58 PM) → Revision 28/31 (Adrian Georgescu, 08/07/2012 08:58 PM)

h1. SIP SIMPLE Payloads API 

 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. 

 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. 

 h2. Address Book 

 source:sipsimple/addressbook.py 

 High-level implementation of an addressbook stored in XCAP documents.    The 
 contacts, groups and their attributes are stored in resource lists and OMA 
 extensions described in OMA-TS-Presence_SIMPLE_XDM are used for describing 
 policy and RLS services by references to resource lists.    Multiple client 
 instances can synchronize this addressbook using XCAP-diff event package. 

 h2. Watcher Info  

 Described in RFC3857 and RFC3858. 

 source:sipsimple/payloads/watcherinfo.py  

 Parses NOTIFY body for presence.winfo event. Used for keeping track of 
 watchers that subscribed to our presentity.    Based on this information the 
 the user can manage its presence policy.    To retrieve this information the 
 SIP client must subscribe to its own address for event presence.winfo. 

 h2. Resource Lists 

 Described in RFC4826. 

 source:sipsimple/payloads/resourcelists.py 

 Parses and generates XML documents for constructing resource lists 
 documents.    Used for server side storage of presence related buddy lists 
 using XCAP protocol.    The SIP clients maintain the resource-lists on the 
 XCAP server which provides persisten storage and aggregation point for 
 multiple devices. 


 h2. RLS Services 

 Described in RFC4826. 

 source:sipsimple/payloads/rlsservices.py 

 Parses and generates XML documents for constructing rls-services documents.  
 Used for delegating presence related works to the server.    The client build 
 rls-services lists with buddies and instructs the server to subscribe to the 
 sip uris indicated in the lists.    This way the client can save bandwidth as 
 the server performs the signalling for subscription and collection of 
 notifications and provides consolidated answer to the sip user agent. 


 h2. RLS Notifications 

  * source:sipsimple/payloads/rlmi.py 
  * source:sipsimple/payloads/rlsnotify.py  

 Described in RFC4482 

 Document handling for NOTIFY body for Resource Lists Contact Information. 

 h2. Policy 

 Described in RFC4745 

 source:sipsimple/payloads/policy.py 

 Generic data types to be used in policy applications. 

 h2. Presence Rules 

 Described in RFC5025. 

 source:sipsimple/payloads/presrules.py 

 Parses and generates authorization rules in XML format for presence or other 
 applications.    Authorization rules are stored on the XCAP server.    The 
 presence rules are generated either based on user initiative or as a 
 response to a new subscription signaled by a change in the watcherinfo 
 application. 


 h2. OMA Policy 

 source:sipsimple/payloads/omapolicy.py 

 Described in OMA-TS-Presence_SIMPLE_XDM-V1_1 

 Conditions extension handling according to OMA-TS-Presence_SIMPLE_XDM-V1_1.  
 This module provides an extension to common policy defined in RFC4745 to 
 support condition extensions defined by OMA. 

 h2. Presence Content 

 source:sipsimple/payloads/prescontent.py 

 Described in OMA-TS-Presence_SIMPLE_XDM-V1_1 

 Generates presence content application documents according to OMA TS 
 Presence SIMPLE Content. 

 h2. XCAP Directory 

 source:sipsimple/payloads/directory.py (OMA Core Specifications) 

 Parses xcap-directory messages according to OMA TS XDM Core. 

 source:sipsimple/payloads/dialoginfo.py 

 Described in RFC4235. 

 Parses and produces dialog-info messages according to RFC4235. 


 h2. Dialog Rules 

 source:sipsimple/payloads/dialogrules.py 

 Parses and produces Dialog Authorization Rules documents. As there is no RFC 
 for this, common-policy format from RFC 4745 is used.    Subscription Handling 
 has been taken from RFC 5025. 

 h2. PIDF 

 source:sipsimple/payloads/pidf.py 

 Described in RFC3863 and RFC3379. 

 This module provides classes to parse and generate PIDF documents, and also 
 uses the XML Application extensibility API to allow extensions to PIDF. It 
 is used to parse NOTIFY body for presence event and generates rich presence 
 state information for use with PUBLISH. Used to generate own presence 
 information and to parse the state of buddy lists entries we have subscribed 
 to. A SIP client typically instantiates a new pidf object for itself and for 
 each buddy it SUBSCRIBEs to and update each object when a NOTIFY is 
 received. The list of buddys is maintained using resourcelists application. 

 h2. RPIDF 

 source:sipsimple/payloads/rpid.py 

 Described in RFC4480. 

 This module provides an extension to PIDF to support rich presence. 

 h2. Presence Data Model 

 source:sipsimple/payloads/presdm.py. 

 Described in RFC4479. 

 This module provides an extension to the PIDF to support the data module defined in RFC4479. 

 h2. CIPID 

 source:sipsimple/payloads/cipid.py 

 Described in RFC4482. 
 
 This module provides an extension to PIDF to provide person related information. 

 h2. Endpoint Capabilities 

 source:sipsimple/payloads/caps.py 

 Described in RFC5196. 

 This module provides capabilities application: displays OPTIONS request-like information 
 as an extension to the PIDF. 

 h2. XCAP capabilities 

 source:sipsimple/payloads/xcapcaps.py 

 Described in RFC4825. 

 Support for parsing and building xcap-caps documents, as defined by RFC4825. 

 h2. XCAP Differences 

 source:sipsimple/payloads/xcapdiff.py 

 Described in RFC5874. 

 Parses NOTIFY body for xcap-diff event. Used to detect changes in XCAP 
 documents changed by other device configured for the same presentity. 


 h2. Is-composing 

 source:sipsimple/payloads/iscomposing.py 

 Described in RFC3994. 

 This module parses and generates isComposing messages according to RFC3994. It's used 
 mainly in chat environments to indicate the other party that the user is actually 
 typing a message. 


 h2. Conference Information 

 source:sipsimple/payloads/conference.py 

 Described in RFC4575. 

 This module implements conference-info payload parsing and generating for 
 describing information about conference participants and related resources. 


 h2. Message Summary 

 source:sipsimple/payloads/messagesummary.py 

 Described in RFC3842. 

 This module implements a parser and generator for message-summary payload, 
 which is used to indicate missed calls or voice mail recordings.