Project

General

Profile

SipDeveloperGuide » History » Revision 41

Revision 40 (Adrian Georgescu, 03/14/2009 09:46 AM) → Revision 41/215 (Adrian Georgescu, 03/14/2009 10:59 AM)

= Developer guide = 

 [[TOC(WikiStart, Sip*, depth=2)]] 

 The main goal of this library is to provide a simple to use API to create real-time communications applications between end-points based on SIP protocol.  

 == Prerequisites == 

 To use the library and the concepts described below you must be familiar with Python programming language and basic SIP call flows from [http://www.tech-invite.com/Ti-sip-CF3665.html RFC 3665]. Understanding of TCP/IP networking and real time application development in general are strongly recommended. 

 Instructions for installing the library are found [wiki:SipInstallation here]. 

 == Middleware == 

 To develop your application you should use the middleware API that hides the complexity and interactions of the lower level SIP, SDP, RTP, ICE, MSRP, XCAP and related protocols. With a minimal amount of coding you can create a client SIP application for setting up audio, instant messaging and desktop sharing sessions. 

  * [wiki:SipMiddlewareApi Middleware API] - event driven middleware suitable for developing interactive user interfaces 
  * [wiki:SipSettingsAPI Settings API] - used to reading and writing settings used by the middleware 

 === Sample code === 

 The middleware API is used by the command line tools used for [wiki:SipTesting testing the library]. 

 == Components == 

 To develop your own middleware or application while controlling the underlying lower layers and protocols yourself, you must use the following APIs that provides granular control over their respective components: 

  * [wiki:SipCoreApiDocumentation SIP core API] - The API for the SIP, SDP, RTP, ICE and audio engine (cross platform sound-card abstraction, codecs) 
  * [wiki:SipMSRPApi MSRP API]    - The API for Message Session Relay Protocol (MSRP) and its relay extension used for instant messaging, file transfers and desktop sharing applications 
  * [wiki:SipPresenceApi Presence API]    - The API for payloads carried within SIP signaling used for publication, subscription and notifications of SIP events 
  * [wiki:SipXCAPApi XCAP API]    - The API for XCAP document manipulation used for storage of buddy lists and presence policy documents