410 likes | 543 Views
State of the art, easy to use SIP client. Adrian Georgescu Founder and CEO of AG Projects Advocate of IETF standards Co-chair of the Dutch ISOC SIP WG Treasurer of OpenSIPS Software Foundation http:// opensips.org. I always wanted to create an easy to use real-time communications software.
E N D
Adrian Georgescu Founder and CEO of AG Projects Advocate of IETF standards Co-chair of the Dutch ISOC SIP WG Treasurer of OpenSIPS Software Foundation http://opensips.org
I always wanted to create an easy to use real-time communications software
Not for just for plain telephony but also for other desirable forms of communication: Wideband Audio, Instant Messaging, File Transfers and Desktop Sharing
I was lucky being mentored by Henry Sinnreich, The Godfather of SIP
Most of all relevant Internet technologies are embedded into such software
Those who have tried and succeeded are silos, they do not interoperate and are not using Open Standards
What does one need to create a compelling end-user experience for a SIP client application?
And one needs a good SIP server implementation with all relevant features to make it work
By building the servers, one understands how SIP clients should behave
In 2008, we ended being involved into building relevant SIP infrastructure elements in use by many SIP operators today
We have created in this process what is AG Projects core business today, selling SIP infrastructure
We gained the necessary experience required for building the SIP client
Phase 2. The foundation Started the design of the necessary libraries, fall of 2008
SIP SIMPLE client SDK SIP SIMPLE client SDK is a Software Development Kit for development of Real Time Applications based on SIP and related protocols for media transport like Presence, Audio and Instant Messaging (IM). Other media types can be easily added by using an extensible high-level API.
Target Platforms The SDK has cross platform capabilities on Linux, Mac OSX, Microsoft Windows is on the roadmap.
General Features Written in Python Programming Language Non-blocking, asynchronous behavior High Level Middleware with Configuration Framework TLS Security for signaling (SIP) and media (MSRP, XCAP) Multiple media types per Session (Audio + Video + IM + File Transfer) re-INVITE for adding and removing media to and from SIP sessions Audio Conferencing, Presence, session based IM, HD Video (roadmap) Wide-band Internet codecs: Speex, G722 Narrow-band codecs: G711, iLBC, GSM
SIP Signaling Session Initiation Protocol RFC3261 Session Description Protocol RFC4566 An Offer/Answer Model with SDP RFC4566
Location Discovery Next hop address resolution RFC3263 (DNS NAPTR, SRV, A record lookups) Multicast DNS (a.k.a. Bonjour) draft-lee-sip-dns-sd-uri-03 Other next hop lookup mechanisms can be easily added (e.g. P2PSIP)
NAT Traversal SIP Signaling: Symmetric Response Routing Symmetric media RFC3581 RTP media (Audio and Video): Interactive Connectivity Establishment (ICE) RFC5245 MSRP media (IM and File Transfers): Relay Extension RFC4976 and MSRP-ACM
Voice and Video over IP RTP, A Transport Protocol for Real-Time Applications RFC3550 Real Time Control Protocol (RTCP) attribute in Session Description Protocol RFC3605 The Secure Real-time Transport Protocol (SRTP) RFC3711 Generation and parsing of telephone-events payload in both RTP and SDP RFC283
Multi-party Conferencing Conference Event Package RFC4575 A Framework for Conferencing with the SIP RFC4353 (work in progress) SIP Call Control - Conferencing for User Agents RFC4579 (work in progress) MSRP ad-hoc multi-party chat sessions draft-ietf-simple-chat-06 (work in progress)
Instant Messaging Common Presence and Instant Messaging (CPIM): RFC3862 Session Initiation Protocol (SIP) Extension for Instant Messaging RFC3428 MSRP Protocol RFC4975 Indication of Message Composition for Instant Messaging RFC3994 Message Summary Event Package RFC3842 File Transfers RFC5547 Desktop Sharing: draft-garcia-mmusic-sdp-collaboration-00 using RFB over MSRP
Presence SIP Specific Event Notification RFC3265 SIP Extension for Event State Publication RFC3903 Presence Data Model (PIDF) RFC3863, RFC3379, RFC4479 Watcher-info Event Package RFC3857, RFC3858 Rich Presence Extensions to PIDF RFC4480 Contact Information Extension to PIDF RFC4482 User Agent Capability Extension to PIDF RFC5196 XCAP Protocol RFC4825 Common Policy RFC4745 Presence Rules RFC5025 Resource Lists RFC4826 RLS Services RFC4826 PIDF manipulation RFC4827
SIP SIMPLE client SDK The software has undergone in the past years several interoperability tests at SIPIT and today is of industry strength quality. The software is now available at: http://SipSimpleClient.com
Having the foundation in place we moved to the next stage Phase 2. The design of the GUI
I stole a bit from Skype and iChat … “It's not where you take things from - it's where you take them to”. Jean-Luc Godard
Live Demo Well almost…
Adrian Georgescu ag@ag-projects.com Twitter: agprojects http://icanblink.com