SipFeatures

Version 174 (Adrian Georgescu, 04/09/2015 11:05 pm)

1 158 Adrian Georgescu
h1. Features
2 1 Adrian Georgescu
3 158 Adrian Georgescu
4 174 Adrian Georgescu
_SIP SIMPLE client SDK_ is a Software Development Kit for development of Real Time Applications based on SIP and related protocols for Audio/Video, Instant Messaging, File Transfers, Desktop Sharing and Presence. Other media types can be easily added by using an extensible high-level API.
5 158 Adrian Georgescu
6 174 Adrian Georgescu
The library has cross platform capabilities for Linux, Mac OSX and Microsoft Windows operating systems. The library should work with minimal changes on any platform that supports C and Python development environments. The SIP and media stacks are based on PJSIP/PJMEDIA 2.0 with patches required for the SDK advanced functionality applied.
7 1 Adrian Georgescu
8 158 Adrian Georgescu
To see _SIP SIMPLE client SDK_ features in action you can try "Blink":http://icanblink.com or "SylkServer":http://sylkserver.com
9 1 Adrian Georgescu
10 1 Adrian Georgescu
11 158 Adrian Georgescu
h2. General
12 1 Adrian Georgescu
13 158 Adrian Georgescu
14 165 Adrian Georgescu
 * Multiple SIP accounts support
15 165 Adrian Georgescu
 * Full DNS support (NAPTR, SRV, A record lookup for all protocols)
16 162 Adrian Georgescu
 * Non-blocking, asynchronous, notifications based engine
17 166 Adrian Georgescu
 * Configuration framework
18 166 Adrian Georgescu
 * TLS Security for SIP signalling (SIP) and media (MSRP, XCAP)
19 169 Adrian Georgescu
 * Multiple media types per session (e.g. Audio, Video, IM)
20 162 Adrian Georgescu
 * Trace capability for all underlying protocols
21 1 Adrian Georgescu
 * Supports re-INVITE for adding and removing media
22 1 Adrian Georgescu
23 173 Adrian Georgescu
h2. Privacy and Privacy
24 171 Adrian Georgescu
25 1 Adrian Georgescu
 * TLS for SIP signaling and MSRP media
26 173 Adrian Georgescu
 * SRTP for RTP media (audio and video)
27 173 Adrian Georgescu
 * SDES and ZRTP key exchange for SRTP
28 173 Adrian Georgescu
 * OTR can be added on top of MSRP streams
29 172 Adrian Georgescu
 
30 1 Adrian Georgescu
h2. Supported media
31 1 Adrian Georgescu
32 171 Adrian Georgescu
 * Audio and Video (RTP)
33 1 Adrian Georgescu
 * Instant Messaging (MSRP)
34 1 Adrian Georgescu
 * File Transfer (MSRP)
35 1 Adrian Georgescu
 * Screen Sharing (VNC over MSRP)
36 1 Adrian Georgescu
37 1 Adrian Georgescu
All media types can be combined together in the same SIP session.
38 1 Adrian Georgescu
39 1 Adrian Georgescu
The library uses a separated from the core lookup mechanism for the next hop routing. This important feature allows the library to be used for building SIP clients that operate in combination with any SIP provider (by employing RFC 3263 DNS lookups), in a server-less LAN operation (using Bonjour protocol) or integrated into a network overlay developed by a third party (e.g. P2PSIP overlay).
40 166 Adrian Georgescu
41 166 Adrian Georgescu
h2. Audio features
42 166 Adrian Georgescu
43 166 Adrian Georgescu
 * Conference Mixer
44 166 Adrian Georgescu
 * Wav Player and Recorder
45 166 Adrian Georgescu
 * Acoustic Echo Cancelation
46 166 Adrian Georgescu
 * Noise Suppression
47 166 Adrian Georgescu
 * Answering Machine
48 166 Adrian Georgescu
49 166 Adrian Georgescu
h3. Codecs
50 166 Adrian Georgescu
51 166 Adrian Georgescu
 * Ultra-wideband: OPUS 48kHz, Speex 32kHz
52 166 Adrian Georgescu
 * Wideband: Speex and G722
53 166 Adrian Georgescu
 * Narrowband: G711, iLBC, GSM
54 1 Adrian Georgescu
55 167 Adrian Georgescu
h2. Video features
56 167 Adrian Georgescu
57 167 Adrian Georgescu
h3. Codecs
58 167 Adrian Georgescu
59 167 Adrian Georgescu
 * H.264 codec
60 1 Adrian Georgescu
61 1 Adrian Georgescu
62 158 Adrian Georgescu
h2. Implemented Standards
63 1 Adrian Georgescu
64 1 Adrian Georgescu
65 1 Adrian Georgescu
66 158 Adrian Georgescu
h3. SIP Signaling
67 1 Adrian Georgescu
68 1 Adrian Georgescu
69 158 Adrian Georgescu
* SIP, Session Initiation Protocol "RFC3261":http://tools.ietf.org/html/rfc3261 
70 158 Adrian Georgescu
* SDP, Session Description Protocol "RFC4566":http://tools.ietf.org/html/rfc4566 
71 158 Adrian Georgescu
* An Offer/Answer Model with Session Description Protocol (SDP) "RFC3264":http://tools.ietf.org/html/rfc3264 
72 158 Adrian Georgescu
* Reliability of Provisional Responses in Session Initiation Protocol "RFC3262":http://tools.ietf.org/html/rfc3262
73 158 Adrian Georgescu
* HTTP Authentication: Basic and Digest Access Authentication "RFC2617":http://tools.ietf.org/html/rfc2617
74 158 Adrian Georgescu
* The Reason Header Field for the Session Initiation Protocol "RFC3326":http://tools.ietf.org/html/rfc3326
75 158 Adrian Georgescu
* The Session Initiation Protocol (SIP) Refer Method "RFC3515":http://tools.ietf.org/html/rfc3515
76 158 Adrian Georgescu
* The Session Initiation Protocol (SIP) "Replaces" Header "RFC 3891":http://tools.ietf.org/html/rfc3891
77 158 Adrian Georgescu
* Session Initiation Protocol (SIP) Call Control - Transfer "RFC 5589":http://tools.ietf.org/html/rfc5589
78 158 Adrian Georgescu
* Obtaining and Using Globally Routable User Agent URIs (GRUUs) "RFC 5627":http://tools.ietf.org/html/rfc5627
79 158 Adrian Georgescu
80 158 Adrian Georgescu
81 158 Adrian Georgescu
h3. Address Resolution
82 158 Adrian Georgescu
83 158 Adrian Georgescu
84 158 Adrian Georgescu
* Locating SIP services: "RFC3263":http://tools.ietf.org/html/rfc3263
85 158 Adrian Georgescu
* Bonjour multicast DNS: http://tools.ietf.org/html/draft-lee-sip-dns-sd-uri-03
86 158 Adrian Georgescu
87 158 Adrian Georgescu
88 158 Adrian Georgescu
h3. NAT Traversal
89 158 Adrian Georgescu
90 158 Adrian Georgescu
91 158 Adrian Georgescu
* SIP Signaling: Symmetric Response Routing Symmetric media "RFC3581":http://tools.ietf.org/html/rfc3581
92 158 Adrian Georgescu
* STUN: Session Traversal Utilities for NAT "RFC3489":http://tools.ietf.org/html/rfc3489
93 158 Adrian Georgescu
* RTP media (Audio and Video): ICE, Interactive Connectivity Establishment "RFC5245":http://tools.ietf.org/html/rfc5245
94 158 Adrian Georgescu
* MSRP media (Instant Messaging and File Transfer): MSRP protocol relay extension "RFC4976":http://tools.ietf.org/html/rfc4976
95 158 Adrian Georgescu
* MSRP Alternative Connection Model (ACM)  "RFC6135":http://tools.ietf.org/html/rfc6135
96 109 Adrian Georgescu
  
97 107 Adrian Georgescu
98 170 Adrian Georgescu
h3. Audio and Video
99 109 Adrian Georgescu
100 1 Adrian Georgescu
101 158 Adrian Georgescu
* RTP, A Transport Protocol for Real-Time Applications "RFC3550":http://tools.ietf.org/html/rfc3550
102 158 Adrian Georgescu
* Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP) "RFC3605":http://tools.ietf.org/html/rfc3605
103 158 Adrian Georgescu
* The Secure Real-time Transport Protocol (SRTP)  "RFC3711":http://tools.ietf.org/html/rfc3711
104 1 Adrian Georgescu
* Generation and parsing of RFC 2833/telephone-events payload in both RTP and SDP "RFC2833":http://tools.ietf.org/html/rfc2833
105 171 Adrian Georgescu
* ZRTP Encryption "RFC6189":http://tools.ietf.org/html/rfc6189
106 142 Adrian Georgescu
107 105 Adrian Georgescu
108 158 Adrian Georgescu
h3. Instant Messaging
109 1 Adrian Georgescu
110 109 Adrian Georgescu
111 158 Adrian Georgescu
* Common Presence and Instant Messaging (CPIM): "RFC 3862":http://tools.ietf.org/html/rfc3862
112 158 Adrian Georgescu
* Session Initiation Protocol (SIP) Extension for Instant Messaging  "RFC3428":http://tools.ietf.org/html/rfc3428
113 158 Adrian Georgescu
* MSRP Protocol "RFC4975":http://tools.ietf.org/html/rfc4975
114 158 Adrian Georgescu
* Indication of Message Composition for Instant Messaging "RFC3994":http://tools.ietf.org/html/rfc3994
115 158 Adrian Georgescu
* Message Summary Event Package "RFC3842":http://tools.ietf.org/html/rfc3842
116 158 Adrian Georgescu
* File Transfer "RFC5547":http://tools.ietf.org/html/rfc5547
117 153 Adrian Georgescu
118 109 Adrian Georgescu
119 168 Adrian Georgescu
h3. Screen Sharing
120 1 Adrian Georgescu
121 158 Adrian Georgescu
122 158 Adrian Georgescu
* Variation of "draft-garcia-mmusic-sdp-collaboration-00":http://tools.ietf.org/html/draft-garcia-mmusic-sdp-collaboration-00 using RFB over MSRP
123 158 Adrian Georgescu
124 158 Adrian Georgescu
h3. Conferencing
125 158 Adrian Georgescu
126 158 Adrian Georgescu
127 158 Adrian Georgescu
* Conference Event Package "RFC4575":http://tools.ietf.org/html/rfc4575
128 158 Adrian Georgescu
* A Framework for Conferencing with the Session Initiation Protocol "RFC4353":http://tools.ietf.org/html/rfc4353
129 1 Adrian Georgescu
* SIP Call Control - Conferencing for User Agents "RFC4579":http://tools.ietf.org/html/rfc4579
130 160 Adrian Georgescu
* MSRP ad-hoc multi-party chat sessions "draft-ietf-simple-chat":http://tools.ietf.org/html/draft-ietf-simple-chat-15
131 158 Adrian Georgescu
132 158 Adrian Georgescu
h3. Presence
133 158 Adrian Georgescu
134 158 Adrian Georgescu
* SIP Specific Event Notification (SUBSCRIBE and NOTIFY methods) "RFC3265":http://tools.ietf.org/html/rfc3265
135 158 Adrian Georgescu
* SIP Extension for Event State Publication (PUBLISH method) "RFC3903":http://tools.ietf.org/html/rfc3903     
136 159 Adrian Georgescu
* SIP Event Notification Extension for Resource Lists Contact Information Extension to PIDF "RFC4482":http://tools.ietf.org/html/rfc4662
137 158 Adrian Georgescu
* Presence Data Model (PIDF) "RFC3863":http://tools.ietf.org/html/rfc3863, "RFC3379":http://tools.ietf.org/html/rfc3379, "RFC4479":http://tools.ietf.org/html/rfc4479
138 158 Adrian Georgescu
* Watcher-info Event Package "RFC3857":http://tools.ietf.org/html/rfc3857, "RFC3858":http://tools.ietf.org/html/rfc3858
139 158 Adrian Georgescu
* Rich Presence Extensions to PIDF "RFC4480":http://tools.ietf.org/html/rfc4480
140 158 Adrian Georgescu
* Contact Information Extension to PIDF "RFC4482":http://tools.ietf.org/html/rfc4482
141 158 Adrian Georgescu
* User Agent Capability Extension to PIDF "RFC5196":http://tools.ietf.org/html/rfc5196 
142 158 Adrian Georgescu
* XCAP Protocol "RFC4825":http://www.tools.ietf.org/html/rfc4825
143 158 Adrian Georgescu
* Common Policy "RFC4745":http://www.tools.ietf.org/html/rfc4745  
144 158 Adrian Georgescu
* Presence Rules "RFC5025":http://www.tools.ietf.org/html/rfc5025
145 158 Adrian Georgescu
* Resource Lists "RFC4826":http://www.tools.ietf.org/html/rfc4826
146 158 Adrian Georgescu
* RLS Services "RFC4826":http://www.tools.ietf.org/html/rfc4826
147 161 Adrian Georgescu
* RLMI document handling "RFC4662":http://www.tools.ietf.org/html/rfc4662
148 158 Adrian Georgescu
* PIDF manipulation "RFC4827":http://www.tools.ietf.org/html/rfc4827
149 158 Adrian Georgescu
* XCAP Diff "RFC5874":http://tools.ietf.org/html/rfc5874
150 158 Adrian Georgescu
* OMA Reference Release Definition for XDM v1.1 and Presence SIMPLE v1.1 "Implementation Guidelines":http://www.openmobilealliance.org/Technical/release_program/docs/CopyrightClick.aspx?pck=XDM_PRS_IMPL&file=V1_0-20081209-A/OMA-RRELD-XDM_PRS_IMPL-V1_0-20081209-A.pdf
151 158 Adrian Georgescu
* OMA XML "Document Management V1.1":http://www.openmobilealliance.org/technical/release_program/xdm_v1_1.aspx