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
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 ?
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.