SipDeveloperGuide

Version 136 (Adrian Georgescu, 05/03/2010 01:36 pm)

1 61 Adrian Georgescu
= Developer Guide =
2 1 Adrian Georgescu
3 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.
4 73 Adrian Georgescu
5 127 Adrian Georgescu
== Prerequisites ==
6 127 Adrian Georgescu
7 136 Adrian Georgescu
To use SIP SIMPLE client SDK you must:
8 1 Adrian Georgescu
9 136 Adrian Georgescu
 1. Be familiar with [http://python.org Python programming language]
10 136 Adrian Georgescu
 2. Have basic knowledge of [http://www.tech-invite.com/Ti-sip-ex3261.html SIP protocol]
11 136 Adrian Georgescu
 3. Use a computer with a physical sound card
12 136 Adrian Georgescu
13 136 Adrian Georgescu
The following architectures have been tested and are fully supported:
14 136 Adrian Georgescu
15 136 Adrian Georgescu
 * Linux (i386 and amd64 architectures)
16 136 Adrian Georgescu
 * MacOSX (Intel, 32 and 64 bit architectures)
17 136 Adrian Georgescu
 
18 136 Adrian Georgescu
The software can be theoretically ported to any operating systems supported by the cross-platform [http://www.portaudio.com/ PortAudio] audio library. Support for Microsoft Windows is work in progress. 
19 125 Adrian Georgescu
20 125 Adrian Georgescu
[wiki:SipInstallation Installation Instructions]
21 125 Adrian Georgescu
22 129 Adrian Georgescu
== Middleware API ==
23 1 Adrian Georgescu
24 131 Adrian Georgescu
To develop your SIP application you use the Middleware API that hides the complexity of the interactions of the low level SIP, DNS, SDP, RTP, ICE, MSRP and XCAP protocols. 
25 1 Adrian Georgescu
26 97 Adrian Georgescu
[wiki:SipMiddlewareApi Middleware API]
27 90 Adrian Georgescu
28 1 Adrian Georgescu
=== Sample Code ===
29 1 Adrian Georgescu
30 120 Adrian Georgescu
 * [wiki:SipSessionExample Hello World!] - minimalist example for setting up an Audio Session
31 119 Adrian Georgescu
 * [wiki:SipTesting Command Line Tools] - detailed examples for all SDK functions
32 85 Adrian Georgescu
 * [http://icanblink.com Blink], a fully featured and easy to use SIP client
33 105 Adrian Georgescu
34 134 Adrian Georgescu
== Low Level API ==
35 1 Adrian Georgescu
36 130 Adrian Georgescu
The following APIs provide granular control over their respective components:
37 1 Adrian Georgescu
38 113 Adrian Georgescu
 * [wiki:SipCoreApiDocumentation SIP Core API] - SIP, RTP, ICE and Audio Engine
39 77 Adrian Georgescu
 * [wiki:SipMSRPApi MSRP API]  - Message Session Relay Protocol (MSRP) and its Relay Extension
40 1 Adrian Georgescu
 * [wiki:SipXCAPApi XCAP API]  - Manage presence policy documents on XCAP servers
41 135 Adrian Georgescu
 * [wiki:SipPayloadsApi Payloads API]  - Payloads used for publication, subscription and notifications of SIP events