【发布时间】:2016-07-13 17:04:23
【问题描述】:
当我的 sip 客户端发送带有呼叫 ID 的取消注册但没有 IP 地址时,我正面临这样的情况。 呼叫 ID:ZbTZ3VwsZoknVtlvROGGsOO8pt0hpFi。 此消息导致 200 OK 响应循环,因为来自同一客户端的下一个注册消息的 via 标头已更改。
情况如下
请求
注销:LanClient--->代理-->服务器
回应
重复:
100 次尝试:服务器-->代理--xx->LanClient
200 OK:服务器-->代理--xx->Lanclient
转到重复
当一条注销消息(即过期=0 的注册消息)发送到服务器时,Via 标头包含我们代理的 WAN IP,而不是 LAN 客户端 IP。这会导致来自服务器的响应转到 WAN IP,而不是局域网IP。
我很好奇的是,在向服务器注册的多个客户端中,只有问题客户端消息具有没有 IP 地址的 Call-ID 字段。 我知道我们可以有没有 IP 地址的呼叫 ID。是否有 IP 呼叫 ID 中的 IP 对我的方案有何影响...
【问题讨论】:
-
“下一个来自同一客户端的注册消息的Via头被改变”的含义不清楚。说清楚并添加呼叫流程!
-
请添加一个真实的调用流程:初始REGISTER的Via列表、初始200ok的Via列表、expires=0的REGISTER的Via列表和新的200ok的Via列表。另外,请提供您的代理 IP 和服务器 IP。
标签: sip sip-server