SIP REGISTER使用IP地址而不是域进行标头

时间:2009-10-21 01:22:01

标签: sip

所以我一直在阅读RFC3261,并试图找出这个特殊问题。 假设UAC为192.168.1.42,注册商为192.168.1.1

根据RFC,它表示To字段应包含您正在注册的实体的记录地址。 AoR定义为指向具有位置服务的域的URI,该位置服务将此URI映射到用户可用的另一个URI。

所以我没有使用域名,所以问题是To标头应该是Alice<sip:alice@192.168.1.42>还是Alice<sip:alice@192.168.1.1>。我有一个模拟注册商的SIP一致性套件,它似乎认为它是前者。阅读这样的RFC似乎让我相信它是后者。

谢谢!

3 个答案:

答案 0 :(得分:2)

To标头应该是您正在连接的注册的AOR。通常,这意味着To标头具有与From标头相同的URI。

在这种情况下,它应该是&lt; sip:alice@192.168.1.42>。

编辑:viraptor和我正在从不同的假设工作。我没有假设“正常”的SIP设置。 (我没有做任何事情,我可以看到上面的答案完全可以接受的设置。但是......)所以,如果你的UA坐在192.168.1.42上,你的注册商​​+代理人在内部坐在192.168.1.1上,它的服务example.com域名,您的REGISTER将具有

  • 至URI:&lt; sip:alice@example.com>
  • 来自URI:&lt; sip:alice@example.com>
  • 联系方式:&lt; sip:alice@192.168.1.42>

允许调用&lt; sip:alice@example.com>最终在SIP UA坐在192.168.1.42。

RFC 3261第10.2节,位于第56页底部和第57页顶部:

 To: The To header field contains the address of record whose
      registration is to be created, queried, or modified.  The To
      header field and the Request-URI field typically differ, as
      the former contains a user name.  This address-of-record MUST
      be a SIP URI or SIPS URI.

 From: The From header field contains the address-of-record of the
      person responsible for the registration.  The value is the
      same as the To header field unless the request is a third-
      party registration.

编辑:提问者的问题是关于特定的设置。通常,您的记录地址(“您是谁”)将不具有IP地址:&lt; sip:alice@example.com>,而不是&lt; sip:alice@192.168.1.42>。提问者的设置特别奇怪,因为AOR不可全局路由(192.168.0.0/16是专用网络块)。

记录地址是“人”的逻辑标识符。它说你是谁。联系URI说明您的位置。注册商为SIP代理提供位置服务。也就是说,代理人说“我怎么能联系这个AOR?”和位置服务(可能是也可能不是注册商!)说“在这个地址,在这个端口,使用这个传输”。注册器允许SIP UA维护此AOR /位置表,而不是管理配置的位置服务。因此,将私有地址范围内的IP地址作为AOR非常不寻常,因为局域网外的任何内容都不知道如何与您联系。

答案 1 :(得分:1)

假设您的设备具有IP PHONE1,PHONE2,REGISTRAR。在您的情况下,To标头应设置为alice@DOMAIN - 这可能等于alice@REGISTRAR,但不一定是To。如果您的注册商恰好是路由流量/做位置服务的代理,则它们是相同的。以下是它的工作原理:

代理进行注册

在这种情况下,您正在使用alice@DOMAIN标题等于Contactalice@PHONE1等于To来注册您的手机。 alice创建一个其他用户可能知道的名称。它是您的逻辑标识符,而不是物理位置。

代理执行用户查找

当有人试图拨打PHONE2时,他们不会直接向手机发送请求,而是向域名代理发送请求。这意味着,他们在alice@DOMAIN上使用的请求URI是alice@PHONE1。当数据包到达域的代理并且URI被重写到已注册的联系人sip:bob@biloxi.com并转发到正确的位置(即注册的电话本身或注册链中的另一个代理)。

查看RFC 3261,“24.1注册”一章。电话注册为sip:bob@192.0.2.4,即使其位置为{{1}}。

答案 2 :(得分:0)

听起来应该是Alice<sip:alice@192.168.1.1>

SIP注册器将使用SIP请求中的URI来查找尝试注册联系人的SIP帐户。您问题的最终答案取决于您的SIP注册商使用的领域。如果它是192.168.1.1那么<sip:alice@192.168.1.1>将是有效的AoR。如果它是192.168.1.42那么<sip:alice@192.168.1.42>将是有效的AoR。

大多数注册商都会删除显示名称部分,这样您就可以关闭Alice,除非您尝试测试某些特定的一致性问题。

相关问题