SipDeveloperGuide

Version 106 (Adrian Georgescu, 04/02/2010 12:48 pm)

1 61 Adrian Georgescu
= Developer Guide =
2 1 Adrian Georgescu
3 102 Adrian Georgescu
[[TOC(SipMiddlewareApi, SipConfigurationAPI, SipCoreApiDocumentation, depth=1)]]
4 1 Adrian Georgescu
5 93 Adrian Georgescu
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.
6 73 Adrian Georgescu
7 41 Adrian Georgescu
== Prerequisites ==
8 41 Adrian Georgescu
9 96 Adrian Georgescu
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.
10 1 Adrian Georgescu
11 103 Adrian Georgescu
[wiki:SipInstallation Installation Instructions]
12 11 Adrian Georgescu
13 90 Adrian Georgescu
== Middleware API ==
14 1 Adrian Georgescu
15 99 Adrian Georgescu
To develop your 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.
16 1 Adrian Georgescu
17 97 Adrian Georgescu
[wiki:SipMiddlewareApi Middleware API]
18 90 Adrian Georgescu
19 1 Adrian Georgescu
=== Sample Code ===
20 1 Adrian Georgescu
21 76 Adrian Georgescu
 * [wiki:SipSessionExample Hello World!] - provides a minimalist example for setting up a Audio Session
22 89 Adrian Georgescu
 * [wiki:SipTesting Command Line Tools] provide detailed practical examples for how to use all functions available in the SDK
23 85 Adrian Georgescu
 * [http://icanblink.com Blink], a fully featured and easy to use SIP client
24 105 Adrian Georgescu
25 106 Adrian Georgescu
== Components ==
26 1 Adrian Georgescu
27 79 Adrian Georgescu
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:
28 1 Adrian Georgescu
29 77 Adrian Georgescu
 * [wiki:SipCoreApiDocumentation SIP Core API] - SIP, RTP, ICE and Audio Engine including cross platform audio-device abstraction, codecs and jitter buffer
30 77 Adrian Georgescu
 * [wiki:SipMSRPApi MSRP API]  - Message Session Relay Protocol (MSRP) and its Relay Extension
31 77 Adrian Georgescu
 * [wiki:SipPresenceApi Presence API]  - Payloads carried within SIP signaling used for publication, subscription and notifications of SIP events
32 77 Adrian Georgescu
 * [wiki:SipXCAPApi XCAP API]  - Manage presence policy documents on XCAP servers