sip服务器无响应,服务器无响应 sip rport 与UDP 【原创】

author:张继飞

最近用位于美国的avaya服务器测试话机,使用UDP发起注册时,发送到服务器的Register指令,服务器没有回复任何消息,因为没法抓取服务器端数据包,所以一时搞不清楚问题出在哪里,唯一能确定的是本地网络跟服务器能PING通。后来改为TCP发起注册,顺利注册到服务器,一切正常。

到这里就明朗的多了,因为网络正常,我们发出的UDP数据肯定会到服务器,那么接下来就按照服务器到本地这一条线来寻找问题。初步可以怀疑服务器在回应的时候数据没有发到我们的本地话机,因为我们本地话机处于内网,那这里就是NAT问题了。

这里我们就可以引入rport了。当我们本地话机在via头域添加rport的话,服务器在收到请求消息进行解析时,发现有rport,会通过UDP分析NAT的公网地址跟端口,进而响应消息顺利发送到我们本地话机。比如我们内网本地地址为192.168.0.100:5060,经过NAT转换后是61.156.234.93:12345,这时候服务器收到数据包后应该把消息送到61.156.234.93:12345,然后才能通过NAT转换发送到内网我们本地话机上。

通过这样修改,我们使用UDP也可以顺利与服务器进行交互了。

关于rport机制可以参考rfc3581。author:张继飞

最近用位于美国的avaya服务器测试话机,使用UDP发起注册时,发送到服务器的Register指令,服务器没有回复任何消息,因为没法抓取服务器端数据包,所以一时搞不清楚问题出在哪里,唯一能确定的是本地网络跟服务器能PING通。后来改为TCP发起注册,顺利注册到服务器,一切正常。

到这里就明朗的多了,因为网络正常,我们发出的UDP数据肯定会到服务器,那么接下来就按照服务器到本地这一条线来寻找问题。初步可以怀疑服务器在回应的时候数据没有发到我们的本地话机,因为我们本地话机处于内网,那这里就是NAT问题了。

这里我们就可以引入rport了。当我们本地话机在via头域添加rport的话,服务器在收到请求消息进行解析时,发现有rport,会通过UDP分析NAT的公网地址跟端口,进而响应消息顺利发送到我们本地话机。比如我们内网本地地址为192.168.0.100:5060,经过NAT转换后是61.156.234.93:12345,这时候服务器收到数据包后应该把消息送到61.156.234.93:12345,然后才能通过NAT转换发送到内网我们本地话机上。

通过这样修改,我们使用UDP也可以顺利与服务器进行交互了。

关于rport机制可以参考rfc3581。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值