没有 IP 的 SIP 请求呼叫 ID 如何影响服务器响应?

How SIP Request Call ID without IP affects server response?

我遇到这样一种情况,我的 sip 客户端发送带有呼叫 ID 的取消注册,但没有 IP 地址。 Call-ID:ZbTZ3VwsZoknVtlvROGGsOO8pt0hpFi。 此消息导致 200 OK 响应循环,因为来自同一客户端的下一条注册消息的 via header 已更改。

情况如下

请求

取消注册:LanClient--->代理-->服务器
回应
重复:
100 次尝试:服务器-->代理服务器--xx->LanClient
200 正常:服务器-->代理--xx->Lanclient
转到重复

当一条注销消息(即过期=0 的注册消息)到达服务器时,通过 header 包含我们代理的 WAN IP 而不是 LAN 客户端 IP.This 导致来自服务器走WAN IP而不是LAN IP。

我很好奇的是,在向服务器注册的多个客户端中,只有问题客户端消息具有 Call-ID 字段而没有 IP 地址。 我知道我们可以 call-ID 没有 IP 地址。有或没有 IP 在呼叫 ID 中有 IP 对我的情况有何影响...

Call-Id header 的值只是一个字符串,至少从请求接收者的角度来看是这样。

当客户端注销时,它应该使用与注册时相同的Call-Id。

我不明白 Via header 部分。显然,后续的 REGISTER 请求(以及其他消息)具有不同的 Via headers,因为分支参数对于每个事务都是新的。