JSIP(JAIN SIP)在发送时交换请求URI和路由头.为什么?如何预防



我使用的是JSIP(JAIN-SIP)1.2版(实现构建2384)。我正在尝试发送以下SIP消息(我在帖子中删除了实际的IP地址):

INVITE sip:bob@miniims.net SIP/2.0
Via: SIP/2.0/UDP xxx.yyy.zzz.www:5065;branch=z9hG4bKbranch1
Route: <sip:xxx.yyy.zzz.www>,<sip:xxx.yyy.zzz.www:5062>
Max-Forwards: 70
From: "Alice" <sip:alice@miniims.net>;tag=rawclientv1.0
To: "Bob" <sip:bob@miniims.net>
Call-ID: f2927406a96b0b3d3ef8213aa338d1c4@xxx.yyy.zzz.www
CSeq: 1 INVITE
Contact: "alice" <sip:alice@xxx.yyy.zzz.www:5065>
P-Preferred-Identity: <sip:alice@miniims.net>
Content-Length: 141
v=0
o=alice 2890844526 2890844526 IN IP4 xxx.yyy.zzz.www
s=
c=IN IP4 xxx.yyy.zzz.www
t=0 0
m=audio 12346 RTP/AVP 0 8 96
a=rtpmap:96 L16/8000

当我在解析后打印它时,它是正确的。但是,当我发送它时,请求URI被放在Route头列表的末尾,第一个Route头被移动到SIPURI中。没有RFC或3GPP标准规定这样的行为。WireShark已经捕捉到错误的信息:

INVITE sip:xxx.yyy.zzz.www SIP/2.0
Via: SIP/2.0/UDP xxx.yyy.zzz.www:5065;branch=z9hG4bKbranch1
Route: <sip:xxx.yyy.zzz.www:5062>,<sip:bob@miniims.net>
Max-Forwards: 70
From: "Alice" <sip:alice@miniims.net>;tag=rawclientv1.0
To: "Bob" <sip:bob@miniims.net>
Call-ID: f2927406a96b0b3d3ef8213aa338d1c4@xxx.yyy.zzz.www
CSeq: 1 INVITE
Contact: "alice" <sip:alice@xxx.yyy.zzz.www:5065>
P-Preferred-Identity: <sip:alice@miniims.net>
Content-Length: 141
v=0
o=alice 2890844526 2890844526 IN IP4 xxx.yyy.zzz.www
s=
c=IN IP4 xxx.yyy.zzz.www
t=0 0
m=audio 12346 RTP/AVP 0 8 96
a=rtpmap:96 L16/8000

这是JSIP中的正常行为吗?还是虫子?有没有一种方法可以防止它,即变通方法?提前感谢!

使用lr;路线标题中的参数。

最新更新