WebRTC独立的星号 – 没有audio

在为WebRTC争取了几个星期之后,我决定把我的问题放在这个论坛上。 我的问题如下:

我没有从WebRTC获取audio到WebRTC客户端。 我在一个局域网环境中工作。

情况 – 从独立的Asterisk服务器从JSSIP调用到JSSIP(同一客户端)。

问题

从6001(JSSIP)到6002(JSSIP)的呼叫时根本没有audio。 过了一会儿,一些RTP包正在发送,但没有收到。 在日志文件中显示RTP数据包约40秒后,呼叫正在终止,无需任何人为操作。

两个客户端都在同一台计算机上,都在谷歌浏览器上,一个是在隐身模式下运行。 我们还testing了2个不同的笔记本电脑,但是这给出了相同的结果。

有人知道是什么原因造成这个问题? 我也跟着这个线程: http : //forums.digium.com/viewtopic.php?f=1&t=90167 ,但这并没有为我工作。 您可以在下面find日志文件和更多信息。

我试图解决这个问题,由于多个职位关于同样的问题。

  • 在代理之后运行Asterisk(oversip
  • 使用webrtc2sip,开启和closures媒体编码
  • 与RTCwebbreaker一起使用SipML5,禁用video
  • 星号设置为public(使用WAN地址和portforwarding到服务器
  • 在CentOS上运行Asterisk
  • 使用FireFox

星号服务器:

  • 操作系统:Ubuntu 14.04
  • 版本:星号13.2和FreePBX 12
  • IP地址:192.168.178.203
  • Websocket端口:8088
  • SIP端口:5060

客户:

  • 操作系统:Windows 8.1
  • 浏览器:Chrome版本40.0.2214.115米
  • IP地址:192.168.178.18

configuration:

rtp.conf

[general] rtpstart=10000 rtpend=20000 icesupport=yes stunaddr=74.125.132.127:19302 

在http.conf

 [general] enabled=yes enablestatic=no bindaddr=0.0.0.0 bindport=8088 

sip.conf

 [general] port=5060 bindaddr=192.168.178.203 transport=ws,wss,udp [6001] host=dynamic secret=6001 context=internal type=friend transport=ws,wss,udp encryption=yes avpf=yes force_avp=yes icesupport=yes directmedia=outgoing disallow=all allow=opus,ulaw,vp8 dtlsenable=yes dtlsverify=fingerprint dtlscertfile=/etc/asterisk/keys/default.pem dtlscafile=/etc/asterisk/keys/ca.crt dtlssetup=actpass nat=no [6002] host=dynamic secret=6002 context=internal type=friend transport=ws,wss,udp encryption=yes avpf=yes force_avp=yes icesupport=yes directmedia=outgoing disallow=all allow=opus,ulaw,vp8 dtlsenable=yes dtlsverify=fingerprint dtlscertfile=/etc/asterisk/keys/default.pem dtlscafile=/etc/asterisk/keys/ca.crt dtlssetup=actpass nat=no 

extensions.conf文件

 [internal] exten => 6001,1,Dial(SIP/6001) exten => 6002,1,Dial(SIP/6002) 

logging

完整的服务器日志在这里: http : //pastebin.com/qHwzXbbd

sip和rtpdebugging服务器日志logging的一部分。

 <------------> Scheduling destruction of SIP dialog '0vreoff3cjblcgubthf1df' in 32000 ms (Method: REGISTER) <--- SIP read from WS:192.168.178.18:55387 ---> INVITE sip:[email protected]:5060 SIP/2.0 Via: SIP/2.0/WS 1t4mt0723j5t.invalid;branch=z9hG4bK7239492 Max-Forwards: 69 To: <sip:[email protected]:5060> From: "6001" <sip:[email protected]:5060>;tag=lq9ascrlba Call-ID: sf6m6uln2amn2lhuuvia CSeq: 7253 INVITE X-Can-Renegotiate: undefined Contact: <sip:[email protected];transport=ws;ob> Content-Type: application/sdp Session-Expires: 90 Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS Supported: timer,ice,outbound User-Agent: JsSIP 0.6.18 Content-Length: 4710 v=0 o=- 5530171873894353207 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video a=msid-semantic: WMS bEWKeIMVkeE6PTP0lgDPhtJoGfmy7MeXYx0v m=audio 62227 RTP/SAVPF 111 103 104 9 0 8 106 105 13 126 c=IN IP4 192.168.12.1 a=rtcp:62227 IN IP4 192.168.12.1 a=candidate:3708951358 1 udp 2122129151 192.168.12.1 62227 typ host generation 0 a=candidate:3708951358 2 udp 2122129151 192.168.12.1 62227 typ host generation 0 a=candidate:3242410012 1 udp 2122063615 25.124.74.215 62228 typ host generation 0 a=candidate:3242410012 2 udp 2122063615 25.124.74.215 62228 typ host generation 0 a=candidate:1867667642 1 udp 2121998079 192.168.254.1 62229 typ host generation 0 a=candidate:1867667642 2 udp 2121998079 192.168.254.1 62229 typ host generation 0 a=candidate:1340102981 1 udp 2121932543 192.168.178.18 62230 typ host generation 0 a=candidate:1340102981 2 udp 2121932543 192.168.178.18 62230 typ host generation 0 a=candidate:2475812814 1 tcp 1518149375 192.168.12.1 0 typ host tcptype active generation 0 a=candidate:2475812814 2 tcp 1518149375 192.168.12.1 0 typ host tcptype active generation 0 a=candidate:2411773164 1 tcp 1518083839 25.124.74.215 0 typ host tcptype active generation 0 a=candidate:2411773164 2 tcp 1518083839 25.124.74.215 0 typ host tcptype active generation 0 a=candidate:567387210 1 tcp 1518018303 192.168.254.1 0 typ host tcptype active generation 0 a=candidate:567387210 2 tcp 1518018303 192.168.254.1 0 typ host tcptype active generation 0 a=candidate:23307701 1 tcp 1517952767 192.168.178.18 0 typ host tcptype active generation 0 a=candidate:23307701 2 tcp 1517952767 192.168.178.18 0 typ host tcptype active generation 0 a=ice-ufrag:KUz2P70p6fRKTNhU a=ice-pwd:uSSZZuV537KDmpbtSzusDKLK a=ice-options:google-ice a=fingerprint:sha-256 E8:85:6A:27:CF:E0:50:A7:4B:E5:4D:25:70:76:D4:F1:5D:8D:79:93:40:4B:2E:6B:40:1D:F0:35:B9:38:56:E3 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-time a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10 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:831281522 cname:+qS2XmtyXWZX3uFI a=ssrc:831281522 msid:bEWKeIMVkeE6PTP0lgDPhtJoGfmy7MeXYx0v dc973b27-9b15-4cdd-bbf8-80807c4d3b1d a=ssrc:831281522 mslabel:bEWKeIMVkeE6PTP0lgDPhtJoGfmy7MeXYx0v a=ssrc:831281522 label:dc973b27-9b15-4cdd-bbf8-80807c4d3b1d m=video 62227 RTP/SAVPF 100 116 117 96 c=IN IP4 192.168.12.1 a=rtcp:62227 IN IP4 192.168.12.1 a=candidate:3708951358 1 udp 2122129151 192.168.12.1 62227 typ host generation 0 a=candidate:3708951358 2 udp 2122129151 192.168.12.1 62227 typ host generation 0 a=candidate:3242410012 1 udp 2122063615 25.124.74.215 62228 typ host generation 0 a=candidate:3242410012 2 udp 2122063615 25.124.74.215 62228 typ host generation 0 a=candidate:1867667642 1 udp 2121998079 192.168.254.1 62229 typ host generation 0 a=candidate:1867667642 2 udp 2121998079 192.168.254.1 62229 typ host generation 0 a=candidate:1340102981 1 udp 2121932543 192.168.178.18 62230 typ host generation 0 a=candidate:1340102981 2 udp 2121932543 192.168.178.18 62230 typ host generation 0 a=candidate:2475812814 1 tcp 1518149375 192.168.12.1 0 typ host tcptype active generation 0 a=candidate:2475812814 2 tcp 1518149375 192.168.12.1 0 typ host tcptype active generation 0 a=candidate:2411773164 1 tcp 1518083839 25.124.74.215 0 typ host tcptype active generation 0 a=candidate:2411773164 2 tcp 1518083839 25.124.74.215 0 typ host tcptype active generation 0 a=candidate:567387210 1 tcp 1518018303 192.168.254.1 0 typ host tcptype active generation 0 a=candidate:567387210 2 tcp 1518018303 192.168.254.1 0 typ host tcptype active generation 0 a=candidate:23307701 1 tcp 1517952767 192.168.178.18 0 typ host tcptype active generation 0 a=candidate:23307701 2 tcp 1517952767 192.168.178.18 0 typ host tcptype active generation 0 a=ice-ufrag:KUz2P70p6fRKTNhU a=ice-pwd:uSSZZuV537KDmpbtSzusDKLK a=ice-options:google-ice a=fingerprint:sha-256 E8:85:6A:27:CF:E0:50:A7:4B:E5:4D:25:70:76:D4:F1:5D:8D:79:93:40:4B:2E:6B:40:1D:F0:35:B9:38:56:E3 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-time a=recvonly 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 <-------------> --- (15 headers 89 lines) --- Using INVITE request as basis request - sf6m6uln2amn2lhuuvia Found peer '6001' for '6001' from 192.168.178.18:55387 <--- Reliably Transmitting (no NAT) to 192.168.178.18:5060 ---> SIP/2.0 401 Unauthorized Via: SIP/2.0/WS 1t4mt0723j5t.invalid;branch=z9hG4bK7239492;received=192.168.178.18 From: "6001" <sip:[email protected]:5060>;tag=lq9ascrlba To: <sip:[email protected]:5060>;tag=as6ed0dbe4 Call-ID: sf6m6uln2amn2lhuuvia CSeq: 7253 INVITE Server: FPBX-12.0.37(13.431072M) Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE Supported: replaces, timer WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="263201da" Content-Length: 0 <------------> 10:57:50.828 utsx0x7f967800 ...STUN client transaction created 10:57:50.828 utsx0x7f967800 ...STUN sending message (transmit count=1) 10:57:50.828 icess0x7f970c0 ..Check 7: [2] 192.168.178.203:18141-->192.168.178.18:62230: state changed from Frozen to In Progress 10:57:50.839 utsx0x7f967800 STUN sending message (transmit count=2) 10:57:50.839 utsx0x7f967800 STUN sending message (transmit count=2) 10:57:50.850 icess0x7f970c0 Starting checklist periodic check 10:57:50.851 icess0x7f970c0 Starting checklist periodic check 10:57:50.861 utsx0x7f967800 STUN sending message (transmit count=2) 10:57:50.862 utsx0x7f967800 STUN sending message (transmit count=2) 10:57:53.770 stuse0x7f96fc0 ..TX 80 bytes STUN message to 192.168.178.18:62261: --- begin STUN message --- STUN Binding success response Hdr: length=60, magic=2112a442, tsx_id=6d4d564652372f537652314a Attributes: XOR-MAPPED-ADDRESS: length=8, IPv4 addr=192.168.178.18:62261 SOFTWARE: length=12, value="pjnath-2.3.0" MESSAGE-INTEGRITY: length=20, data=0204b9b98f375d27e045e50bd034f1ce99288e06 FINGERPRINT: length=4, value=1908015627 (0x71ba020b) --- end of STUN message --- 10:57:55.586 utsx0x7f96f800 .....STUN client transaction created 10:57:55.586 utsx0x7f96f800 .....STUN sending message (transmit count=1) 10:57:55.586 icess0x7f96fc0 ....Check 7: [2] 192.168.178.203:13265-->192.168.178.18:62253: state changed from Frozen to In Progress 10:57:55.586 icess0x7f96fc0 .Performing delayed triggerred check for component 1 10:57:55.586 icess0x7f96fc0 ..Triggered check for check 6 not performed because it's in progress. Retransmitting 10:57:55.586 utsx0x7f96f801 ...STUN sending message (transmit count=1) 10:57:55.586 icess0x7f96fc0 .Performing delayed triggerred check for component 2 10:57:55.586 icess0x7f96fc0 ..Triggered check for check 7 not performed because it's in progress. Retransmitting 10:58:41.301 icess0x7f96fc0 .Triggered check for check 7 not performed because it's completed 10:58:41.301 icess0x7f96fc0 ..Check 7 is successful and nominated Sent RTP packet to 192.168.178.18:62249 (via ICE) (type 00, seq 020194, ts 004320, len 000160) Sent RTP packet to 192.168.178.18:62249 (via ICE) (type 00, seq 020195, ts 004480, len 000160) 10:58:41.509 stuse0x7f970c0 !Response cache deleted 10:58:41.509 stun_session.c tdata 0x7f96fc02cac8 destroy request, force=0, tsx=(nil) Sent RTP packet to 192.168.178.18:62249 (via ICE) (type 00, seq 020204, ts 005920, len 000160) 10:58:41.519 stuse0x7f970c0 Response cache deleted 

我希望有人能指出我的方向,或者有人遇到同样的问题,愿意分享他们的知识。

欲了解更多信息,请随时问我。

先谢谢你。

configuration和呼叫设置看起来不错。 200 OK的回应是非常重要的。 你也应该在浏览器中启用webrtc日志,并检查它(或在这里提交),以便我们可以看到实际发送(DTLS编码的)SRTP的位置。

以下是关于Asterisk 13中WebRTC设置的详细说明。

另外它可能值得尝试在公共地址上运行星号(或者仔细检查所有的私有ip /公共ip / NATconfiguration),因为默认情况下它会尝试在SIP信令中检测和使用你的公共IP。