Ajouter entêtes SIP personnalisées lors d'appels sortants vers un trunk

Bonjour tout le monde,

Mon objectif réel, est d’ajuster le PAI uniquement lors d’appels vers une destination spécifique.

Pour commencer, je cherche donc à pouvoir rajouter des entêtes SIP personnalisées lorsque j’emet un appel sortant via un trunk SIP.

Avec PJSIP, j’ai lu qu’il faudrait utiliser PJSIP_HEADER.

J’ai tenté de positionner par exemple un header custom soit dans une preprocess subroutine dans un outcalls ou en global subroutine de type xivo-subrgbl-outcall

Set(PJSIP_HEADER(add,X-P-Asserted-Identity)=“test”)

Toutefois, je n’y arrive pas, je ne vois jamais mon header dans mon INVITE SIP.

Est-ce que quelqu’un aurait déjà réussi à réaliser cela ? Est-ce possible ?

En vous remerciant par avance :slight_smile:

Salut,

C’est pas possible de le faire ainsi par la nature b2bua d’asterisk. Tu dois le faire avec l’option b de dial dans ta sous routine, mais on a une mécanique là dessus existante,
Regarde mon poste ici : Add Emergency Caller ID and Emergency Call Name to Wazo-ui user - #14 by quintana

Sylvain

Bonjour,

Merci je vais tester wazo-add-pre-dial-hook, ça semble être ce que je cherche !

Je viens de faire le test, alors ça marche très bien pour des champs custom de type X-.

par contre j’ai voulu tenter de personnaliser le champs PAI mais il ne semble pas le prendre en compte.

Ce n’est pas permis ?

Non je ne vois pas de raison. Tu as peut être déjà un header pour le PAI donc plutôt regarder pour faire un update ou le supprimer puis l’ajouter.

J’ai fait le test d’utiliser un update plutot qu’un add :

same = n,Set(PJSIP_HEADER(update,P-Asserted-Identity)="Prenom Nom" <sip:numero@IP>)

Malgré ça, je prend dans ma console asterisk au moment de l’appel

[2022-04-05 16:49:22.7867] ERROR[3440]: res_pjsip_header_funcs.c:510 update_header: No headers had been previously added to this session.

J’ai tenté soit de réaliser cela, dans une subroutine outcalls, soit en global subroutine outcalls mais je n’ai pas de différence.

J’ai pris soin d’exécuter ça comme indiqué dans le lien via wazo-add-pre-dial-hook.

Est-ce que le PAI serait pas ajouté plus tard dans la procédure de création d’un appel ce qui pourrait expliquer que quand je fais un add je n’ai pas d’erreur mais aussi je n’ai pas la bonne valeur dans le header ?

Oui, c’est possible que tu es un update après en effet. Faut regarder les paramètres sur pjsip sur le trunk appliqué.

A priori c’est bien ça, j’avais dans mon trunk sip send_pai à yes, du coup je l’ai mis a no et j’ai refait mon test :

Ce coup-ci j’ai bien mon PAI avec mes valeurs custom positionné dans mon dialplan.

Je conclus donc que le send_pai à yes sur une interco va écraser tout ce qu’on peut paramétrer précédemment dans nos dialplan.

Donc soit on le met à yes et on hérite d’une méthode de construction non modifiable, soit on le met a no pour prendre en charge via dialplan toute la notion de PAI.

Les outils sont là, il n’y a plus qu’a faire un choix.

merci :slight_smile:

Il doit le mettre à jour après le dialplan pendant la construction de l’invite dans le dial.