Michael. Denis.
First of all. Good Morning guys.
I am having some very similar problems to him.
1.- I rebuilt Tuesday.
2.- Server is on a 1gb connection, no nat.
3.- Im behind a Nat @home
4.- Dev team are JsSIP (Im honestly starting to hate it!)
When I try 9196 with Video enable it works... for a while, then call is dropped
When I try 9196 without Video it will not work, no rtp.
What Im seeing is JsSIP setting up act/pass and Freeswitch using active, then JsSip complaining.
If I try with Sip.js, it will set up act/pass, Freeswitch will setup active, and coversation will proceed.
JsSIP seems to send a=group:BUNDLE audio video even if its an Audio only, JsSIP seems to always use RTP/SAVPF
Sip.JS sees to a=group:BUNDLE audio video ONLY if its a video call, if its audio in only sends audio, Sip.js uses UDP/TLS/RTP/SAVPF
Is there any trick?, settings? good advice? in the sip profile that could guaranteed or at least could provide some basic safety or assurance that wss/ws will work as expected? Servers most of the time will not be behind a NAT firewall. Most clients will do. Browsers will usually have Opus, VP8 and G711. And different js library will act pretty different.
Im asking this as the man behind the FS servers =) , since must of the time they argue its my fault!, and not library/browser behaviour.
Im willing to accept any advice on your side guys.
As usual thanks! Every advice comment is welcome.
The invite:
INVITE
sip:9196@conference2.cibersys.com SIP/2.0
Via: SIP/2.0/WSS l3nbdffa0opf.invalid;branch=z9hG4bK7927680
Max-Forwards: 69
To: <
sip:9196@conference2.cibersys.com>
From: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
Call-ID: jnicb84inognuej1f5hh
CSeq: 6469 INVITE
X-Can-Renegotiate: true
Contact: <sip:4iv564gg@l3nbdffa0opf.invalid;transport=ws;ob>
Content-Type: application/sdp
Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS
Supported: ice,outbound
User-Agent: JsSIP 0.6.30
Content-Length: 4285
v=0
o=- 2921960164244051031 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14
m=audio 34582 RTP/SAVPF 111 103 104 9 0 8 106 105 13 126
c=IN IP4 200.82.236.209
a=rtcp:45589 IN IP4 200.82.236.209
a=candidate:2999745851 1 udp 2122194687 192.168.56.1 54329 typ host generation 0
a=candidate:1013097898 1 udp 2122129151 10.0.1.8 54330 typ host generation 0
a=candidate:2999745851 2 udp 2122194686 192.168.56.1 54331 typ host generation 0
a=candidate:1013097898 2 udp 2122129150 10.0.1.8 54332 typ host generation 0
a=candidate:50610563 2 udp 1685921534 200.82.236.209 45589 typ srflx raddr 10.0.1.8 rport 54332 generation 0
a=candidate:50610563 1 udp 1685921535 200.82.236.209 34582 typ srflx raddr 10.0.1.8 rport 54330 generation 0
a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host tcptype active generation 0
a=candidate:1927371098 1 tcp 1518149375 10.0.1.8 0 typ host tcptype active generation 0
a=candidate:4233069003 2 tcp 1518214910 192.168.56.1 0 typ host tcptype active generation 0
a=candidate:1927371098 2 tcp 1518149374 10.0.1.8 0 typ host tcptype active generation 0
a=ice-ufrag:j2iFDE+TMp4by5ts
a=ice-pwd:gW3Wu5v5qyW5vfka7YaM4KFt
a=fingerprint:sha-256 34:95:A3:46:CF:B5:8C:3B:5C:E9:1C:80:39:54:67:7F:AA:FA:10:E3:2D:64:0F:00:43:EB:D2:FE:4A:58:0A:DC
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:3
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-timea=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10; useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60
a=ssrc:4294620237 cname:HxX5s5jUcyIryP5Z
a=ssrc:4294620237 msid:DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14 c35ff906-5ee6-433a-9f58-1fd28cc05605
a=ssrc:4294620237 mslabel:DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14
a=ssrc:4294620237 label:c35ff906-5ee6-433a-9f58-1fd28cc05605
m=video 41790 RTP/SAVPF 100 116 117 96
c=IN IP4 200.82.236.209
a=rtcp:42265 IN IP4 200.82.236.209
a=candidate:2999745851 1 udp 2122194687 192.168.56.1 54333 typ host generation 0
a=candidate:1013097898 1 udp 2122129151 10.0.1.8 54334 typ host generation 0
a=candidate:2999745851 2 udp 2122194686 192.168.56.1 54335 typ host generation 0
a=candidate:1013097898 2 udp 2122129150 10.0.1.8 54336 typ host generation 0
a=candidate:50610563 1 udp 1685921535 200.82.236.209 41790 typ srflx raddr 10.0.1.8 rport 54334 generation 0
a=candidate:50610563 2 udp 1685921534 200.82.236.209 42265 typ srflx raddr 10.0.1.8 rport 54336 generation 0
a=candidate:4233069003 1 tcp 1518214911 192.168.56.1 0 typ host tcptype active generation 0
a=candidate:1927371098 1 tcp 1518149375 10.0.1.8 0 typ host tcptype active generation 0
a=candidate:4233069003 2 tcp 1518214910 192.168.56.1 0 typ host tcptype active generation 0
a=candidate:1927371098 2 tcp 1518149374 10.0.1.8 0 typ host tcptype active generation 0
a=ice-ufrag:j2iFDE+TMp4by5ts
a=ice-pwd:gW3Wu5v5qyW5vfka7YaM4KFt
a=fingerprint:sha-256 34:95:A3:46:CF:B5:8C:3B:5C:E9:1C:80:39:54:67:7F:AA:FA:10:E3:2D:64:0F:00:43:EB:D2:FE:4A:58:0A:DC
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3
http://www.webrtc.org/experiments/rtp-hdrext/abs-send-timea=extmap:4 urn:3gpp:video-orientation
a=sendrecv
a=rtcp-mux
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 goog-remb
a=rtpmap:116 red/90000
a=rtpmap:117 ulpfec/90000
a=rtpmap:96 rtx/90000
a=fmtp:96 apt=100
a=ssrc-group:FID 4013710955 1664537724
a=ssrc:4013710955 cname:HxX5s5jUcyIryP5Z
a=ssrc:4013710955 msid:DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14 746564c8-940d-424e-8a4d-20aad74152ac
a=ssrc:4013710955 mslabel:DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14
a=ssrc:4013710955 label:746564c8-940d-424e-8a4d-20aad74152ac
a=ssrc:1664537724 cname:HxX5s5jUcyIryP5Z
a=ssrc:1664537724 msid:DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14 746564c8-940d-424e-8a4d-20aad74152ac
a=ssrc:1664537724 mslabel:DZbwVhxdAQdrx5Y6oxT8gGV25DRfrP8tlZ14
a=ssrc:1664537724 label:746564c8-940d-424e-8a4d-20aad74152ac
Freeswitch response:
SIP/2.0 200 OK
Via: SIP/2.0/WSS l3nbdffa0opf.invalid;branch=z9hG4bK4050936;received=200.82.236.209;rport=45823
From: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
To: <
sip:9196@conference2.cibersys.com>;tag=6g97NQgHK9NFD
Call-ID: jnicb84inognuej1f5hh
CSeq: 6470 INVITE
Contact: <sip:9196@167.114.64.133:5060;transport=udp>
User-Agent: FreeSWITCH-mod_sofia/1.7.0+git~20150609T042756Z~18063a4754~64bit
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Session-Expires: 120;refresher=uas
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 1493
Remote-Party-ID: "9196" <
sip:9196@conference2.cibersys.com>;party=calling;privacy=off;screen=no
v=0
o=FreeSWITCH 1433989971 1433989972 IN IP4 167.114.64.133
s=FreeSWITCH
c=IN IP4 167.114.64.133
t=0 0
a=msid-semantic: WMS 0iktbV3nM7dQBZdt40DBM4ePZfgN4XcU
m=audio 26946 RTP/SAVPF 0 126
a=rtpmap:0 PCMU/8000
a=rtpmap:126 telephone-event/8000
a=ptime:20
a=fingerprint:sha-256 68:8F:C5:D4:DB:3B:F2:05:F6:D2:A0:3A:0F:3E:BF:A5:71:3B:36:EA:9B:CF:23:E4:B2:A9:7C:FC:FB:47:5B:9E
a=setup:active
a=rtcp-mux
a=rtcp:26946 IN IP4 167.114.64.133
a=ice-ufrag:mlzYgDD5JKJDxLou
a=ice-pwd:YtrWsCxoRPNUbuSnGhcMKFHk
a=candidate:4322851414 1 udp 659136 167.114.64.133 26946 typ host generation 0
a=ssrc:1635618133 cname:6ne788lL6orydvR7
a=ssrc:1635618133 msid:0iktbV3nM7dQBZdt40DBM4ePZfgN4XcU a0
a=ssrc:1635618133 mslabel:0iktbV3nM7dQBZdt40DBM4ePZfgN4XcU
a=ssrc:1635618133 label:0iktbV3nM7dQBZdt40DBM4ePZfgN4XcUa0
m=video 31094 RTP/SAVPF 100
b=AS:2048
a=rtpmap:100 VP8/90000
a=fingerprint:sha-256 68:8F:C5:D4:DB:3B:F2:05:F6:D2:A0:3A:0F:3E:BF:A5:71:3B:36:EA:9B:CF:23:E4:B2:A9:7C:FC:FB:47:5B:9E
a=setup:active
a=rtcp-mux
a=rtcp:31094 IN IP4 167.114.64.133
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=ssrc:918630538 cname:6ne788lL6orydvR7
a=ssrc:918630538 msid:0iktbV3nM7dQBZdt40DBM4ePZfgN4XcU v0
a=ssrc:918630538 mslabel:0iktbV3nM7dQBZdt40DBM4ePZfgN4XcU
a=ssrc:918630538 label:0iktbV3nM7dQBZdt40DBM4ePZfgN4XcUv0
a=ice-ufrag:hSaGxCKm9rBsOttY
a=ice-pwd:lQkem2ZJp6GKqgwxYw3mZEyZ
a=candidate:5976490621 1 udp 659136 167.114.64.133 31094 typ host generation 0
jssip.js:21418 JsSIP:Transport sending WebSocket message:
SIP/2.0 100 Trying
Via: SIP/2.0/WSS 167.114.64.133:7443;branch=z9hG4bK8FZSBmg68N2vQ
To: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
From: <
sip:9196@conference2.cibersys.com>;tag=6g97NQgHK9NFD
Call-ID: jnicb84inognuej1f5hh
CSeq: 76672396 INVITE
Supported: ice,outbound
Content-Length: 0
+4ms
jssip.js:21418 JsSIP:RTCSession receiveRequest() +1ms
jssip.js:21418 JsSIP:RTCSession receiveReinvite() +0ms
jssip.js:21418 rtcninja:RTCPeerConnection setRemoteDescription() +5ms
jssip.js:21418 rtcninja:RTCPeerConnection onsignalingstatechange() | signalingState: have-remote-offer +2ms
jssip.js:21418 rtcninja:RTCPeerConnection setRemoteDescription() | success +13ms
jssip.js:21418 JsSIP:RTCSession createLocalDescription() +0ms
jssip.js:21418 rtcninja:RTCPeerConnection createAnswer() +1ms
jssip.js:21418 rtcninja:RTCPeerConnection createAnswer() | success +1ms
jssip.js:21418 rtcninja:RTCPeerConnection setLocalDescription() +1ms
jssip.js:21593 rtcninja:ERROR:RTCPeerConnection setLocalDescription() | error: +1ms Failed to set local answer sdp: Failed to push down transport description: Offerer must use actpass value for setup attribute.
jssip.js:21418 JsSIP:Transport sending WebSocket message:
SIP/2.0 500 JsSIP Internal Error
Via: SIP/2.0/WSS 167.114.64.133:7443;branch=z9hG4bK8FZSBmg68N2vQ
To: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
From: <
sip:9196@conference2.cibersys.com>;tag=6g97NQgHK9NFD
Call-ID: jnicb84inognuej1f5hh
CSeq: 76672396 INVITE
Supported: ice,outbound
Content-Length: 0
+1ms
jssip.js:21418 JsSIP:Transport received WebSocket text message:
ACK sip:4iv564gg@l3nbdffa0opf.invalid;transport=ws;ob SIP/2.0
Via: SIP/2.0/WSS 167.114.64.133:7443;branch=z9hG4bK8FZSBmg68N2vQ
Max-Forwards: 70
From: <
sip:9196@conference2.cibersys.com>;tag=6g97NQgHK9NFD
To: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
Call-ID: jnicb84inognuej1f5hh
CSeq: 76672396 ACK
Content-Length: 0
+405ms
jssip.js:21418 JsSIP:Transport received WebSocket text message:
BYE sip:4iv564gg@l3nbdffa0opf.invalid;transport=ws;ob SIP/2.0
Via: SIP/2.0/WSS 167.114.64.133:7443;branch=z9hG4bK9rrjDF195yrFK
Max-Forwards: 70
From: <
sip:9196@conference2.cibersys.com>;tag=6g97NQgHK9NFD
To: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
Call-ID: jnicb84inognuej1f5hh
CSeq: 76672397 BYE
Contact: <sip:9196@167.114.64.133:5060;transport=udp>
User-Agent: FreeSWITCH-mod_sofia/1.7.0+git~20150609T042756Z~18063a4754~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, path, replaces
Content-Length: 0
+4ms
jssip.js:21418 JsSIP:RTCSession receiveRequest() +6ms
jssip.js:21418 JsSIP:Transport sending WebSocket message:
SIP/2.0 200 OK
Via: SIP/2.0/WSS 167.114.64.133:7443;branch=z9hG4bK9rrjDF195yrFK
To: <
sip:1000@conference2.cibersys.com>;tag=5hp7n36gjm
From: <
sip:9196@conference2.cibersys.com>;tag=6g97NQgHK9NFD
Call-ID: jnicb84inognuej1f5hh
CSeq: 76672397 BYE
Supported: outbound
Content-Length: 0
+1ms
jssip.js:21418 JsSIP:RTCSession session ended +0ms
jssip.js:21418 JsSIP:RTCSession close() +1ms
jssip.js:21418 rtcninja:RTCPeerConnection close() +1ms
jssip.js:21418 JsSIP:RTCSession close() | closing local MediaStream +5ms
jssip.js:21418 rtcninja:Adapter closeMediaStream() | calling stop() on all the MediaStreamTrack +1ms
jssip.js:21418 JsSIP:Dialog dialog jnicb84inognuej1f5hh5hp7n36gjm6g97NQgHK9NFD deleted +0ms
jssip.js:21418 rtcninja:Adapter closeMediaStream() | calling stop() on all the MediaStreamTrack +13ms
jssip.js:21418 JsSIP:NonInviteServerTransaction Timer J expired for transaction z9hG4bK9rrjDF195yrFK +1ms
jssip.js:21418 rtcninja:RTCPeerConnection oniceconnectionstatechange() | iceConnectionState: closed +1ms
jssip.js:21418 rtcninja:RTCPeerConnection onsignalingstatechange() | signalingState: closed +0ms
jssip.js:21418 JsSIP:InviteServerTransaction Timer H expired for transaction z9hG4bK8FZSBmg68N2vQ +32s