获取具有相同本地SIP URI的多个实例的GRUU

获取具有相同本地SIP URI的多个实例的GRUU,sip,opensips,Sip,Opensips,我的应用程序模拟具有相同记录地址的多个SIP实例,因此我可以支持对该URI的同时传入呼叫。 我还希望这些实例是唯一可寻址的。因此,我希望从注册商处获得每个SIP实例的GRUU 我使用OpenSips v2.3.1作为注册器。当应用程序在注册器注册时,收到的响应仅包含一个SIP实例(见下文)的带有GRUU的联系地址。当我使用具有不同本地SIPURI的SIP实例时,响应包含每个联系人地址的GRUU 我已经搜索了RFC5627(GRUU机制),但找不到这种行为的原因 这是正确的行为还是这个OpenSi

我的应用程序模拟具有相同记录地址的多个SIP实例,因此我可以支持对该URI的同时传入呼叫。 我还希望这些实例是唯一可寻址的。因此,我希望从注册商处获得每个SIP实例的GRUU

我使用OpenSips v2.3.1作为注册器。当应用程序在注册器注册时,收到的响应仅包含一个SIP实例(见下文)的带有GRUU的联系地址。当我使用具有不同本地SIPURI的SIP实例时,响应包含每个联系人地址的GRUU

我已经搜索了RFC5627(GRUU机制),但找不到这种行为的原因

这是正确的行为还是这个OpenSips版本有问题

谢谢你的回复

--

发送的注册请求如下所示:

REGISTER sip:192.168.1.178 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.237:5060;branch=z9hG4bKde764961a60b4e2f8e809470a5c20f78
Max-Forwards: 70
From: sip:1010@192.168.1.178;tag=d455cae0a95f4229bcd2153dac7b3c5b
To: sip:1010@192.168.1.178
Call-ID: f8e77f1a8a604cc98a505bb7017045e4
CSeq: 22 REGISTER
Contact: <sip:1010@192.168.1.237>;+sip.instance="<urn:uuid:2f33883736cc4a3d91570e8c06df9b06-002>"
Contact: <sip:1010@192.168.1.237>;+sip.instance="<urn:uuid:55372b9295824de19c98a9db63386160-001>"
Supported: gruu
Expires: 600
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.237:5060;branch=z9hG4bKde764961a60b4e2f8e809470a5c20f78
From: sip:1010@192.168.1.178;tag=d455cae0a95f4229bcd2153dac7b3c5b
To: sip:1010@192.168.1.178;tag=672eb56ff27ea055e14e7cc9d1cbeb13.6345
Call-ID: f8e77f1a8a604cc98a505bb7017045e4
CSeq: 22 REGISTER
Contact: <sip:1010@192.168.1.237>;expires=600;pub-gruu="sip:1010@192.168.1.178:5060;gr=urn:uuid:55372b9295824de19c98a9db63386160-001";temp-gruu="sip:tgruu.AUUDWmUJQ2QCSRNfYwBAc0UCXVQmRBk3CkUGXWQDEmoCSQZWYQUUNgFJUFdrUEk3UkYAXWsHQWUAXQNeYhEWa1VHBAhiUEgyBkAHDTAISDIFQAYMMQZAYgdAB1s2BQ==@192.168.1.178:5060;gr";+sip.instance="urn:uuid:55372b9295824de19c98a9db63386160-001"
Server: OpenSIPS (2.3.1 (x86_64/linux))
Content-Length: 0
注册sip:192.168.1.178 sip/2.0
Via:SIP/2.0/UDP 192.168.1.237:5060;分支=z9hG4bKde764961a60b4e2f8e809470a5c20f78
最大前锋:70
发件人:sip:1010@192.168.1.178;标签=d455cae0a95f4229bcd2153dac7b3c5b
致:sip:1010@192.168.1.178
电话号码:f8e77f1a8a604cc98a505bb7017045e4
CSeq:22寄存器
联系人:+sip.instance=“”
联系人:+sip.instance=“”
支持:格鲁
有效期:600
内容长度:0
从OpenSips注册器收到的注册响应如下所示:

REGISTER sip:192.168.1.178 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.237:5060;branch=z9hG4bKde764961a60b4e2f8e809470a5c20f78
Max-Forwards: 70
From: sip:1010@192.168.1.178;tag=d455cae0a95f4229bcd2153dac7b3c5b
To: sip:1010@192.168.1.178
Call-ID: f8e77f1a8a604cc98a505bb7017045e4
CSeq: 22 REGISTER
Contact: <sip:1010@192.168.1.237>;+sip.instance="<urn:uuid:2f33883736cc4a3d91570e8c06df9b06-002>"
Contact: <sip:1010@192.168.1.237>;+sip.instance="<urn:uuid:55372b9295824de19c98a9db63386160-001>"
Supported: gruu
Expires: 600
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.237:5060;branch=z9hG4bKde764961a60b4e2f8e809470a5c20f78
From: sip:1010@192.168.1.178;tag=d455cae0a95f4229bcd2153dac7b3c5b
To: sip:1010@192.168.1.178;tag=672eb56ff27ea055e14e7cc9d1cbeb13.6345
Call-ID: f8e77f1a8a604cc98a505bb7017045e4
CSeq: 22 REGISTER
Contact: <sip:1010@192.168.1.237>;expires=600;pub-gruu="sip:1010@192.168.1.178:5060;gr=urn:uuid:55372b9295824de19c98a9db63386160-001";temp-gruu="sip:tgruu.AUUDWmUJQ2QCSRNfYwBAc0UCXVQmRBk3CkUGXWQDEmoCSQZWYQUUNgFJUFdrUEk3UkYAXWsHQWUAXQNeYhEWa1VHBAhiUEgyBkAHDTAISDIFQAYMMQZAYgdAB1s2BQ==@192.168.1.178:5060;gr";+sip.instance="urn:uuid:55372b9295824de19c98a9db63386160-001"
Server: OpenSIPS (2.3.1 (x86_64/linux))
Content-Length: 0
SIP/2.0 200正常
Via:SIP/2.0/UDP 192.168.1.237:5060;分支=z9hG4bKde764961a60b4e2f8e809470a5c20f78
发件人:sip:1010@192.168.1.178;标签=d455cae0a95f4229bcd2153dac7b3c5b
致:sip:1010@192.168.1.178;标签=672eb56ff27ea055e14e7cc9d1cbeb13.6345
电话号码:f8e77f1a8a604cc98a505bb7017045e4
CSeq:22寄存器
联系人:;expires=600;pub gruu=“sip:1010@192.168.1.178:5060;gr=urn:uuid:55372b9295824de19c98a9db63386160-001”;temp gruu=“sip:tgruu.auudwmujqqcsrnfywbac0ucxvqmrbk3ckugxwqdemocsqzwyquongfjufdrue3ukyaxwshqwuaxqneywha1vhiuegybkahdtaidiqaymmqzaygdab1s2bq=@192.168.1.178:5060;gr”+sip.instance=“urn:uuid:55372b9295824de19c98a9db63386160-001”
服务器:OpenSIPS(2.3.1(x86_64/linux))
内容长度:0

OpenSIPS目前不支持的RFC 5626定义了
+sip.instance=
reg id=
联系人标头字段参数,因此,第二个联系人在注册尝试期间覆盖第一个联系人的原因。

实例=和
reg id=
联系人标头字段参数由RFC 5626定义,OpenSIPS目前不支持,因此,在您尝试注册时,第二个联系人会覆盖第一个联系人。

您是否尝试为每个sip.instance发送单独的注册表?是的,我尝试过。第二个注册请求只是刷新注册,而不是添加另一个绑定。OpensSips似乎将SIPURI视为主键值。我认为当使用GRUUs时,实例ID将成为更好的主键,或者可能是这两个值的组合。+sip.instance机制在rfc5626中描述。如我所见-要分开注册,您需要提供不同的注册id。缺少此参数可能会混淆serverAFAIK:注册同一instanceID时,reg id参数用于标识不同的流,但它们是不同的instanceID和相同的流。我尝试了您的建议,并在请求中的联系人地址中添加了reg id参数。OpenSips在响应中仍然只返回一个联系人地址(没有reg id参数)。我看到在版本1.8/1.9上报告并修复了相同的错误-因此理论上-应该支持它。但也许它又被重新引入了你的版本中。您可能需要联系OpenSips团队进行澄清。您是否尝试为每个sip发送单独的注册表。实例?是的,我有。第二个注册请求只是刷新注册,而不是添加另一个绑定。OpensSips似乎将SIPURI视为主键值。我认为当使用GRUUs时,实例ID将成为更好的主键,或者可能是这两个值的组合。+sip.instance机制在rfc5626中描述。如我所见-要分开注册,您需要提供不同的注册id。缺少此参数可能会混淆serverAFAIK:注册同一instanceID时,reg id参数用于标识不同的流,但它们是不同的instanceID和相同的流。我尝试了您的建议,并在请求中的联系人地址中添加了reg id参数。OpenSips在响应中仍然只返回一个联系人地址(没有reg id参数)。我看到在版本1.8/1.9上报告并修复了相同的错误-因此理论上-应该支持它。但也许它又被重新引入了你的版本中。您可能需要联系OpenSips团队进行澄清谢谢,这回答了我的问题。谢谢,这回答了我的问题。