SIP协议rport机制:
对接南瑞B接口平台无法看视频,中间经过一个加密导致申请视频的响应发不过去,抓包看了一下,确实端口不可达。
因为经过一道加密程序,加密程序做转发的,相当于经过一道Nat,必须发给对应的加密程序端口,如果直接会给平台端口肯定不行的。因为直接回复给了21113端口,所以提示端口不可达。SIP协议栈是支持透过Nat,但是请求必须加上rport标签。
rport机制:
1。客户端需要在 via上带上rport参数
2。服务端发现via中有rport参数时,将此via中加入received参数和rport参数,参数带的值分别是服务端看到的消息来源地址和端口(如果有NAT等地址转换设备,则即为转换后的IP和port)。
3。当有需要发送的响应时,按照rport中的端口发送SIP 响应。也就是说IP和端口均完全遵照从哪里来的,发回哪里去的原则。(如果没有rport字段时,服务端的策略是IP使用UDP包中的地址,即从哪里来回哪里去,但是端口使用的via中的端口)
…无语问题,找了一天,平台方还不承认问题.