sip conferencing reloaded

38
Saúl Ibarra Corretgé

Upload: saul-ibarra-corretge

Post on 19-May-2015

5.330 views

Category:

Technology


0 download

DESCRIPTION

Slides from the talk given at ITExpo East 2012

TRANSCRIPT

Page 1: SIP Conferencing Reloaded

Saúl Ibarra Corretgé

Page 2: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

AG Projects

● SIP infrastructure for providers● SIPThor: horizontal scalability without user limit● Software projects:

● Blink● SIPSIMPLE SDK● SylkServer● MediaProxy● OpenXCAP● MSRPRelay

Page 3: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Current state of the art

Page 4: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Page 5: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Conferencing today

● Usually mere RTP mixers● Conference calls need a context● Lack of multiplexed information

● Different media types● Session information● Participants information● Shared resources

● There is sometimes a nice website with information

Page 6: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SylkServer

Page 7: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SylkServer

● Open Source SIP application server● Conferencing

● HD audio● Chat● File transfer● Screen sharing

http://sylkserver.com

Page 8: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SIP Chatserver

● Chat server using MSRP

● Ad-hoc rooms● Join using SIP

2009 2011 20122010

Page 9: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

● SIP chatserver no longer worked with our latest APIs

● Needed a rewrite

2009 2011 20122010

Page 10: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Less than a week later...

Page 11: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SIP Chatserver Reloaded

● HD audio● Multiparty chat● Conference event

package

2009 2011 20122010

Page 12: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SylkServer 1.0.0

● HD audio conferencing● Multiparty chat● Participants information

2009 2011 20122010

Page 13: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Blink 0.24.0 + SylkServer 1.1.0● HD audio

conferencing● Multiparty chat● Participants

information● Add / remove

participants

2009 2011 20122010

Page 14: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Blink Pro 1.1.0 + SylkServer 1.2.0● HD audio

conferencing● Multiparty chat● Participants

information● Add / remove

participants● File transfers (push

and pull)

2009 2011 20122010

Page 15: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Blink Pro 1.6.0 + SylkServer 1.3.0● HD audio

conferencing● Multiparty chat● Participants

information● Add / remove

participants● File transfers (push

and pull)● Screensharing

2009 2011 20122010

Page 16: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

How does it actually work?

Page 17: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

MSRP

● Message Session Relay Protocol● Real IM (session based) for SIP● RFC 3428 (SIP MESSAGE) is not real IM● Very simple, just a couple of RFCs (4975 and 4976)● TLS is mandatory

Page 18: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

MSRP

● MSRP allows us to negotiate a TCP connection between 2 SIP endpoints● Instant Messaging● File transfer (RFC 5547)● Screen sharing– VNC over MSRP (expired draft)– Stream images

Page 19: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

MSRP

v=0

o=- 3519532764 3519532764 IN IP4 192.168.1.43

s=Blink Pro 1.1.2 (MacOSX)

c=IN IP4 192.168.1.43

t=0 0

m=message 2855 TCP/TLS/MSRP *

a=path:msrps://192.168.1.43:2855/fd5a5fbfe517e6c2ed76;tcp

a=accept-types:message/cpim text/* application/im-iscomposing+xml

a=accept-wrapped-types:*

a=setup:active

Page 20: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

MSRP

v=0

o=- 3519533090 3519533090 IN IP4 192.168.1.43

s=Blink Pro 1.1.2 (MacOSX)

c=IN IP4 192.168.1.43

t=0 0

m=message 2855 TCP/TLS/MSRP *

a=path:msrps://192.168.1.43:2855/15be969db481aaa26f35;tcp

a=sendonly

a=accept-types:*

a=accept-wrapped-types:*

a=setup:active

a=file-selector:name:"clever_algorithms.pdf" type:application/pdf size:3133774 hash:sha1:87:F7:A7:5A:F5:48:0F:8A:DD:3F:D8:49:F0:86:51:93:A2:9B:89:19

Page 21: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

A SIP conference server

Page 22: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Contact: <sip:[email protected]:5060>;isfocus

Page 23: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Conference event package

SUBSCRIBE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP 192.168.1.43:60530;rport;branch=z9hG4bKPjEgakb...

Max-Forwards: 70

From: "Saúl" <sip:[email protected]>;tag=I3OcER0qmkv...

To: <sip:[email protected]>

Contact: <sip:[email protected]:60530>

Call-ID: cv8.LQxG4qjcDZSxOZKoOhQr0OF7lz-Z

CSeq: 26852 SUBSCRIBE

Event: conference

Expires: 3600

Accept: application/conference-info+xml

Allow-Events: conference, message-summary, presence, presence.winfo, xcap-diff, refer

User-Agent: Blink Pro 1.1.2 (MacOSX)

Content-Length: 0

Page 24: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

RFC4575 payload

<conference-description> <display-text>Ad-hoc conference</display-text> <free-text>Hosted by SylkServer-1.2.1</free-text></conference-description><host-info> <web-page>http://sylkserver.com</web-page></host-info><conference-state> <user-count>1</user-count> <active>true</active></conference-state>

Page 25: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

RFC4575 payload

<users state="full"> <user entity="sip:[email protected]" state="full"> <display-text>Saúl</display-text> <endpoint entity="sip:[email protected]:60530" state="full"> <display-text>Saúl</display-text> <status>connected</status> <joining-info><when>2011-07-13T23:39:07+02:00</when></joining-info> <media id="152141036"><type>message</type></media> </endpoint> </user></users>

Page 26: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

RFC4575 payload

<agp-conf:resources>

<agp-conf:files>

<agp-conf:file name="fry.png" hash="sha1:E1:FA:5C:C2:0A:95:DC:3C:C0:7E:AD:F6:25:50:BB:62:D9:F5:B8:3B" size="177533" sender="Saul <sip:[email protected]>" status="OK"/>

</agp-conf:files>

</agp-conf:resources>

Page 27: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Adding / removing participants

REFER sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP 192.168.99.36:65017;rport;branch=z9hG4bKPjjao...

Max-Forwards: 70

From: "Saúl" <sip:[email protected]>;tag=7HXkWbL...

To: <sip:[email protected]>

Contact: <sip:[email protected]:65017>

Call-ID: oiXv9JpNLp9f8GbRLDYw6dVrEnhU7On0

CSeq: 15438 REFER

Event: refer

Accept: message/sipfrag;version=2.0

Allow-Events: conference, message-summary, presence, presence.winfo, xcap-diff, refer

Refer-To: <[email protected]>;method=INVITE

Referred-By: sip:[email protected]

User-Agent: Blink Pro 1.3.0 (MacOSX)

Content-Length: 0

Page 28: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

What about Asterisk?

Page 29: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Basic conference info with Asterisk (idea)

Page 30: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

BYE

Page 31: SIP Conferencing Reloaded

1. Everything should be a building block

Page 32: SIP Conferencing Reloaded

2. Our customers need help

Page 33: SIP Conferencing Reloaded

3. Use Open Standards

Page 34: SIP Conferencing Reloaded

4. “Let's build it before we're too old to enjoy it”

Carl G. Fisher

Page 35: SIP Conferencing Reloaded

5. “Skate to where the puck is going to be, not

where it has been”Wayne Gretzky

Page 36: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Page 37: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

BYE sip:audience@itexpo SIP/2.0Via: 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@itexpo>;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

[email protected]

sip:[email protected]

@saghul

Page 38: SIP Conferencing Reloaded

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

References

● MSRP protocol (RFC4575, RFC4576)● MSRP file transfer (RFC5547)● MSRP switch (draft-ietf-simple-chat)● Conference event package (RFC4575)● A framework for conferencing with SIP (RFC4353)● Conferencing for User Agents (RFC4579)