Bonjour,
Voici une petite astuce pour router de façon différente le n° freebox du n° géographique avec Freephonie.
Partons du principe que nous avons le n° Freephonie 0950123456 sur lequel est porté le n° géographine 0296123456, dans le cas d'un dégroupage totale.
Nous souhaitons faire en sorte que les appels sur le n° Freephonie arrivent sur le compte SIP/301 et les appels sur le n° géographiquent arrivent sur le compte SIP/300.
Je me suis basé sur ce tuto :
http://www.freephonie.org/topic938.htmlDans un premier temps, on va créer une fonctions ( "Appliaction" dans la langue de Shakespeare ) que avec ceci :
1,Set(PSTN_CALLED=${SIP_HEADER(To):5})
2,Set(PSTN_CALLED=${CUT(PSTN_CALLED,@,1)})
3,ExecIf($[${PSTN_CALLED}=0296123456]|Goto|6);
4,Dial(SIP/301)
5,Hangup()
6,Dial(SIP/300)
7,Hangup()
Cette fonction récupère le n° de l'appelé dans l'entêtes SIP "To".
Or, si on sélectionne cette fonction pour les appels entrant venant de l'operateur Freephonie, on obtient cette erreur :
chan_sip.c:11833 in func_header_read: This function can only be used on SIP channels.Et la variable PSTN_CALLED reste vide...
Pour résoudre ce problème, j'ai ajouté dans la rubrique "Attributions manuelles" des Paramètres Avancés du compte Opérateur Freephonie :
context=APPLICATION-MAPPING-13404470274bd1503a82af9Et la ça fonctionne.
APPLICATION-MAPPING-13404470274bd1503a82af9 correspondant à la fonction crée. Pour la trouver, il faut aller dans la page status.php#extensions.conf du serveur.
Voilà, si ça peu aider
