使用nat ip sip REGISTER响应

时间:2018-02-14 05:11:53

标签: sip voip

我观察到我在200 ok注册响应中更改了联系人(本地ip替换为nat ip)。确定我不在SIP-ALG之后,因为在via中的rport也具有相同的地址。

如何在请求中更改联系人时处理,是否有任何SIP RFC讨论过此问题?

1 个答案:

答案 0 :(得分:0)

如果您清楚自己的问题可能会更好。 但希望下面的rport功能可能会有所帮助。

考虑一个例子。客户端发送一个如下所示的INVITE:

邀请sip:user @ domain SIP / 2.0    通过:SIP / 2.0 / UDP 10.1.1.1:4540;运输

此INVITE的源端口为4540,源IP为10.1.1.1。请求是自然的,因此源IP显示为68.44.20.1,源端口显示为9988.这是在代理处接收的。代理转发请求,但不是在代理请求中的rport参数附加值之前:

邀请sip:user @ domain2 SIP / 2.0    通过:SIP / 2.0 / UDP proxy.domain.com    通过:SIP / 2.0 / UDP 10.1.1.1:4540;接受= 68.44.20.1;运动= 9988

此请求生成一个响应,该响应到达代理:

SIP / 2.0 200 OK    通过:SIP / 2.0 / UDP proxy.domain.com    通过:SIP / 2.0 / UDP 10.1.1.1:4540;接受= 68.44.20.1;运动= 9988

代理剥离其顶部Via,然后检查下一个。它是    既得到了接受的参数,又得到了一个rport。结果是    跟随响应发送到IP地址68.44.20.1,端口9988:

SIP / 2.0 200 OK    通过:SIP / 2.0 / UDP 10.1.1.1:4540;接受= 68.44.20.1;运动= 9988

NAT将此数据包的目标地址重写回IP    10.1.1.1,端口4540,并由客户端接收。

您可以参考下面列出的SIP NAT RFC https://www.ietf.org/proceedings/52/I-D/draft-ietf-sip-nat-01.txt https://tools.ietf.org/html/rfc6314#section-4.1.1