【问题标题】:How SIP Request Call ID without IP affects server response?没有 IP 的 SIP 请求呼叫 ID 如何影响服务器响应?
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2020-08-19
    • 2015-10-28
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多