You are on page 1of 43

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

Dedicated Mixer

mix A+B

Client A

Client B

KamailioWorld 2013

emil.ivov@jitsi.org

23/43 23/22

Audio Mixing

Client As speech + Client Bs speech + Client Cs speech

Conf Mix A+B+C

KamailioWorld 2013

img src: audacity!

emil.ivov@jitsi.org

24/43 24/22

Conventional (ad hoc) Audio Conferencing

Client C
mix A+B+D stream C

ad hoc Jitsi mixer D

Client A

Client B

KamailioWorld 2013

emil.ivov@jitsi.org

25/43 25/22

Video Mixing
Client As video

+
Client Bs video

+
Client Cs video

+
Client Cs video

Conf Mix A+B+C

KamailioWorld 2013

=
img src: xkcd.org!

emil.ivov@jitsi.org

26/43 26/22

Conventional (ad hoc) Video Conferencing

Client C
mix A+B+D stream C

ad hoc heavy weight video mixer D

Client A

Client B

KamailioWorld 2013

emil.ivov@jitsi.org

27/43 27/22

Conventional (ad hoc) Video Conferencing not such a good idea .

Client C
mix A+B+D stream C

NO WAY!!!
ad hoc heavy weight video mixer D

Client A

Client B

KamailioWorld 2013

emil.ivov@jitsi.org

28/43 28/22

RTP Relaying

Client C
stream D stream B stream A stream C

Jitsi as ad hoc RTP relay D

Client A

Client B

KamailioWorld 2013

emil.ivov@jitsi.org

29/43 29/22

KamailioWorld 2013

emil.ivov@jitsi.org

30/43 30/22

KamailioWorld 2013

emil.ivov@jitsi.org

31/43 31/22

KamailioWorld 2013

emil.ivov@jitsi.org

32/43 32/22

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/43 33/22

Jitsi Videobridge

XMPP server

XMPP Jingle session-initiate

client A

client C

Focus B

KamailioWorld 2013

emil.ivov@jitsi.org

34/43 34/22

Jitsi Videobridge
Jitsi Videobridge

stream A

client A

stream C

stream B

client C

Focus B

KamailioWorld 2013

emil.ivov@jitsi.org

35/43 35/22

KamailioWorld 2013

emil.ivov@jitsi.org

36/43 36/22

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/43 37/22

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/43 38/22

Jitsi Videobridge and CUSAX


Jitsi Videobridge

stream A

client A

stream C

stream B

client C

Focus B (This could be Kamailio)

KamailioWorld 2013

emil.ivov@jitsi.org

39/43 39/22

KamailioWorld 2013

emil.ivov@jitsi.org

40/43 40/22

KamailioWorld 2013

emil.ivov@jitsi.org

41/43 41/22

KamailioWorld 2013

emil.ivov@jitsi.org

42/43 42/22

KamailioWorld 2013

emil.ivov@jitsi.org

43/43 43/22

You might also like