webrtc : exploration through the question of...

Post on 02-Aug-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

WEBRTC : EXPLORATION THROUGH THE QUESTIONOF INTEROPERABILITY WITH SIP

Soutenance17/06/2013

Ornella Annicchiarico, Benoit Le Quéau, Mouhcine Mendil, Florian Seka

1

CONTENT

2

I. Objectives

II. Infrastructure solutions

III. Experiments

IV. Demonstration

OBJECTIVES I-Objectives II- Infrastructure solutions III-Experiments

Browser BlocSIPphone

3

OBJECTIVES I-Objectives II- Infrastructure solutions III-Experiments

Browser BlocSIPphone

WebRTC

3

OBJECTIVES I-Objectives II- Infrastructure solutions III-Experiments

Browser BlocSIPphone

WebRTC

3

WEBRTC

4

I-Objectives II- Infrastructure solutions III-Experiments

SIPML 5 Browser

SipML5

BlocSIPphone

I-Objectives II- Infrastructure solutions III-Experiments

5

SIPML 5 Browser

SipML5

Sip stack

WebRTC

BlocSIPphone

I-Objectives II- Infrastructure solutions III-Experiments

5

ARCHITECTURE Browser

SipML5

Sip stack

WebRTC

Bloc

SIPphone

I-Objectives II- Infrastructure solutions III-Experiments

6

ARCHITECTURE Browser

SipML5

Sip stack

WebRTC

Bloc

RegistrarProxy SIP

RTPEngine

HTTP server

Websocket server

SIPphone

I-Objectives II- Infrastructure solutions III-Experiments

6

ARCHITECTURE Browser

SipML5

Sip stack

WebRTC

Bloc

RegistrarProxy SIP

RTPEngine

HTTP server

Websocket server

SIPphone

HTMLwebapp.js

HTTP GET

I-Objectives II- Infrastructure solutions III-Experiments

6

ARCHITECTURE Browser

SipML5

Sip stack

WebRTC

Bloc

RegistrarProxy SIP

RTPEngine

HTTP server

Websocket server

SIPphone

HTMLwebapp.js

HTTP GET

SIP over

WS SIP

SIP

I-Objectives II- Infrastructure solutions III-Experiments

6

ARCHITECTURE Browser

SipML5

Sip stack

WebRTC

Bloc

RegistrarProxy SIP

RTPEngine

HTTP server

Websocket server

SIPphone

HTMLwebapp.js

HTTP GET

SIP over

WS SIP

SIPSRTP

RTP

I-Objectives II- Infrastructure solutions III-Experiments

6

ARCHITECTURE Browser

SipML5

Sip stack

WebRTC

Bloc

RegistrarProxy SIP

RTPEngine

HTTP server

Websocket server

SIPphone

HTMLwebapp.js

HTTP GET

SIP over

WS SIP

SIPSRTP

RTP

I-Objectives II- Infrastructure solutions III-Experiments

6

• Proxy and server SIP :

- Asterisk v 11.2.2

- Additional patch for VP8 support

OUR SOLUTION

7

Asterisk11.2.2

I-Objectives II- Infrastructure solutions III-Experiments

SCENARIOS AND TESTS

8

sipML5

javascript

WebRTC

FireBug

PCVirtual Machine

Asterisk

RTP debugSIP debug

(CLI)

Wireshark

eth0

I-Objectives II- Infrastructure solutions III-Experiments

SCENARIO 1: AUDIO CALL

• Scenario : an audio call between a browser and a softphone

• Registration is performed

• Need a websocket server and a proxy SIP (provided by Asterisk)

• VM network is on bridge

9

Chrome

I-Objectives II- Infrastructure solutions III-Experiments

192.168.0.45 192.168.0.46

192.168.0.11

Asterisk

192.168.0.25

g711

X Lite

g711

Host machine

AUDIO CALL CALL FLOW

Browser Softphone(already registered)

Asterisk

INVITE SDP

401 Unauthorized

ACK

INVITE SDP

100 Trying

WS [INVITE SDP]

180 Ringing

WS [200 OK]

RTP

WS [100 Trying]WS [180 Ringing]

SRTP

200 OK

• Signaling encapsuled in Websocket

Les trames SRTP ne sont pas encapsulées dans du websocket.

Notre version de wireshark ne reconnait pas SRTP, il indique que c’est sur de l’UDP.

WS[REGISTER]

WS[401 Unautho

rized]

WS[REGISTER]

10

WS[200 OK]

AUDIO CALL CALL FLOW

Browser Softphone(already registered)

Asterisk

INVITE SDP

401 Unauthorized

ACK

INVITE SDP

100 Trying

WS [INVITE SDP]

180 Ringing

WS [200 OK]

RTP

WS [100 Trying]WS [180 Ringing]

SRTP

200 OK

• Signaling encapsuled in Websocket

Les trames SRTP ne sont pas encapsulées dans du websocket.

Notre version de wireshark ne reconnait pas SRTP, il indique que c’est sur de l’UDP.

WS[REGISTER]

WS[401 Unautho

rized]

WS[REGISTER]

10

WS[200 OK]

AUDIO CALL CALL FLOW

Browser Softphone(already registered)

Asterisk

INVITE SDP

401 Unauthorized

ACK

INVITE SDP

100 Trying

WS [INVITE SDP]

180 Ringing

WS [200 OK]

RTP

WS [100 Trying]WS [180 Ringing]

SRTP

200 OK

• Signaling encapsuled in Websocket

Les trames SRTP ne sont pas encapsulées dans du websocket.

Notre version de wireshark ne reconnait pas SRTP, il indique que c’est sur de l’UDP.

WS[REGISTER]

WS[401 Unautho

rized]

WS[REGISTER]

10

WS[200 OK]

SCENARIO II:AUDIOCONFERENCE

• adding modules in Asterisk: MeetMe, ConfBridge

• Dial-In

• DTMF in SIP INFO 192.168.0.33

192.168.0.46

192.168.0.45

11

192.168.0.11

AsteriskHost machine

192.168.0.25

g711

g711

g711

LinPhone

I-Objectives II- Infrastructure solutions III-Experiments

SCENARIO III:PRESENCE

12

Browser Asterisk

WS [NOTIFY]

WS [200 OK]

WS[SUSCRIBE]

WS[401 Unautho

rized]

WS[200 OK]

WS[SUSCRIBE]

Status of userX ?

I-Objectives II- Infrastructure solutions III-Experiments

Change of userX’s status

WS [NOTIFY]

WS [200 OK]

192.168.0.45 192.168.0.46

192.168.0.11

Asterisk

192.168.0.25

g711

X Lite

g711

Host machine

SCENARIO III:PRESENCE

12

Browser Asterisk

WS [NOTIFY]

WS [200 OK]

WS[SUSCRIBE]

WS[401 Unautho

rized]

WS[200 OK]

WS[SUSCRIBE]

Status of userX ?

I-Objectives II- Infrastructure solutions III-Experiments

Change of userX’s status

WS [NOTIFY]

WS [200 OK]

192.168.0.45 192.168.0.46

192.168.0.11

Asterisk

192.168.0.25

g711

X Lite

g711

Host machine

SCENARIO IV: VIDEO

• Works between softphones using h264, h263, VP8

• Asterisk needs to be patched to be VP8-compliant

192.168.0.25 192.168.0.46

13

192.168.0.11

Asterisk

192.168.0.25

h.264 h.264

X Lite iDoubs

I-Objectives II- Infrastructure solutions III-Experiments

Host machine

CONCLUSION• WebRTC:

- only VP8 available- works only with Chrome and Firefox• Asterisk:

- No video transcoding‣ external transcoder: webrtc2sip ?

- WebRTC users ≠ Softphone users

• other solutions: jsSIP/OverSIP...14

DEMONSTRATION !

OUR HTML5 CLIENT

16

• Deployed on Asterisk HTTP Server

APPENDIX

• SIP messages encapsulated in WebSocket.

• No WebSocket on media plan.

APPENDIX

• https://wiki.asterisk.org/wiki/display/AST/Video+Telephony

VARIABILITY OF TESTSOS du PBX CentOS Ubuntu

PBX PIAF-Green Asterisk Kamailo OverSIP

OS utilisateur

Windows 8 OS X Ubuntu Android iOS

SoftphoneSipInside,

X LiteTelephone,

iDoubs Zoiper Sipdroid Linphone,Media5-fone

NavigateurFirefox Nightly Chrome Bowser

CONFERENCE CALL FLOWComputer ComputerAsterisk SoftphoneAsterisk

INVITE SDP

401 Unauthorized

ACK

INVITE SDP

100 Trying

200 OK

ACK

RTP

WS[INVITE SDP]

WS[401 Unauthorized]

WS[ACK]

WS[INVITE SDP]

WS[100 Trying]WS[200 OK]

WS[ACK]

UDP

WS[INVITE SDP]

WS[401 Unauthorized]

WS[ACK]

WS[INVITE SDP]

WS[100 Trying]

WS[200 OK]

WS[ACK]

UDP

top related