J'utilise JSIP (JAIN-SIP) version 1.2 (implémentation build 2384). Je suis en train d'envoyer le message SIP (I supprimé les adresses IP réelles dans le poste):JSIP (JAIN SIP) échangeant l'adresse URI et l'en-tête Route lors de l'envoi. Pourquoi? Comment l'éviter?
INVITE sip:[email protected] 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:[email protected]>;tag=rawclientv1.0
To: "Bob" <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: "alice" <sip:[email protected]:5065>
P-Preferred-Identity: <sip:[email protected]>
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
Quand je l'imprime après l'analyse, il est correct. Cependant, lorsque je l'envoie, l'URI de la requête est placée à la fin de la liste des en-têtes Route, et le premier en-tête Route est déplacé dans l'URI SIP. Aucune norme RFC ou 3GPP ne prescrit un tel comportement. WireShark capture déjà le mauvais message:
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:[email protected]>
Max-Forwards: 70
From: "Alice" <sip:[email protected]>;tag=rawclientv1.0
To: "Bob" <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: "alice" <sip:[email protected]:5065>
P-Preferred-Identity: <sip:[email protected]>
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
Est-ce un comportement normal dans JSIP? Ou un bug? Existe-t-il un moyen de l'empêcher, à savoir une solution de contournement? Merci d'avance!
Merci! Je l'ai fait avant de lire votre réponse, et en effet, cela fonctionne maintenant. L'exemple que j'ai pris à l'origine était faux (ou trop simplifié). –