#fs_cli -x 'show registrations as xml'
<result row_count="1">
<row row_id="1">
<reg_user>6001</reg_user>
<realm>192.168.1.100</realm>
<token>e7a89b6b05d94d55ba0081e18145588f</token>
<url>sofia/default/sip:6001@192.168.100.172:49359;ob</url>
<expires>1693472823</expires>
<network_ip>192.168.100.172</network_ip>
<network_port>49359</network_port>
<network_proto>udp</network_proto>
<hostname>cloud</hostname>
<metadata></metadata>
</row>
</result>
留意url能不能达
如果不能达,那么需要修改directory配置,其实就是要rewrite contact,用网络地址取而代之(保存到url的fs_path参数)
directory方面请留意下面这个配置以及相关说明:
<!--
NDLB-connectile-dysfunction - Rewrite contact ip and port
NDLB-tls-connectile-dysfunction - Rewrite contact port only.
-->
variable name="sip-force-contact" value="NDLB-connectile-dysfunction"/>
上面讲的是这样一种情况的处理思路:sip终端能注册,呼叫终端但不可达
我还碰到过另外一种nat问题:收到注册请求后,401到不了sip终端,原因是终端没有使能rport,终端藏在nat后面,contact填的是自己局域网地址。这种情况下需要调整FreeSWITCH配置,这个另说吧。