SIP REGISTER获得500服务器内部错误 - 63

时间:2016-10-10 07:45:26

标签: sip lte ims

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

  1. 设备与网络锁存,并发送带有呼叫ID 4EdqB3YwpQHIYGPtj9c和CSeq号的SIP寄存器。 1
  2. 网络回应了401未经授权。
  3. 设备使用呼叫ID 4EdqB3YwpQHIYGPtj9c和CSeq no发送带有nonce值的注册消息。 2 即可。并且注册成功。
  4. 设备重新连接网络。喜欢关掉然后再打开。
  5. 设备再次发送具有相同呼叫ID 4EdqB3YwpQHIYGPtj9c和Cseq no的REGISTER消息。 1 ,从网络收到 500服务器内部错误 - 63
  6. 一段时间后设备再次发送REGISTER消息,此时呼叫ID不同3Qp8ssj7hpKpspDn0mELU1v和cseq no。 1。从n / w获得401响应后,再次重新发送REGISTER,这也是成功的。
  7. 我的疑问是:

    1. 重新连接cseq没有。重置为1?
    2. 重新挂接后,设备是否应使用不同的呼叫ID来发起REGISTER消息?
    3. 什么是错误代码63表示500内部服务器错误?
    4. 提前致谢

1 个答案:

答案 0 :(得分:0)

重新连接Cseq没有。重置为1?

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

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

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

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

根据您的情况,无法猜测为什么500内部服务器错误被发送给具有与旧寄存器相同的call-Id的新Register请求。

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

什么是错误代码63表示500内部服务器错误?

此编号63是专有实施。作为回应,在500之后,可以操纵文本以添加任何创建有意义原因的内容。

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

https://tools.ietf.org/html/rfc3261#section-10.3

此致 KNP