WebRTC - SIP over WebSocket
WebRTC - SIP over WebSocket
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???
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
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.
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
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
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
grrrrr ... ich mache morgen weiter 

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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
Teilerfolg ... einseitiges Audio geht jetzt ...
Ich habe in der rtp.conf den icesupport eingeschaltet.
und die WebRTC Clients in der sip.conf auf

Ich habe in der rtp.conf den icesupport eingeschaltet.
Code: Alles auswählen
icesupport=true
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
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.
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
hi ... und sorry, ist off topic
WebRTC und Asterisk ist noch nicht so mein Ding.
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
WebRTC und Asterisk ist noch nicht so mein Ding.

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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
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.
4. jssip webrtc/websocket client -> mein asterisk -> sipgate -> PSTN: Audio geht noch nicht.
5. jssip webrtc/websocket client -> mein asterisk -> SIP Hard-/Software Telefon: Audio geht noch nicht.
Den WEBRTC/WEBSOCKET Testclient ohne Video habe ich im asterisk wie folgt eingestellt.
sip.conf
rtp.conf
http.conf
Gruß
Rainer
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.

4. jssip webrtc/websocket client -> mein asterisk -> sipgate -> PSTN: Audio geht noch nicht.

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

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
Code: Alles auswählen
icesupport=yes
stunaddr=stun.l.google.com:19302
Code: Alles auswählen
enabled=yes
bindaddr=0.0.0.0
bindport=8088
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
Re: WebRTC - SIP over WebSocket
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
init.js ab Zeile 208
eingestellt.
Gruß
Rainer
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';
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
};
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
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10