Webtrc Freeswitch

Пытаемся собрать Freeswitch + WebRTC + RTMP + jsSIP. Для обхода NAT я использую серверы STUN. В Хроме все нормально, а вот в ФФ есть односторонний звук. В tcpdump не вижу RTP от фрисвитча к абоненту. Но см. rtp для свободного переключения. И у меня похожая ситуация с RTMP в FF. Есть идеи? Это мои журналы:

Freeswitch debug:

    freeswitch@internal> 2015-03-05 15:24:04.764229 [NOTICE] switch_channel.c:1055 New Channel sofia/internal/[email protected] [91822106-c375-11e4-ae79-0dedd8f6626f]
2015-03-05 15:24:04.764229 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:04.764229 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:04.764229 [DEBUG] switch_core_state_machine.c:472 (sofia/internal/[email protected]) Running State Change CS_NEW
2015-03-05 15:24:04.764229 [DEBUG] sofia.c:8844 sofia/internal/[email protected] receiving invite from 195.54.42.58:51524 version: 1.5.15b git 3a70750 2015-03-04 19:06:18Z 64bit
2015-03-05 15:24:04.764229 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:04.764229 [DEBUG] sofia.c:2065 detaching session 91822106-c375-11e4-ae79-0dedd8f6626f
2015-03-05 15:24:04.764229 [DEBUG] switch_core_state_machine.c:491 (sofia/internal/[email protected]) State NEW
2015-03-05 15:24:05.024229 [DEBUG] sofia.c:2173 Re-attaching to session 91822106-c375-11e4-ae79-0dedd8f6626f
2015-03-05 15:24:05.024229 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:05.024229 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:05.044232 [DEBUG] sofia.c:8844 sofia/internal/[email protected] receiving invite from 195.54.42.58:51524 version: 1.5.15b git 3a70750 2015-03-04 19:06:18Z 64bit
2015-03-05 15:24:05.044232 [DEBUG] switch_xml.c:2008 Cache Info
Time Now:       1425587045044232
Expires:        1425586902484231
2015-03-05 15:24:05.044232 [DEBUG] switch_xml.c:2010 Cache expired for [email protected], doing fresh lookup
2015-03-05 15:24:05.044232 [DEBUG] switch_xml.c:2088 caching lookup for user [email protected] for 0 milliseconds
2015-03-05 15:24:05.044232 [DEBUG] sofia.c:10109 Setting NAT mode based on websockets
2015-03-05 15:24:05.044232 [DEBUG] sofia.c:6623 Channel sofia/internal/[email protected] entering state [received][100]
2015-03-05 15:24:05.044232 [DEBUG] sofia.c:6633 Remote SDP:
v=0
o=Mozilla-SIPUA-35.0.1 3612 0 IN IP4 0.0.0.0
s=SIP Call
t=0 0
a=ice-ufrag:8ea45330
a=ice-pwd:4e78b1d5d159b6ee310a347e052ee5f9
a=fingerprint:sha-256 D7:50:B9:35:92:DB:35:2F:49:52:DC:AD:98:7F:6E:EA:C0:D3:B4:81:EB:E4:93:BF:A5:97:EC:DC:10:FC:DF:72
m=audio 9 RTP/SAVPF 109 9 0 8 101
c=IN IP4 0.0.0.0
a=rtpmap:109 opus/48000/2
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=setup:actpass
a=rtcp-mux
a=candidate:0 1 UDP 2128609535 192.168.1.101 52871 typ host
a=candidate:0 2 UDP 2128609534 192.168.1.101 52872 typ host
a=candidate:1 1 UDP 1692467199 195.54.42.58 64326 typ srflx raddr 192.168.1.101 rport 52871
a=candidate:1 2 UDP 1692467198 195.54.42.58 64107 typ srflx raddr 192.168.1.101 rport 52872

2015-03-05 15:24:05.044232 [DEBUG] sofia.c:6899 (sofia/internal/[email protected]) State Change CS_NEW -> CS_INIT
2015-03-05 15:24:05.044232 [DEBUG] switch_core_session.c:1396 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:472 (sofia/internal/[email protected]) Running State Change CS_INIT
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:512 (sofia/internal/[email protected]) State INIT
2015-03-05 15:24:05.044232 [DEBUG] mod_sofia.c:87 sofia/internal/[email protected] SOFIA INIT
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:40 sofia/internal/[email protected] Standard INIT
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:48 (sofia/internal/[email protected]) State Change CS_INIT -> CS_ROUTING
2015-03-05 15:24:05.044232 [DEBUG] switch_core_session.c:1396 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:512 (sofia/internal/[email protected]) State INIT going to sleep
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:472 (sofia/internal/[email protected]) Running State Change CS_ROUTING
2015-03-05 15:24:05.044232 [DEBUG] switch_channel.c:2184 (sofia/internal/[email protected]) Callstate Change DOWN -> RINGING
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:528 (sofia/internal/[email protected]) State ROUTING
2015-03-05 15:24:05.044232 [DEBUG] mod_sofia.c:123 sofia/internal/[email protected] SOFIA ROUTING
2015-03-05 15:24:05.044232 [DEBUG] switch_core_state_machine.c:166 sofia/internal/[email protected] Standard ROUTING
2015-03-05 15:24:05.044232 [INFO] mod_dialplan_xml.c:635 Processing 97487336 <97487336>->wrtc_24088503 in context default
2015-03-05 15:24:06.324312 [DEBUG] switch_core_session.c:1061 Send signal sofia/internal/[email protected] [BREAK]
2015-03-05 15:24:06.324312 [NOTICE] mod_sofia.c:2107 Ring-Ready sofia/internal/[email protected]!


Content-Length: 0




" " +228ms" jssip-0.6.18.js:21376
"message" "Registered" voip.js:382
"status.active" Arguments { 0: "status.active", ещё 2… } voip.js:25
"JsSIP:Transport " "received WebSocket text message:

NOTIFY sip:[email protected];transport=ws SIP/2.0

Via: SIP/2.0/WS 52.11.173.157:5066;rport;branch=z9hG4bKaaQUBj83F53yK

Route: <sip:[email protected]:52764>;transport=ws

Max-Forwards: 70

From: <sip:[email protected]>;tag=r9gyFg2Nr962m

To: <sip:[email protected]>

Call-ID: 0e6acf51-3e18-1233-2f9a-0267945f27aa

CSeq: 72457382 NOTIFY

Contact: <sip:[email protected]:5060>

User-Agent: FreeSWITCH-mod_sofia/1.5.15b+git~20150304T190618Z~3a70750b42~64bit

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE

Supported: path, replaces

Event: message-summary

Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer

Subscription-State: terminated;reason=noresource

Content-Type: application/simple-message-summary

Content-Length: 67



Messages-Waiting: no

Message-Account: sip:[email protected]




" " +64ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

SIP/2.0 405 Method Not Allowed

Via: SIP/2.0/WS 52.11.173.157:5066;rport;branch=z9hG4bKaaQUBj83F53yK

To: <sip:[email protected]>;tag=9cvrud8hud

From: <sip:[email protected]>;tag=r9gyFg2Nr962m

Call-ID: 0e6acf51-3e18-1233-2f9a-0267945f27aa

CSeq: 72457382 NOTIFY

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS

Supported: outbound

Content-Length: 0




" " +8ms" jssip-0.6.18.js:21376
"JsSIP:NonInviteServerTransaction " "Timer J expired for transaction z9hG4bKaaQUBj83F53yK" " +30ms" jssip-0.6.18.js:21376
"callUp.before" Arguments { 0: "callUp.before", 1: 12, 2: undefined, ещё 2… } voip.js:25
"api.call.begin" Arguments { 0: "api.call.begin", 1: Object, 2: VoIP</GUI_pv.prototype.apiCallBegin/<(), ещё 2… } voip.js:25
"API create call response" Object { result: true, outCallId: 111, inCallId: 222 } voip.js:376
"status.inactive" Arguments { 0: "status.inactive", ещё 2… } voip.js:25
"init" Arguments { 0: "init", 1: Object, ещё 2… } popup.js:25
"JsSIP " "version 0.6.18" " +0ms" jssip-0.6.18.js:21376
"rtcninja " "version 0.5.0" " +3ms" jssip-0.6.18.js:21376
"rtcninja " "detected browser: Firefox 35.0 [mobile:false, tablet:false, android:false, ios:false]" " +1ms" jssip-0.6.18.js:21376
"JsSIP:UA " "configuration parameters after validation:" " +65ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- via_host: "v3esbi87ujtn.invalid"" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- password: NOT SHOWN" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- register_expires: 600" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- register: false" " +1ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- registrar_server: sip:52.11.173.157" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- ws_server_max_reconnection: 3" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- ws_server_reconnection_timeout: 4" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- connection_recovery_min_interval: 2" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- connection_recovery_max_interval: 30" " +1ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- use_preloaded_route: false" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- no_answer_timeout: 30000" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- session_timers: false" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- hack_via_tcp: false" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- hack_via_ws: false" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- hack_ip_in_contact: false" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- node_websocket_options: {}" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- uri: sip:[email protected]" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- ws_servers: [{"ws_uri":"ws://52.11.173.157:5066","sip_uri":"<sip:52.11.173.157:5066;transport=ws;lr>","weight":0,"status":0,"scheme":"WS"}]" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- instance_id: "cda27030-e4d7-405e-a8f8-7961814b0c2b"" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- jssip_id: "13942"" " +1ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- hostport_params: "52.11.173.157"" " +0ms" jssip-0.6.18.js:21376
"JsSIP:UA " "- authorization_user: "97487336"" " +0ms" jssip-0.6.18.js:21376
"rtcninja " "WebRTC supported" " +1ms" jssip-0.6.18.js:21376
"JsSIP:UA " "start()" " +0ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "connecting to WebSocket ws://52.11.173.157:5066" " +1ms" jssip-0.6.18.js:21376
GET http://52.11.173.157:5066/ [HTTP/1.1 101 Switching Protocols 430мс]
"JsSIP:Transport " "WebSocket ws://52.11.173.157:5066 connected" " +500ms" jssip-0.6.18.js:21376
"message" "Connection success" popup.js:382
"ready" Arguments { 0: "ready", 1: Object, ещё 2… } popup.js:25
"callUp.before" Arguments { 0: "callUp.before", 1: "wrtc_24088503", 2: "Alex 2", ещё 2… } popup.js:25
"callUp_before" "Alex 2" popup.js:376
"message" "Give access to your microphone" popup.js:382
"JsSIP:UA " "call()" " +1ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "new" " +1ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "connect()" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "new | pcConfig:" " +7ms" Object { iceServers: Array[1] } jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "setConfigurationAndOptions | processed pcConfig:" " +0ms" Object { iceServers: Array[1] } jssip-0.6.18.js:21376
"JsSIP:RTCSession " "newRTCSession" " +150ms" jssip-0.6.18.js:21376
"debug" "newRTCSession" Object { originator: "local", session: Object, request: Object } popup.js:376
"debug" "add session" Object { ua: Object, status: 0, dialog: null, earlyDialogs: Object, connection: Object, is_confirmed: false, late_sdp: false, rtcOfferConstraints: null, rtcAnswerConstraints: null, localMediaStream: null, ещё 24… } popup.js:376
"rtcninja:Adapter " "getUserMedia() | constraints:" " +0ms" Object { audio: true, video: false } jssip-0.6.18.js:21376
"callUp" Arguments { 0: "callUp", ещё 2… } popup.js:25
"rtcninja:Adapter " "getUserMedia() | success" " +2s" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "addStream() | stream:" " +0ms" LocalMediaStream { currentTime: 0 } jssip-0.6.18.js:21376
"JsSIP:RTCSession " "session connecting" " +1ms" jssip-0.6.18.js:21376
"message" "Connecting with user..." popup.js:382
"outgoingCall.connect" Arguments { 0: "outgoingCall.connect", ещё 2… } popup.js:25
"JsSIP:RTCSession " "createLocalDescription()" " +1ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "createOffer()" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "createOffer() | success" " +2ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "setLocalDescription()" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "setLocalDescription() | success" " +10ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK9913060

Max-Forwards: 69

To: <sip:[email protected]>

From: <sip:[email protected]>;tag=i9oi2j4lsi

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9521 INVITE

Contact: <sip:[email protected];transport=ws;ob>

Content-Type: application/sdp

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS

Supported: ice,outbound

User-Agent: JsSIP 0.6.18

Content-Length: 871



v=0

o=Mozilla-SIPUA-35.0.1 18073 0 IN IP4 0.0.0.0

s=SIP Call

t=0 0

a=ice-ufrag:c2ab2cd2

a=ice-pwd:49ebd6ec4e8cd8dff4d90fbb1db04feb

a=fingerprint:sha-256 12:CE:48:7D:B4:2C:FB:03:C4:DF:F5:0E:7D:E7:02:DF:0A:5D:06:A8:99:41:82:D4:91:79:4F:7D:BC:53:3A:0F

m=audio 9 RTP/SAVPF 109 9 0 8 101

c=IN IP4 0.0.0.0

a=rtpmap:109 opus/48000/2

a=ptime:20

a=rtpmap:9 G722/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-15

a=sendrecv

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=setup:actpass

a=rtcp-mux

a=candidate:0 1 UDP 2128609535 192.168.1.101 55983 typ host

a=candidate:0 2 UDP 2128609534 192.168.1.101 55984 typ host

a=candidate:1 1 UDP 1692467199 195.54.42.58 53117 typ srflx raddr 192.168.1.101 rport 55983

a=candidate:1 2 UDP 1692467198 195.54.42.58 60365 typ srflx raddr 192.168.1.101 rport 55984


" " +3ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "onsignalingstatechange() | signalingState: have-local-offer" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "onicecandidate() | m0(no mid) candidate:0 1 UDP 2128609535 192.168.1.101 55983 typ host" " +1ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "onicecandidate() | m0(no mid) candidate:0 2 UDP 2128609534 192.168.1.101 55984 typ host" " +1ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "onicecandidate() | m0(no mid) candidate:1 1 UDP 1692467199 195.54.42.58 53117 typ srflx raddr 192.168.1.101 rport 55983" " +1ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "onicecandidate() | m0(no mid) candidate:1 2 UDP 1692467198 195.54.42.58 60365 typ srflx raddr 192.168.1.101 rport 55984" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "onicecandidate() | end of candidates" " +1ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "received WebSocket text message:

SIP/2.0 100 Trying

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK9913060;received=195.54.42.58;rport=63980

From: <sip:[email protected]>;tag=i9oi2j4lsi

To: <sip:[email protected]>

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9521 INVITE

User-Agent: FreeSWITCH-mod_sofia/1.5.15b+git~20150304T190618Z~3a70750b42~64bit

Content-Length: 0




" " +343ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "receiveInviteResponse()" " +16ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "received WebSocket text message:

SIP/2.0 407 Proxy Authentication Required

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK9913060;received=195.54.42.58;rport=63980

From: <sip:[email protected]>;tag=i9oi2j4lsi

To: <sip:[email protected]>;tag=SjaQHBKSNjXNg

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9521 INVITE

User-Agent: FreeSWITCH-mod_sofia/1.5.15b+git~20150304T190618Z~3a70750b42~64bit

Accept: application/sdp

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE

Supported: 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

Proxy-Authenticate: Digest realm="52.11.173.157", nonce="3c76ea02-c375-11e4-ae53-0dedd8f6626f", algorithm=MD5, qop="auth"

Content-Length: 0




" " +1ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

ACK sip:[email protected] SIP/2.0

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK9913060

To: <sip:[email protected]>;tag=SjaQHBKSNjXNg

From: <sip:[email protected]>;tag=i9oi2j4lsi

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9521 ACK

Content-Length: 0




" " +9ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK1611429

Max-Forwards: 69

To: <sip:[email protected]>

From: <sip:[email protected]>;tag=i9oi2j4lsi

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9522 INVITE

Proxy-Authorization: Digest algorithm=MD5, username="97487336", realm="52.11.173.157", nonce="3c76ea02-c375-11e4-ae53-0dedd8f6626f", uri="sip:[email protected]", response="efbefd849d15b696cac323f507bba3b2", qop=auth, cnonce="m7lmpr5toqpg", nc=00000001

Contact: <sip:[email protected];transport=ws;ob>

Content-Type: application/sdp

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS

Supported: ice,outbound

User-Agent: JsSIP 0.6.18

Content-Length: 871



v=0

o=Mozilla-SIPUA-35.0.1 18073 0 IN IP4 0.0.0.0

s=SIP Call

t=0 0

a=ice-ufrag:c2ab2cd2

a=ice-pwd:49ebd6ec4e8cd8dff4d90fbb1db04feb

a=fingerprint:sha-256 12:CE:48:7D:B4:2C:FB:03:C4:DF:F5:0E:7D:E7:02:DF:0A:5D:06:A8:99:41:82:D4:91:79:4F:7D:BC:53:3A:0F

m=audio 9 RTP/SAVPF 109 9 0 8 101

c=IN IP4 0.0.0.0

a=rtpmap:109 opus/48000/2

a=ptime:20

a=rtpmap:9 G722/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-15

a=sendrecv

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=setup:actpass

a=rtcp-mux

a=candidate:0 1 UDP 2128609535 192.168.1.101 55983 typ host

a=candidate:0 2 UDP 2128609534 192.168.1.101 55984 typ host

a=candidate:1 1 UDP 1692467199 195.54.42.58 53117 typ srflx raddr 192.168.1.101 rport 55983

a=candidate:1 2 UDP 1692467198 195.54.42.58 60365 typ srflx raddr 192.168.1.101 rport 55984


" " +7ms" jssip-0.6.18.js:21376
"JsSIP:InviteClientTransaction " "Timer D expired for transaction z9hG4bK9913060" " +9ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "received WebSocket text message:

SIP/2.0 100 Trying

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK1611429;received=195.54.42.58;rport=63980

From: <sip:[email protected]>;tag=i9oi2j4lsi

To: <sip:[email protected]>

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9522 INVITE

User-Agent: FreeSWITCH-mod_sofia/1.5.15b+git~20150304T190618Z~3a70750b42~64bit


Remote-Party-ID: "Outbound Call" <sip:[email protected]>;party=calling;privacy=off;screen=no



v=0

o=FreeSWITCH 1425563378 1425563379 IN IP4 52.11.173.157

s=FreeSWITCH

c=IN IP4 52.11.173.157

t=0 0

a=msid-semantic: WMS 3PGsZhhNXHqvPSeURXN5yj0IJyB878R0

m=audio 23534 RTP/SAVPF 109 101

a=rtpmap:109 opus/48000/2

a=fmtp:109 useinbandfec=1; usedtx=1; maxaveragebitrate=30000; maxplaybackrate=48000

a=rtpmap:101 telephone-event/8000

a=ptime:20

a=fingerprint:sha-256 83:B1:D9:44:9A:17:DE:13:36:24:E3:1F:D8:0E:A0:86:77:25:5B:53:80:13:C3:F0:96:E8:34:32:AC:EE:CE:16

a=rtcp-mux

a=rtcp:23534 IN IP4 52.11.173.157

a=ssrc:2768117494 cname:OojEwrhkYyFDgJoY

a=ssrc:2768117494 msid:3PGsZhhNXHqvPSeURXN5yj0IJyB878R0 a0

a=ssrc:2768117494 mslabel:3PGsZhhNXHqvPSeURXN5yj0IJyB878R0

a=ssrc:2768117494 label:3PGsZhhNXHqvPSeURXN5yj0IJyB878R0a0

a=ice-ufrag:w1TVaKtK8VJ5TrWy

a=ice-pwd:F621nabbyHFFhTtDLdpMNImL

a=candidate:4434570021 1 udp 659136 52.11.173.157 23534 typ host generation 0


" " +0ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "receiveInviteResponse()" " +9ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "sendRequest()" " +0ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession:Request " "new | ACK" " +0ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

ACK sip:[email protected]:5060;transport=udp SIP/2.0

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK6630835

Max-Forwards: 69

To: <sip:[email protected]>;tag=tU3FK63vjUK8B

From: <sip:[email protected]>;tag=i9oi2j4lsi

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9522 ACK

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS

Supported: outbound

User-Agent: JsSIP 0.6.18

Content-Length: 0




" " +4ms" jssip-0.6.18.js:21376
POST http://q76.queuev4.vk.com/im503 [HTTP/1.1 200 OK 2197мс]
"Alex 1: 00:00:01" voip.js:382
"Alex 1: 00:00:02" voip.js:382
"Alex 1: 00:00:03" voip.js:382
POST http://q76.queuev4.vk.com/im503 [HTTP/1.1 200 OK 25053мс]
"Alex 1: 00:00:04" voip.js:382
"Alex 1: 00:00:05" voip.js:382
"Alex 1: 00:00:06" voip.js:382
"Alex 1: 00:00:07" voip.js:382
"Alex 1: 00:00:08" voip.js:382
"rtcninja:RTCPeerConnection " "setRemoteDescription() | success" " +9s" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "session accepted" " +0ms" jssip-0.6.18.js:21376
"debug" "call accepted" Object { originator: "remote", response: Object } popup.js:376
"JsSIP:RTCSession " "sendRequest()" " +1ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession:Request " "new | ACK" " +0ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

ACK sip:[email protected]:5060;transport=udp SIP/2.0

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK4020045

Max-Forwards: 69

To: <sip:[email protected]>;tag=tU3FK63vjUK8B

From: <sip:[email protected]>;tag=i9oi2j4lsi

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9522 ACK

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS

Supported: outbound

User-Agent: JsSIP 0.6.18

Content-Length: 0




" " +4ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "session confirmed" " +0ms" jssip-0.6.18.js:21376
"debug" "call confirmed" Object { originator: "local", ack: null } popup.js:376
"message" "Speaking..." popup.js:382
"outgoingCall.speak" Arguments { 0: "outgoingCall.speak", 1: "Alex 2", ещё 2… } popup.js:25
"rtcninja:RTCPeerConnection " "onsignalingstatechange() | signalingState: stable" " +2ms" jssip-0.6.18.js:21376
"hangUp.before" Arguments { 0: "hangUp.before", 1: Object, ещё 2… } popup.js:25
"debug" "hang up" Object { ua: Object, status: 8, earlyDialogs: Object, connection: Object, is_confirmed: true, late_sdp: false, rtcOfferConstraints: null, rtcAnswerConstraints: null, localMediaStream: LocalMediaStream, localMediaStreamLocallyGenerated: true, ещё 23… } popup.js:376
"JsSIP:RTCSession " "terminate()" " +12s" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "terminating session" " +1ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "sendRequest()" " +0ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession:Request " "new | BYE" " +0ms" jssip-0.6.18.js:21376
"JsSIP:Transport " "sending WebSocket message:

BYE sip:[email protected]:5060;transport=udp SIP/2.0

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK8019990

Max-Forwards: 69

To: <sip:[email protected]>;tag=tU3FK63vjUK8B

From: <sip:[email protected]>;tag=i9oi2j4lsi

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9523 BYE

Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS

Supported: outbound

User-Agent: JsSIP 0.6.18

Content-Length: 0




" " +7ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "session ended" " +1ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "close()" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "close()" " +0ms" jssip-0.6.18.js:21376
"rtcninja:RTCPeerConnection " "oniceconnectionstatechange() | iceConnectionState: closed" " +0ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession " "close() | closing local MediaStream" " +1ms" jssip-0.6.18.js:21376
"rtcninja:Adapter " "closeMediaStream() | calling stop() on all the MediaStreamTrack" " +1ms" jssip-0.6.18.js:21376
"JsSIP:Dialog " "dialog 13942n4ifccgdi8s0rr0i9oi2j4lsitU3FK63vjUK8B deleted" " +0ms" jssip-0.6.18.js:21376
"ENDED:" Arguments { 0: Object, ещё 2… } popup.js:738
"debug" "call ended" Object { originator: "local", message: null, cause: "Rejected" } popup.js:376
"message" "Call ended" popup.js:382
"outgoingCall.end" Arguments { 0: "outgoingCall.end", ещё 2… } popup.js:25
"Call ended, duration 00:00:11" popup.js:382
"hangUp" Arguments { 0: "hangUp", ещё 2… } popup.js:25
"rtcninja:RTCPeerConnection " "onsignalingstatechange() | signalingState: closed" " +22ms" jssip-0.6.18.js:21376
"popup.call.end" Arguments { 0: "popup.call.end", 1: Object, ещё 2… } voip.js:25
"api.call.end" Arguments { 0: "api.call.end", 1: "{"outCallId":"111","inCallId":"222","callerId":"11","clientId":"12"}", 2: VoIP</GUI_pv.prototype.apiCallEnd/<(), ещё 2… } voip.js:25
"API update history response" "send request to /call/updateHistory" voip.js:376
"JsSIP:Transport " "received WebSocket text message:

SIP/2.0 200 OK

Via: SIP/2.0/WS v3esbi87ujtn.invalid;branch=z9hG4bK8019990;received=195.54.42.58;rport=63980

From: <sip:[email protected]>;tag=i9oi2j4lsi

To: <sip:[email protected]>;tag=tU3FK63vjUK8B

Call-ID: 13942n4ifccgdi8s0rr0

CSeq: 9523 BYE

User-Agent: FreeSWITCH-mod_sofia/1.5.15b+git~20150304T190618Z~3a70750b42~64bit

Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE

Supported: path, replaces

Content-Length: 0




" " +432ms" jssip-0.6.18.js:21376
"JsSIP:RTCSession:Request " "onSuccessResponse" " +11ms" jssip-0.6.18.js:21376
"JsSIP:InviteClientTransaction " "Timer B expired for transaction z9hG4bK1611429" " +21ms" jssip-0.6.18.js:21376
"ENDED:" Arguments { 0: Object, ещё 2… } voip.js:710
"debug" "call ended" Object { originator: "remote", message: Object, cause: "Terminated" } voip.js:376
"message" "Call ended" voip.js:382
"incomingCall.end" Arguments { 0: "incomingCall.end", ещё 2… } voip.js:25
"JsSIP:UA " "stop()" " +627ms" jssip-0.6.18.js:21376
"destroy" Arguments { 0: "destroy", 1: Object, ещё 2… } popup.js:25
GET http://cs7-3v4.vk-cdn.net/p13/be7e2d819d42f3.mp3 [HTTP/1.1 200 OK 2851мс]
POST http://q76.queuev4.vk.com/im503 
POST http://vk.com/audio [HTTP/1.1 200 OK 1301мс]

С уважением Алекс


person Александр Колесник    schedule 05.03.2015    source источник
comment
Похоже, что FF предлагает только звук в своем SDP. Хорошо ли он захватывает камеру с помощью getusermedia?   -  person Benjamin Trent    schedule 06.03.2015


Ответы (4)


Реализация mod_verto намного лучше, чем WebRTC. Я бы порекомендовал пойти по этому пути исходя из опыта.

https://freeswitch.org/confluence/display/FREESWITCH/mod_verto

person Danny G    schedule 10.08.2015

Я знаю инструмент для тестирования медиа-ресурсов в текущем браузере. Вы можете использовать его, чтобы сначала убедиться, что медиа-ресурсы работают хорошо.

https://janus.conf.meetecho.com/echotest.html

person Quang Nguyễn    schedule 04.11.2015
comment
Всегда добавляйте существенную часть ссылки в ответ. - person serenesat; 04.11.2015
comment
Спасибо за ваши советы @serenesat - person Quang Nguyễn; 04.11.2015

из https://freeswitch.org/confluence/display/FREESWITCH/mod_verto:

хотя Firefox — хороший веб-браузер, он не поддерживает стереозвук WebRTC, поэтому стереопозиционирование в нем будет потеряно.

person Shlomi Schwartz    schedule 24.02.2016

Это проблема в Firefox, потому что они уменьшили поддержку webrtc в обновленной версии Firefox.

Попробуйте с более ранней версией Firefox (42).

person suren    schedule 26.02.2016