sip 接听后没有声音

问题描述

一个新人使用pjsip在android上写了一个客户端A。
然后问题出现了:
A呼叫PC端sip,没有声音;
PC端sip将呼叫A,声音正常。
sip的消息是正常的。

查找过程

当时我在调试Freeswitch的webrtc,我改了很多设置。我改回去之后还是不行,我怕我遗忘了什么,直接重新安装了个Freeswitch。但是还是不行。
我在手机上使用Sipdroid是正常的。
后来抓包发现了。那个哥们写的客户端,注册用的是udp,呼叫用的是tcp。
然后我修改客户端,发现这不是问题点。

观察fs日志

2020-05-29 20:54:35.190698 [DEBUG] mod_sofia.c:4819 (sofia/internal/1000@192.168.102.54:52817) State Change CS_NEW -> CS_INIT
2020-05-29 20:54:35.190698 [NOTICE] switch_ivr_originate.c:2851 Cannot create outgoing channel of type [error] cause: [USER_NOT_REGISTERED]
2020-05-29 20:54:35.190698 [DEBUG] switch_core_state_machine.c:584 (sofia/internal/1000@192.168.102.54:52817) Running State Change CS_INIT (Cur 2 Tot 124)
2020-05-29 20:54:35.190698 [DEBUG] switch_core_state_machine.c:627 (sofia/internal/1000@192.168.102.54:52817) State INIT
2020-05-29 20:54:35.190698 [DEBUG] mod_sofia.c:90 sofia/internal/1000@192.168.102.54:52817 SOFIA INIT

搜遍全网也没找到好用的方法。
然后使出对比大发:
然后发现了。有问题的这一方,里面的ip地址竟然是公网ip。
然后我意识到,可能是nat网络的缘故,于是我切换了一下网络,改成纯局域网。
**

错误变化了:
变成了点击拨打后,要过个5s多才会拨出(这里应该是pjsip的问题)。
然后对方接起后,立刻就挂断了。返回的错误码是488

 hanging up, cause: INCOMPATIBLE_DESTINATION

到了这里猜测应该是域的问题。
我的fs:192.168.102.58 、
手机:192.168.101.168、
pc端:192.168.102.40

修改办法

1 ,修改 /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml文件。
添加了

   <list name="lan" default="allow">
      <node type="deny" cidr="192.168.42.0/24"/>
      <node type="allow" cidr="192.168.42.42/32"/>
      <node type="allow" cidr="192.168.42.42/16"/>
    </list>

中添加了一行

<node type="allow" cidr="192.168.42.42/16"/>

2,
参考
在 sip_profiles/internal.xml 中添加了

  <!--robin add next line 20200530-->
    <param name="apply-candidate-acl" value="localnet.auto"/>
    <param name="apply-candidate-acl" value="rfc1918.auto"/>

这一步,步骤2,我感觉也没用。但是我懒得验证了。

重启fs
注:这里重启 reloadxml 、reloadacl,感觉都没用。

结束

就这样,花费了差不多1天的功夫。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值