sip conferencing reloaded

Post on 19-May-2015

5.330 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from the talk given at ITExpo East 2012

TRANSCRIPT

Saúl Ibarra Corretgé

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

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Current state of the art

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

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

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SylkServer

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

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SIP Chatserver

● Chat server using MSRP

● Ad-hoc rooms● Join using SIP

2009 2011 20122010

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

● SIP chatserver no longer worked with our latest APIs

● Needed a rewrite

2009 2011 20122010

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Less than a week later...

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SIP Chatserver Reloaded

● HD audio● Multiparty chat● Conference event

package

2009 2011 20122010

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

SylkServer 1.0.0

● HD audio conferencing● Multiparty chat● Participants information

2009 2011 20122010

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

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

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

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

How does it actually work?

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

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

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

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

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

A SIP conference server

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Contact: <sip:test@81.23.228.139:5060>;isfocus

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Conference event package

SUBSCRIBE sip:test@conference.sip2sip.info SIP/2.0

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

Max-Forwards: 70

From: "Saúl" <sip:31208005163@ag-projects.com>;tag=I3OcER0qmkv...

To: <sip:test@conference.sip2sip.info>

Contact: <sip:cmugnheo@192.168.1.43: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

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>

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

RFC4575 payload

<users state="full"> <user entity="sip:31208005163@ag-projects.com" state="full"> <display-text>Saúl</display-text> <endpoint entity="sip:cmugnheo@83.43.224.233: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>

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:31208005163@ag-projects.com>" status="OK"/>

</agp-conf:files>

</agp-conf:resources>

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Adding / removing participants

REFER sip:agp@conference.sip2sip.info SIP/2.0

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

Max-Forwards: 70

From: "Saúl" <sip:31208005163@ag-projects.com>;tag=7HXkWbL...

To: <sip:agp@conference.sip2sip.info>

Contact: <sip:yoreqcfd@192.168.99.36: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: <saghul@sip2sip.info>;method=INVITE

Referred-By: sip:31208005163@ag-projects.com

User-Agent: Blink Pro 1.3.0 (MacOSX)

Content-Length: 0

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

What about Asterisk?

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

Basic conference info with Asterisk (idea)

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

BYE

1. Everything should be a building block

2. Our customers need help

3. Use Open Standards

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

Carl G. Fisher

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

where it has been”Wayne Gretzky

AG Projects SIP Conferencing ReloadedThe SIP Infrastructure Experts

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:saul@ag-projects.com>;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

saul@ag-projects.com

sip:saul@ag-projects.com

@saghul

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)

top related