Project

General

Profile

SipFeatures » History » Version 172

Adrian Georgescu, 03/16/2015 10:50 AM

1 158 Adrian Georgescu
h1. Features
2 1 Adrian Georgescu
3 158 Adrian Georgescu
4
_SIP SIMPLE client SDK_ is a Software Development Kit for development of Real Time Applications based on SIP and related protocols for Audio, Instant Messaging, File Transfers, Desktop Sharing and Presence. Other media types can be easily added by using an extensible high-level API.
5
6 164 Adrian Georgescu
The library has cross platform capabilities on Linux OS, Mac OSX and Microsoft Windows. 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
11 158 Adrian Georgescu
h2. General
12 1 Adrian Georgescu
13 158 Adrian Georgescu
14 165 Adrian Georgescu
 * Multiple SIP accounts support
15
 * 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
 * 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
23 171 Adrian Georgescu
h2. Privacy
24
25
 * TLS for SIP signaling and MSRP media
26 172 Adrian Georgescu
 * ZRTP for RTP media (audio and video)
27 171 Adrian Georgescu
28 172 Adrian Georgescu
 
29 1 Adrian Georgescu
h2. Supported media
30
31 171 Adrian Georgescu
 * Audio and Video (RTP)
32 1 Adrian Georgescu
 * Instant Messaging (MSRP)
33
 * File Transfer (MSRP)
34
 * Screen Sharing (VNC over MSRP)
35
36
All media types can be combined together in the same SIP session.
37
38
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).
39 166 Adrian Georgescu
40
h2. Audio features
41
42
 * Conference Mixer
43
 * Wav Player and Recorder
44
 * Acoustic Echo Cancelation
45
 * Noise Suppression
46
 * Answering Machine
47
48
h3. Codecs
49
50
 * Ultra-wideband: OPUS 48kHz, Speex 32kHz
51
 * Wideband: Speex and G722
52
 * Narrowband: G711, iLBC, GSM
53 1 Adrian Georgescu
54 167 Adrian Georgescu
h2. Video features
55
56
h3. Codecs
57
58
 * H.264 codec
59 1 Adrian Georgescu
60
61 158 Adrian Georgescu
h2. Implemented Standards
62 1 Adrian Georgescu
63
64
65 158 Adrian Georgescu
h3. SIP Signaling
66 1 Adrian Georgescu
67
68 158 Adrian Georgescu
* SIP, Session Initiation Protocol "RFC3261":http://tools.ietf.org/html/rfc3261 
69
* SDP, Session Description Protocol "RFC4566":http://tools.ietf.org/html/rfc4566 
70
* An Offer/Answer Model with Session Description Protocol (SDP) "RFC3264":http://tools.ietf.org/html/rfc3264 
71
* Reliability of Provisional Responses in Session Initiation Protocol "RFC3262":http://tools.ietf.org/html/rfc3262
72
* HTTP Authentication: Basic and Digest Access Authentication "RFC2617":http://tools.ietf.org/html/rfc2617
73
* The Reason Header Field for the Session Initiation Protocol "RFC3326":http://tools.ietf.org/html/rfc3326
74
* The Session Initiation Protocol (SIP) Refer Method "RFC3515":http://tools.ietf.org/html/rfc3515
75
* The Session Initiation Protocol (SIP) "Replaces" Header "RFC 3891":http://tools.ietf.org/html/rfc3891
76
* Session Initiation Protocol (SIP) Call Control - Transfer "RFC 5589":http://tools.ietf.org/html/rfc5589
77
* Obtaining and Using Globally Routable User Agent URIs (GRUUs) "RFC 5627":http://tools.ietf.org/html/rfc5627
78
79
80
h3. Address Resolution
81
82
83
* Locating SIP services: "RFC3263":http://tools.ietf.org/html/rfc3263
84
* Bonjour multicast DNS: http://tools.ietf.org/html/draft-lee-sip-dns-sd-uri-03
85
86
87
h3. NAT Traversal
88
89
90
* SIP Signaling: Symmetric Response Routing Symmetric media "RFC3581":http://tools.ietf.org/html/rfc3581
91
* STUN: Session Traversal Utilities for NAT "RFC3489":http://tools.ietf.org/html/rfc3489
92
* RTP media (Audio and Video): ICE, Interactive Connectivity Establishment "RFC5245":http://tools.ietf.org/html/rfc5245
93
* MSRP media (Instant Messaging and File Transfer): MSRP protocol relay extension "RFC4976":http://tools.ietf.org/html/rfc4976
94
* MSRP Alternative Connection Model (ACM)  "RFC6135":http://tools.ietf.org/html/rfc6135
95 109 Adrian Georgescu
  
96 107 Adrian Georgescu
97 170 Adrian Georgescu
h3. Audio and Video
98 109 Adrian Georgescu
99 1 Adrian Georgescu
100 158 Adrian Georgescu
* RTP, A Transport Protocol for Real-Time Applications "RFC3550":http://tools.ietf.org/html/rfc3550
101
* Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP) "RFC3605":http://tools.ietf.org/html/rfc3605
102
* The Secure Real-time Transport Protocol (SRTP)  "RFC3711":http://tools.ietf.org/html/rfc3711
103 1 Adrian Georgescu
* Generation and parsing of RFC 2833/telephone-events payload in both RTP and SDP "RFC2833":http://tools.ietf.org/html/rfc2833
104 171 Adrian Georgescu
* ZRTP Encryption "RFC6189":http://tools.ietf.org/html/rfc6189
105 142 Adrian Georgescu
106 105 Adrian Georgescu
107 158 Adrian Georgescu
h3. Instant Messaging
108 1 Adrian Georgescu
109 109 Adrian Georgescu
110 158 Adrian Georgescu
* Common Presence and Instant Messaging (CPIM): "RFC 3862":http://tools.ietf.org/html/rfc3862
111
* Session Initiation Protocol (SIP) Extension for Instant Messaging  "RFC3428":http://tools.ietf.org/html/rfc3428
112
* MSRP Protocol "RFC4975":http://tools.ietf.org/html/rfc4975
113
* Indication of Message Composition for Instant Messaging "RFC3994":http://tools.ietf.org/html/rfc3994
114
* Message Summary Event Package "RFC3842":http://tools.ietf.org/html/rfc3842
115
* File Transfer "RFC5547":http://tools.ietf.org/html/rfc5547
116 153 Adrian Georgescu
117 109 Adrian Georgescu
118 168 Adrian Georgescu
h3. Screen Sharing
119 1 Adrian Georgescu
120 158 Adrian Georgescu
121
* Variation of "draft-garcia-mmusic-sdp-collaboration-00":http://tools.ietf.org/html/draft-garcia-mmusic-sdp-collaboration-00 using RFB over MSRP
122
123
h3. Conferencing
124
125
126
* Conference Event Package "RFC4575":http://tools.ietf.org/html/rfc4575
127
* A Framework for Conferencing with the Session Initiation Protocol "RFC4353":http://tools.ietf.org/html/rfc4353
128 1 Adrian Georgescu
* SIP Call Control - Conferencing for User Agents "RFC4579":http://tools.ietf.org/html/rfc4579
129 160 Adrian Georgescu
* MSRP ad-hoc multi-party chat sessions "draft-ietf-simple-chat":http://tools.ietf.org/html/draft-ietf-simple-chat-15
130 158 Adrian Georgescu
131
h3. Presence
132
133
* SIP Specific Event Notification (SUBSCRIBE and NOTIFY methods) "RFC3265":http://tools.ietf.org/html/rfc3265
134
* SIP Extension for Event State Publication (PUBLISH method) "RFC3903":http://tools.ietf.org/html/rfc3903     
135 159 Adrian Georgescu
* SIP Event Notification Extension for Resource Lists Contact Information Extension to PIDF "RFC4482":http://tools.ietf.org/html/rfc4662
136 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
137
* Watcher-info Event Package "RFC3857":http://tools.ietf.org/html/rfc3857, "RFC3858":http://tools.ietf.org/html/rfc3858
138
* Rich Presence Extensions to PIDF "RFC4480":http://tools.ietf.org/html/rfc4480
139
* Contact Information Extension to PIDF "RFC4482":http://tools.ietf.org/html/rfc4482
140
* User Agent Capability Extension to PIDF "RFC5196":http://tools.ietf.org/html/rfc5196 
141
* XCAP Protocol "RFC4825":http://www.tools.ietf.org/html/rfc4825
142
* Common Policy "RFC4745":http://www.tools.ietf.org/html/rfc4745  
143
* Presence Rules "RFC5025":http://www.tools.ietf.org/html/rfc5025
144
* Resource Lists "RFC4826":http://www.tools.ietf.org/html/rfc4826
145
* RLS Services "RFC4826":http://www.tools.ietf.org/html/rfc4826
146 161 Adrian Georgescu
* RLMI document handling "RFC4662":http://www.tools.ietf.org/html/rfc4662
147 158 Adrian Georgescu
* PIDF manipulation "RFC4827":http://www.tools.ietf.org/html/rfc4827
148
* XCAP Diff "RFC5874":http://tools.ietf.org/html/rfc5874
149
* 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
150
* OMA XML "Document Management V1.1":http://www.openmobilealliance.org/technical/release_program/xdm_v1_1.aspx