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

时间:2017-09-20 10:32:54

标签: sip opensips

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

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

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

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

感谢您的回复。

-

发送的REGISTER请求如下所示:

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

从OpenSips注册商处收到的REGISTER响应如下所示:

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

1 个答案:

答案 0 :(得分:0)

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