« Previous - Version 97/215 (diff) - Next » - Current version
Adrian Georgescu, 03/30/2010 11:19 pm


= Developer Guide =

<acronym title="WikiStart, Sip*, depth=1">TOC</acronym>

The goal of ''SIP SIMPLE client SDK'' is to allow easy development of Real Time Applications based on SIP and related protocols. By using this SDK you can add Audio, Video, Instant Messaging, File Transfer and Desktop Sharing capabilities to an existing product or create a new product from scratch.

Prerequisites

To use SIP SIMPLE client SDK you must be familiar with Python programming language and have basic knowledge of [http://www.tech-invite.com/Ti-sip-ex3261.html SIP protocol]. Good understanding of TCP/IP networking in general and experience with development of real time applications in particular is recommended.

For installing the SDK see [wiki:SipInstallation Installation Instructions].

Middleware API

To develop a SIP application you should use the non-blocking Middleware API that hides the complexity and the interactions of the low level SIP, SDP, RTP, ICE, MSRP, XCAP protocols. With a minimal amount of coding you can create a rich client for setting up Audio, Instant Messaging, File Transfer and Desktop Sharing sessions.

[wiki:SipMiddlewareApi Middleware API]

Configuration API

The configuration API is used by the Middleware API to store and read its settings. In addition, the configuration API offers an extensibility framework, by which applications can add their specific settings which will be managed in the same way as the middleware settings.

[wiki:SipConfigurationAPI Configuration API]

=== Sample Code ===

  • [wiki:SipSessionExample Hello World!] - provides a minimalist example for setting up a Audio Session
  • [wiki:SipTesting Command Line Tools] provide detailed practical examples for how to use all functions available in the SDK
  • [http://icanblink.com Blink], a fully featured and easy to use SIP client or MacOSX

=== Components ===

If you wish to develop your own middleware or application while having full control over the underlying protocol layers yourself, you can use the following APIs that provide granular control over their respective components:

  • [wiki:SipCoreApiDocumentation SIP Core API] - SIP, RTP, ICE and Audio Engine including cross platform audio-device abstraction, codecs and jitter buffer
  • [wiki:SipMSRPApi MSRP API] - Message Session Relay Protocol (MSRP) and its Relay Extension
  • [wiki:SipPresenceApi Presence API] - Payloads carried within SIP signaling used for publication, subscription and notifications of SIP events
  • [wiki:SipXCAPApi XCAP API] - Manage presence policy documents on XCAP servers