1

场景是关于 LTE 网络上的 SIP 注册。

  1. 设备锁定网络并发送呼叫 ID 为 4EdqB3YwpQHIYGPtj9c 和 CSeq 编号的 SIP 寄存器。1
  2. 网络以未经授权的 401 回应。
  3. 设备发送带有 nonce 值的注册消息,调用 id 为 4EdqB3YwpQHIYGPtj9c 和 CSeq 编号。2 . 并注册成功。
  4. 设备重新连接到网络。比如关闭和打开。
  5. 设备再次发送具有相同呼叫 ID 4EdqB3YwpQHIYGPtj9c 和 Cseq 编号的 REGISTER 消息。1,为此从网络收到500 server internal error - 63
  6. 一段时间后设备再次发送 REGISTER 消息,这次call id 不同 3Qp8ssj7hpKpspDn0mELU1v 和 cseq no。1.收到n/w的401响应后,再次发送REGISTER,同样成功。

我的查询是:

  1. 重新附加 cseq no 后是否。重置为1?
  2. 重新连接后,设备是否应该使用不同的呼叫 ID 来发起 REGISTER 消息?
  3. 500 内部服务器错误中的错误代码 63 是什么意思?

提前致谢

4

1 回答 1

0

重新附加 Cseq 编号后是否。重置为1?

新的 SIP 注册可以从任何新的随机数开始。它也可以以 Cseq: 1 开头。在您正在检查的用户设备中,它可能正在使用 Cseq 1 开始所有新注册。

当在 Sip-Registrar 收到新的注册时(即在 IP 多媒体子系统的情况下为 S-CSCF);使用 Call-ID 值创建绑定。这将我们带到下一个问题。

重新连接后,设备是否应该使用不同的呼叫 ID 来发起 REGISTER 消息?

注册是有时间限制的,并且会在一段时间后过期。在到期之前,应发送重新注册。此后续注册请求应绑定到 Sip-Registrar 的旧注册。为此,我们将保持相同的呼叫 ID。(还有相同的 Contact、To、From 和 From 标记:用于绑定的所有标头和参数完全是一个不同的主题;我们现在将跳过这一点。)。根据 RFC3261,UA 应该在单个引导周期内对所有注册使用相同的 Call-ID。

谈到您的情况,无法猜测为什么会为新的注册请求发送 500 内部服务器错误,该请求与旧的注册具有相同的呼叫 ID。

有可能旧的绑定仍然在 Sip-Registrar 上徘徊,并且在分离期间,可能没有进行资源清理。由于相同的呼叫 ID,此新注册可能会附加到旧绑定。(请注意,这只是猜测,我不确定您的 Sip-Registrar 发生了什么)

500 内部服务器错误中的错误代码 63 是什么意思?

这个数字 63 是专有的实现。作为响应,在 500 之后,可以操纵文本以添加任何创建有意义的原因的内容。

有关如何在 SIP-Registrar 处理注册的更多信息,您可以通过以下 RFC 链接:

https://www.rfc-editor.org/rfc/rfc3261#section-10.3

问候, KNP

于 2017-01-31T07:05:28.937 回答