Adrian Georgescu Founder and CEO of AG Projects Advocate of IETF standards (Internet Standards) Co-chair the Dutch ISOC SIP Special Interest Group Treasurer of OpenSIPS Software Foundation http:// opensips.org. SIP SIMPLE Client SDK.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Founder and CEO of AG Projects
Advocate of IETF standards (Internet Standards)
Co-chair the Dutch ISOC SIP Special Interest Group
Treasurer of OpenSIPS Software Foundation http://opensips.org
SIP SIMPLE Client SDK
The project started with my dream to create an easy to use Real Time Communications software library
Based on Open Standards related to SIP protocol
SIP stands for 'Session Initiation Protocol', an IETF standard described by RFC 3261.
SIP is an Internet application-layer control protocol that can establish, modify and terminate multimedia sessions such as Internet telephony calls (VoIP). Media can be added to (and removed from) an existing session.
SIP is not for just for plain telephony replacement but also for other desirable forms of communication:
HD Audio, Video, Instant Messaging and Desktop Sharing.
SIP is a future-proof protocol, think about email and www
I knew it was a difficult task
There are +1200 related standards today
Most of all relevant Internet technologies are embedded into a real-time communication software
Many have tried and many have failed to provide a future-proof solution
Those who have tried and succeeded are walled-garden 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 application?
First, it has to work!
For a SIP client to work, it needs good SIP server support with all relevant features
I started from my initial goal in 2003
Building SIP servers
One learns a lot from building SIP servers, understands how SIP clients should behave
In 2008, we finished building several relevant SIP server components in use by many operators today
OpenSIPS - SIP Proxy/Registrar/Presence Agent
MediaProxy - Relay for RTP media
MSRPRelay - Relay for MSRP media
OpenXCAP - Policy server for Presence
CDRTool - Accounting and Mediation
We have created in this process what is AG Projects core business today, selling turnkey SIP infrastructure
We gained the necessary experience required for building the SIP client
With this experience, we secured the necessary funding from an EU project in late 2007
We started building the foundation for a generic SIP client in early 2008.
We are now 90% done after 2 years of development
SIP SIMPLE client SDK
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.
The software has undergone in the past years several interoperability tests at SIPIT and today is of industry strength quality.
SIP SIMPLE client SDK
The library has cross platform capabilities on Linux OS, Mac OSX, Microsoft Windows is on the roadmap.
The library should work with minimal changes on any platform that supports C and Python development environments.
Written in Python Programming Language
Non-blocking and Asynchronous
High Level Middleware with Configuration Framework
TLS Security for signaling (SIP) and media (MSRP, XCAP)
Multiple Media Types per Session (e.g. Audio + IM)
Trace capability for all underlying protocols
Supports re-INVITE for adding and removing media
Audio Conference Bridge
Wav Player and Recorder
Acoustic Echo Cancelation
Answering Machine with take over support
Wide-band Internet codecs: Speex and G722
PSTN compatible codecs: G711, iLBC, GSM
Session Initiation Protocol RFC3261
Session Description Protocol RFC4566
An Offer/Answer Model with Session Description Protocol (SDP) RFC4566
RFC3263 next hop resolution lookup
Bonjour multicast DNS http://tools.ietf.org/html/draft-lee-sip-dns-sd-uri-03 (work in progress
SIP Signaling: Symmetric Response Routing Symmetric media RFC3581
RTP media (Audio and Video): Interactive Connectivity Establishment (ICE) draft-ietf-mmusic-ice-19
MSRP media (Instant Messaging and File Transfers): MSRP Protocol Relay Extension RFC4976
Voice and Video over IP
RTP, A Transport Protocol for Real-Time Applications RFC3550
Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP) RFC3605
The Secure Real-time Transport Protocol (SRTP) RFC3711
Generation and parsing of RFC 2833/telephone-events payload in both RTP and SDP RFC283
Conference Event Package RFC4575
A Framework for Conferencing with the Session Initiation Protocol 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-05 (work in progress)
Common Presence and Instant Messaging (CPIM): RFC 3862
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 Transfer RFC5547
Desktop Sharing: Variation of draft-garcia-mmusic-sdp-collaboration-00 using RFB over MSRP
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
Having the foundation in place, we went back to the design a Graphical User Interface SIP client
We secured the funding from AG Projects and NLNet Foundation
The key was simplicity and desirability
My father should be able to use it
My wife should find pleasure in using it
My son should be proud his father did it
Welcome to Blink!
My name is Adrian Georgescu