Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asterisk WebRTC和星号中没有音频_Asterisk_Sip_Webrtc_Voip_Rtp - Fatal编程技术网

Asterisk WebRTC和星号中没有音频

Asterisk WebRTC和星号中没有音频,asterisk,sip,webrtc,voip,rtp,Asterisk,Sip,Webrtc,Voip,Rtp,在本例中,13.2版本和WebRTC中的星号有一个奇怪的问题 所以,我有最新的Asterisk 13.2,Firefox的最新Crome-同样的问题,sip.js也尝试了sipml5和本地网络-没有nat或防火墙 问题是:如果电话立即接听,一切正常。但是如果回答有延迟,比如说10秒——两个方向都没有音频 在RTP调试中,我发现如果有延迟,目标ip地址是不正确的。从客户端配置中删除ice服务器后-两个地址都正确,但仍然没有音频 下面是音频调用的调试: rtp 啜饮 延迟10秒后没有接听音频电话:

在本例中,13.2版本和WebRTC中的星号有一个奇怪的问题

所以,我有最新的Asterisk 13.2,Firefox的最新Crome-同样的问题,sip.js也尝试了sipml5和本地网络-没有nat或防火墙

问题是:如果电话立即接听,一切正常。但是如果回答有延迟,比如说10秒——两个方向都没有音频

在RTP调试中,我发现如果有延迟,目标ip地址是不正确的。从客户端配置中删除ice服务器后-两个地址都正确,但仍然没有音频

下面是音频调用的调试: rtp 啜饮

延迟10秒后没有接听音频电话: rtp 啜饮


此外,在FreeSwitch中,无论何时接听电话,一切正常。

第一个问题:您是否确保所有防火墙配置都无条件允许来自所选STUN/ICE服务器的RTP流

我自己的经验是,WebRTC的音频问题几乎总是与STUN/ICE和防火墙有关


您是否遵循了安装指南?如果是,哪一个?

从星号12开始,您需要安装pjproject库,否则您的WebRTC调用中很可能没有音频,也没有任何警告

检查日志

对等音频RTP位于端口192.168.88.187:50026 sip_路由_转储:路由/路径跃点:sip:889@df7jal23ls0d.invalid;传输=ws [Feb 13 06:15:59]错误[1055][C-00000031]:netsock2.C:303 ast_sockaddr_resolve:getaddrinfodf7jal23ls0d.无效,空,…:名称或服务未知 [Feb 13 06:15:59]警告[1055][C-00000031]:chan_sip.C:16158_uu设置_地址_来自_联系人:联系人中的主机名无效:无法在DNS中解析:'df7jal23ls0d.无效'


毫无疑问,我会使用Freeswitch:-

webrtc是一种经验丰富的协议,需要充分理解和先进的调试技术。如果对你有效,请使用自由开关。确保有效。但我喜欢Asterisk,我只想让它发挥作用。如果我找到了任何解决方案,我会在这里发布我的博客链接。基于IP的电话webRTC、SIP软电话的问题对我来说是碰运气的。每个帐户都必须手工制作以匹配客户。帮你自己一个忙,坚持用Freeswitch,你是对的。星号在配置sip帐户中有一些复杂性。但另一方面,Asterisk可以做很多很酷的事情——lke甚至可以从DB、RESTAPI、AGI和AMI读取所有配置。所有这些对开发人员都有好处。PS:我对FreeSwitch的经验太少,也许它也能做到这一点:所有WebRTC客户端都在本地网络内,所以这里不需要ICE。但糟糕的是,这里的问题是冰。我做了很多测试,发现如果呼叫发起方是Web RTC客户机,并且应答延迟10-25秒,则完全没有音频。同样在这种情况下,在RTP调试中可以看到发送的RTP数据包没有via ICE标记。但是,当调用发起方是任何SIP客户端X-Lite、Ekiga等时,WebRTC都可以完美地工作。我认为rtcp mux中的答案是,wich不能使用Asterisk,但Sofia SIP library for FreeSwitch可以使用Asterisk。我已经尝试了一些类似这样的教程,也尝试了许多SIP选项的实验。你能发布你的配置,让我们看看奇怪的东西吗?当然。sip.conf>rtp.conf>extensions.conf>http.conf>