developing rich voip sip applications with sipsimple sdk...2011/02/25 · ag projects developing...
TRANSCRIPT
![Page 1: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/1.jpg)
Developing rich VoIP SIP applicationswith SIPSIMPLE SDK
Because G711 is not enoughSaúl Ibarra Corretgé | AG Projects
![Page 2: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/2.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
What is SIPSIMPLE SDK?
● Framework to develop rich SIP applications● Rich SIP applications?
● HD audio, MSRP chat, fle transfer, desktop sharing, presence, etc.
● Written in Python● Core written in C + Python (Cython)
● Flexible● Suitable for server and client applications
![Page 3: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/3.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
What is SIPSIMPLE SDK? (2)
● Extensible● High level APIs for all expected functionality
● Standard● RFC compliant
● Cross platform● Windows, GNU/Linux, Mac OSX (10.5 or
higher)● Open Source: LGPL
![Page 4: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/4.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Feature set
![Page 5: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/5.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Features (VoIP)
● HD audio (G722, speex)
● Secure RTP (SRTP)
● NAT traversal support with ICE
● Multi-party audio conferencing (builtin)
![Page 6: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/6.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Features (Instant Messaging)
● Chat sessions over MSRP
● Simple messaging with SIP MESSAGE
● TLS support for MSRP
● NAT traversal using MSRP relay extension or ACM
● Support for subscribing to 'conference' event
![Page 7: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/7.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Features (File Transfer & Desktop Sharing)
● File transfer over MSRP stream
● Desktop sharing using VNC over MSRP● Remote control!
![Page 8: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/8.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Implementation examples
![Page 9: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/9.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Implementation example: Blink Cocoa
![Page 10: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/10.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Implementation example: Blink Qt
![Page 11: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/11.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Implementation example: SylkServer
![Page 12: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/12.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer birth
Lets fix the chatserver andbring it up to date.
That will require almost acomplete rewrite!
Then lets improve it: addaudio support, subscriptions tothe conference event, other applications...
![Page 13: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/13.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Talk is cheap.Show me the code.
![Page 14: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/14.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer application skeleton
![Page 15: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/15.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer application: James Bond
● Reject call if no audio is proposed● Answer the call immediately● Play the James Bond theme song
![Page 16: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/16.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer application: Chuck Norris Messenger
● Get a bunch of nice Chuck Norris Facts
● Reply with a random one for each incoming SIP MESSAGE
![Page 17: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/17.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer application: Chuck Norris Messenger 2
● Get a bunch of nice Chuck Norris Facts
● Handle incoming sessions with MSRP chat
● Reply with a random Chuck Norris fact to any message received
![Page 18: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/18.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer application: AudioConf
● Single room audio conference● Bridge everyone into the same
room when they join
![Page 19: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/19.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SylkServer application: Twitter Search
● Chat something@server● Get a big chat message with the last 15
tweets with 'something' on them
![Page 20: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/20.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SIP client: Hello World 1
● Simple SIP client which calls to [email protected]
● Uses the default Bonjour account (always present)
● Simplest possible example
![Page 21: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/21.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
SIP client: Hello World 2
● Extension of helloworld1● Call any SIP URI● Hangup● CLI style interface● Also very simple
![Page 22: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/22.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Resources
● SIPSIMPLE SDK (LGPL)● http://sipsimpleclient.com
● Blink SIP client (GPLv3)● http://icanblink.com
● SylkServer SIP application server (GPLv3)● http://sylkserver.com
● Code used in this presentation (GPLv3)● http://github.com/saghul/sipsimple-examples
![Page 23: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/23.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
Questions?
![Page 24: Developing rich VoIP SIP applications with SIPSIMPLE SDK...2011/02/25 · AG Projects Developing rich SIP applications with SIPSIMPLE SDK The SIP Infrastructure Experts FOSDEM 2011](https://reader033.vdocuments.mx/reader033/viewer/2022051607/6039c4417f089229fc60e6a2/html5/thumbnails/24.jpg)
AG Projects Developing rich SIP applications with SIPSIMPLE SDKThe SIP Infrastructure Experts
FOSDEM 2011
BYEBYE sip:audience@fosdem2011 SIP/2.0
Via: SIP/2.0/UDP 192.168.99.23:49919;rport;branch=z9hG4bKPjDb30Dx0sH-ozn9QB.cCCboyU.atR97aMMax-Forwards: 70From: "saghul" <sip:[email protected]>;tag=UCpGKVZbQQx7BUKYtiuPEX668oa9jaU7To: <sip:audience@fosdem2011>;tag=as59aef35cCall-ID: DEWDfu63OACwYeQk7MrhmRhRq.1cqqisCSeq: 10633 BYERoute: <sip:81.23.228.129;lr;ftag=UCpGKVZbQQx7BUKYtiuPEX668oa9jaU7;did=641.a8a9c553>User-Agent: blink-0.20.2Content-Length: 0
@saghul