WebRTC - SIP over WebSocket

Konfigurationsdiskussionen bei Asterisk direkt

Moderatoren: rainer, Tim

Antworten
Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

WebRTC - SIP over WebSocket

Beitrag von rainer » Mi 12. Dez 2012, 11:09

Hi ...

ich versuche zur Zeit das WebRTC vom Asterisk zu konfigurieren.
Als Javascript Softphone teste ich das von http://www.jssip.net/.

Registrieren am Asterisk über WebSocket geht.
INVITE geht auch.

nur RTP Audio und Video wird noch nicht aufgebaut.

Gibt es noch einen der WebRTC zur Zeit testet???
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Mi 12. Dez 2012, 19:05

ok ... hab mal ein

ngrep "110" -qtW byline port 5060 or port 8088 -d any

auf "110" gemacht

Da sind zwei IP Adressen die nicht dahin gehören ...
173.172.2.208 und 151.105.39.118




.~..SIP/2.0 180 Ringing.
Via: SIP/2.0/TCP 173.172.2.208;branch=z9hG4bK5286610;received=192.168.8.11.
From: sip:1101@sip.soho-piper.de;tag=18krwj8kxk.
To: sip:1100@sip.soho-piper.de;tag=as6d931214.
Call-ID: vcap9y1c7hlxkjc5idx6.
CSeq: 4644 INVITE.
Server: Asterisk PBX 11.1.0.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH.
Supported: replaces, timer.
Contact: <sip:1100@192.168.8.1:5060;transport=WS>.
Content-Length: 0.
.


T 2012/12/12 18:48:30.533221 94.221.97.128:8088 -> 192.168.8.10:53266 [AP]
ACK sip:1100@151.105.39.118;transport=ws SIP/2.0.
Via: SIP/2.0/WS 192.168.8.1:5060;branch=z9hG4sededbK4a774a7c.
Max-Forwards: 70.
From: <sip:1101@192.168.8.1>;tag=as690f4abd.
To: <sip:1100@151.105.39.118;transport=ws>;tag=w5cdffqvh8rle.
Contact: <sip:1101@192.168.8.1:5060;transport=WS>.
Call-ID: 6f68a2af41494af1517aa0713bdf8634@192.168.8.1:5060.
CSeq: 102 ACK.
User-Agent: Asterisk PBX 11.1.0.
Content-Length: 0.
.


T 2012/12/12 18:48:30.544707 94.221.97.128:8088 -> 192.168.8.11:49350 [AP]
SIP/2.0 486 Busy Here.
Via: SIP/2.0/TCP 173.172.2.208;branch=z9hG4bK5286610;received=192.168.8.11.
From: sip:1101@sip.soho-piper.de;tag=18krwj8kxk.
To: sip:1100@sip.soho-piper.de;tag=as6d931214.
Call-ID: vcap9y1c7hlxkjc5idx6.
CSeq: 4644 INVITE.
Server: Asterisk PBX 11.1.0.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH.
Supported: replaces, timer.
X-Asterisk-HangupCause: User busy.
X-Asterisk-HangupCauseCode: 17.
Content-Length: 0.
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Mi 12. Dez 2012, 19:28

hmm ...

die Via IP kenne ich auch nicht ... 111.208.207.132 ... ich suche mal weiter


T 2012/12/12 19:22:41.760824 94.221.97.128:8088 -> 192.168.8.10:53362 [AP]
SIP/2.0 200 OK.
Via: SIP/2.0/TCP 111.208.207.132;branch=z9hG4bK5243425;received=192.168.8.10.
From: sip:1100@sip.soho-piper.de;tag=j8fzyxl51u.
To: sip:1010@sip.soho-piper.de;tag=as3bfa539c.
Call-ID: fg05v6z2h7iqamu4eipb.
CSeq: 4693 INVITE.
Server: Asterisk PBX 11.1.0.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH.
Supported: replaces, timer.
Contact: <sip:1010@192.168.8.1:5060;transport=WS>.
Content-Type: application/sdp.
Content-Length: 374.
.
v=0.
o=root 1696483620 1696483620 IN IP4 192.168.8.1.
s=Asterisk PBX 11.1.0.
c=IN IP4 192.168.8.1.
t=0 0.
m=audio 13972 RTP/SAVPF 8 0 101.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=ptime:20.
a=sendrecv.
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:1aQEMkPyy0GMqgxrTlr4zEfNDhk41oGbQWWPwcUF.
m=video 0 RTP/SAVPF 100 101 102
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Mi 12. Dez 2012, 20:09

grrrrr ... ich mache morgen weiter :roll:
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Do 13. Dez 2012, 07:44

Teilerfolg ... einseitiges Audio geht jetzt ... 8-)

Ich habe in der rtp.conf den icesupport eingeschaltet.

Code: Alles auswählen

icesupport=true 
und die WebRTC Clients in der sip.conf auf

Code: Alles auswählen

nat=force_rport,comedia
transport=udp,ws,wss
encryption = yes
avpf = yes
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Do 13. Dez 2012, 09:35

wow ... UDP Fragmentierung

mit dem eingeschalteten icesupport ist mein INVITE+SDP auf eine Content-Length: 2111 angestiegen. :(
Jetzt bekomme ich ein SIP/2.0 513 Message too big. zurück.

ich werde mal auf tcp umstellen.

Code: Alles auswählen

transport=tcp,ws,wss
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Di 8. Jan 2013, 22:24

hi ... und sorry, ist off topic

WebRTC und Asterisk ist noch nicht so mein Ding. :oops:

Ich hab mir jetzt ein nodejs socket:io WebSocket Server aufgesetzt und damit geht es.
Mit der Chrome Beta Version kann ich auch mit dem Audio-Codec opus und mit dem Video-Codec VP8 arbeiten.
Zur Zeit arbeite ich noch an der Firefox Version 18.
Ab Version 18 gibt es das media Flag(about:config)
media.peerconnection.enabled;true
und
media.navigator.enabled;true

Gruß
Rainer
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Do 24. Jan 2013, 09:37

Hi,

ich arbeite wieder an meinem webrtc over asterisk-websocket Projekt.

Teilerfolg ;)
Meine Testumgebung/Software:
- jssip.net webrtc/websocket client. http://www.jssip.net und jssip-demo client https://github.com/versatica/jssip-demos
- Browser Goggle Chrome Version 25.0.1364.36.
- Asterisk 11.2.1 mit einem VP8 Video-Codec passthrough patch
!!! Note that this patch is experimental so use at your own risk !!!:
http://linux.autostatic.com/asterisk-an ... perability

Szenarien:
1. PSTN -> sipgate -> mein asterisk -> jssip webrtc/websocket client: Audio in beide Richtungen geht.
2. SIP Hard-/Software Telefon -> mein asterisk -> jssip webrtc/websocket client: Audio in beide Richtungen geht.
3. jssip webrtc/websocket client -> mein asterisk -> jssip webrtc/websocket client: Audio geht und Video noch nicht so richtig. :oops:

4. jssip webrtc/websocket client -> mein asterisk -> sipgate -> PSTN: Audio geht noch nicht. :oops:
5. jssip webrtc/websocket client -> mein asterisk -> SIP Hard-/Software Telefon: Audio geht noch nicht. :oops:


Den WEBRTC/WEBSOCKET Testclient ohne Video habe ich im asterisk wie folgt eingestellt.
sip.conf

Code: Alles auswählen

[1102] ; webrtc testclient
type=friend
context=default
regexten=1102
defaultuser=1102
secret=*******************
dtmfmode=rfc2833
host=dynamic
nat=auto_force_rport,auto_comedia
trustrpid=yes
sendrpid=no
transport=tcp,ws
encryption = yes
avpf = yes

; ohne Video
videosupport=no
allow=!all,alaw,ulaw,gsm

; mit Video
; videosupport=yes
; allow=!all,alaw,ulaw,gsm,vp8 ; VP8 Video-Codec passthrough patch

icesupport=yes
directmedia=no
qualify=yes
rtp.conf

Code: Alles auswählen

icesupport=yes
stunaddr=stun.l.google.com:19302
http.conf

Code: Alles auswählen

enabled=yes
bindaddr=0.0.0.0
bindport=8088
Gruß
Rainer
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebRTC - SIP over WebSocket

Beitrag von rainer » Do 24. Jan 2013, 10:03

PS:

Den jssip.net webrtc/websocket demo client habe ich in der Datei init.js auf ...
https://github.com/versatica/jssip-demos

init.js Zeile 6

Code: Alles auswählen

var outbound_proxy_set = 'ws://[meine asterisk-server-IP oder FQDN]:8088/ws';
init.js ab Zeile 208

Code: Alles auswählen

    var configuration  = {
      'outbound_proxy_set':  [outbound_proxy_set],
      'uri': sip_uri,
      'display_name': '',
      'password':  sip_password,
      'register_expires': 600,
      'secure_transport': false,
      'stun_server': 'stun.l.google.com:19302',
      'trace_sip': true,
      'hack_ip_in_contact': true,
      'hack_via_tcp': true
    };

eingestellt.

Gruß
Rainer
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10

Antworten