Hors sujet : SIP REFER

Bonjour à tous

Ceci est simplement un retour d’expérience.

Nous avons un smartphone SIP développé maison. Afin de pouvoir faire des transferts d’appels (A parle à B et C et veut mettre en relation B avec C), nous utilisons la méthode REFER.
Cela fonctionnait parfaitement avec Asterisk sur les versions 11 à 15 (pas testé sur 16).

En testant Wazo 20 (Asterisk 17), j’avais des réponses 400 Bad Request

L’entête SIP contenait la ligne
Refer-To: <sip:006801xxxxx@10.0.1.20?Replaces=b94c49f8-67cb-493e-ba8d-9517f20c8359;to-tag=59941052-bae4-412d-8d5f-e334fc5e6f3e;from-tag=1B53B3031>

Après avoir cherché, cherché, encore cherché (jusque dans les RFC), le problème venait de la ligne Refer-To qui a doit avoir la forme

Refer-To: <sip:006801xxxxx@10.0.1.20?Replaces=b94c49f8-67cb-493e-ba8d-9517f20c8359%3Bto-tag%3D59941052-bae4-412d-8d5f-e334fc5e6f3e%3Bfrom-tag%3D1B53B3031>

La différence vient simplement de l’encodage des signes ; et =. Bizarrement, le premier = (juste après Replaces) ne pose pas de problème.
Je viens de tester la modification et elle fonctionne sur Asterisk 15 et 17 (pas testé les autres).

Bonne journée à tous

chan_sip versus chan_pjsip ? C’est peut être aussi cela la diff. J’ai pas check la RFC, mais c’est peut être que si tu utilisais chan_sip il ne respectait pas correctement les entêtes.

Oui, je pense que l’implémentation dans chan_pjsip doit légèrement varié de celle de chan_sip.
Je me pose simplement la question de “qui a raison ?” (mais est-ce bien nécessaire) car je n’ai rien trouvé de particulier dans les RFC sur l’encodage de Refer-To.

J’ai ma petite idée quand même :wink:

ah oui ? hummm…suis curieux