1/43
2/43
Voice & Video 3/43
Voice & Video Conference Calls 4/43
Voice & Video Conference Calls Call Encryption 5/43
Video Conf Calls 6/43
MS Outlook Integration 7/43
MS Outlook Integration 8/43
MS Outlook Integration 9/43
10/43
Desktop Streaming 11/43
Other Features 12/43
KamailioWorld 2013 emil.ivov@jitsi.org 13/22
CUSAX: Combined Use of SIP and XMPP draft-ivov-xmpp-cusax Emil Ivov - Jitsi Peter Saint-Andre - Cisco Enrico Marocco - Telecom Italia
CUSAX: Why? Existing SIP server implementations often have: Rich sets of telephony features (voicemail, call queues, call parking, 3PCC ) Support for media services (transcoding, call mixing, HNT etc.) Abundance of PSTN gateways Relatively poor support for things like presence, instant messaging, server stored contact lists, file transfer, etc. Existing XMPP server implementations often have: Great support for things like presence, instant messaging, server stored contact lists, file transfer, etc. Poor or no support for anything related to telephony Mostly an implementation issue Entirely based on requests from Unified Communication service provider 15/10
CUSAX: What? Double stack clients SIP+XMPP clients Connect simultaneously to SIP and XMPP infrastructure Use SIP for VoIP (only!). No XCAP, no MSRP XMPP for IMP and everything else (no Jingle) XMPP Server CUSAX Client SIP Server 16/10
CUSAX Approach Not specifying new stuff. Reuse vcard-s SIP (Call-Info) headers 17/10
CUSAX: Matching JIDs to AORs Retrieve SIP AORs from vcard-s <vcard xmlns='vcard-temp'> <TEL> <CELL/> <WORK/> <NUMBER>+33.1.77.62.43.39</NUMBER> </TEL> </vcard> <vcard xmlns='vcard-temp'> <TEL> <CELL/>` <WORK/> <NUMBER>sip:alice@atlanta.com</NUMBER> </TEL> </vcard> 18/10
CUSAX: Matching JIDs to AORs Retrieve JIDs from additional SIP (Contact) headers INVITE sip:bob@biloxi.com SIP/2.0 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.com>;tag=1928301774 Contact: <sip:alice@pc33.atlanta.com;gr=some-rsrc> Call-Info: <xmpp:alice@example.com> ;purpose=impp 19/10
CUSAX: Related Work Similar to SIXPAC but: Does not introduce new SIP headers Does not add new stanza Little interaction between both protocols 20/10
CUSAX: Other Details SIP and XMPP infrastructure are meant to be provided by a single maintainer. Account provisioning recommended but out of scope Service Login ID: [ ] Service Passwd: [ ] Service Login SIP ID: [ ] SIP Passwd: [ ] SIP Server: [ ] XMPP JID: [ ] XMPP Passwd:[ ] OK! NOT REALLY OK! 21/10
KamailioWorld 2013 emil.ivov@jitsi.org 22/22
Conventional Audio Conferencing Client C stream C mix A+B Dedicated Mixer Client A Client B KamailioWorld 2013 emil.ivov@jitsi.org 23/22 23/43
Audio Mixing Client A s speech + Client B s speech + Client C s speech = Conf Mix A+B+C img src: audacity! KamailioWorld 2013 emil.ivov@jitsi.org 24/22 24/43
Conventional (ad hoc) Audio Conferencing Client C stream C mix A+B+D ad hoc Jitsi mixer D Client A Client B KamailioWorld 2013 emil.ivov@jitsi.org 25/22 25/43
Video Mixing Client A s video + Client B s video + Client C s video + Client C s video = Conf Mix A+B+C img src: xkcd.org! KamailioWorld 2013 emil.ivov@jitsi.org 26/22 26/43
Conventional (ad hoc) Video Conferencing Client C stream C mix A+B+D ad hoc heavy weight video mixer D Client A Client B KamailioWorld 2013 emil.ivov@jitsi.org 27/22 27/43
Conventional (ad hoc) Video Conferencing not such a good idea. Client C stream C mix A+B+D NO WAY!!! ad hoc heavy weight video mixer D Client A Client B KamailioWorld 2013 emil.ivov@jitsi.org 28/22 28/43
RTP Relaying Client C stream C stream A stream B stream D Jitsi as ad hoc RTP relay D Client A Client B KamailioWorld 2013 emil.ivov@jitsi.org 29/22 29/43
KamailioWorld 2013 emil.ivov@jitsi.org 30/22 30/43
KamailioWorld 2013 emil.ivov@jitsi.org 31/43 31/22
KamailioWorld 2013 emil.ivov@jitsi.org 32/22 32/43
Jitsi Videobridge A COLIBRI Reference Implementation Jitsi Videobridge create channels XMPP server client A client C Focus B KamailioWorld 2013 emil.ivov@jitsi.org 33/22 33/43
Jitsi Videobridge XMPP server XMPP Jingle session-initiate client A client C Focus B KamailioWorld 2013 emil.ivov@jitsi.org 34/22 34/43
Jitsi Videobridge Jitsi Videobridge stream A stream B stream C client A client C Focus B KamailioWorld 2013 emil.ivov@jitsi.org 35/22 35/43
KamailioWorld 2013 emil.ivov@jitsi.org 36/22 36/43
Jitsi Videobridge and CUSAX Jitsi Videobridge SIP server create channels XMPP server client A client C Focus B (This could be Kamailio) KamailioWorld 2013 emil.ivov@jitsi.org 37/22 37/43
Jitsi Videobridge and CUSAX Jitsi Videobridge SIP server XMPP server INVITE A INVITE C client A client C Focus B (This could be Kamailio) KamailioWorld 2013 emil.ivov@jitsi.org 38/22 38/43
Jitsi Videobridge and CUSAX Jitsi Videobridge stream A stream B stream C client A client C Focus B (This could be Kamailio) KamailioWorld 2013 emil.ivov@jitsi.org 39/22 39/43
KamailioWorld 2013 emil.ivov@jitsi.org 40/22 40/43
KamailioWorld 2013 emil.ivov@jitsi.org 41/22 41/43
KamailioWorld 2013 emil.ivov@jitsi.org 42/22 42/43
KamailioWorld 2013 emil.ivov@jitsi.org 43/43 43/22