PDA

Voir la version complète : Problème suppression préfixe international



nings
11/10/2015, 12h57
Hello,

J'ai un souci que je n'arrive vraiment pas à résoudre.
J'aimerais bêtement supprimer un préfixe international "00XX" et rajouter un "0" devant le numéro de téléphone lors d'un appel entrant.

La plupart des règles trouvées ne fonctionnent absolument pas ou alors me change une partie du callerid car après le "goto sip" voilà ce que je reçois de l'autre côté "00XX111111111" <111111111> sauf que sur le téléphone prend le premier numéro donc celui avec le préfixe international.

Quelqu'un peut me dire ou m'expliquer ce que je dois mettre exactement pour supprimer ces 4 caractères puis rajouter un 0 et que le numéro modifié soit bien affiché sur le téléphone ?

Voilà la 2ème partie de mon "extensions.conf"


[sip]
exten => s,1,Log(NOTICE, Incoming call from ${CALLERID(all)})
exten => s,2,Dial(SIP/1&SIP/2&SIP/3,60)
exten => s,3,Hangup()


Rien de bien spécial, juste que je ne trouve aucune règle de filtrage qui fonctionne et si je ne mets pas de règle avec le "s" devant, il m'affiche ceci comme message : Call from 'X' to extension 's' rejected because extension not found in context 'sip'.


Merci d'avance pour votre aide !

jean
12/10/2015, 14h58
le s designe l'extension appelée non précisée - si c'est du ovh, c'est normal, elle est dans un autre champ, il faut faire un google ovh+cut et ca va sortir je pense

sinon, 1${CALLERID(num):2) - va retirer les 2 premiers caractères de callerid, et ajouter un 1

nings
12/10/2015, 21h57
Oui, je suis bien chez OVH et c'est effectivement spécial..
Mais voici comment faire pour supprimer le préfixe international et rajouter un 0 devant les appels entrant :

OVH
***
CALLERID(name) = numéro affiché sur le téléphone
CALLERID(num) = numéro affiché sur certains téléphones qui affichent deux lignes



[sip_transform]
exten => s,1,ExecIf($[ "${CALLERID(name):0:4}" = "00XX" & "${LEN(${CALLERID(name)})}" = "LongueurEnChiffre" ]?Set(CALLERID(name)=0${CALLERID(name):4}))
exten => s,2,ExecIf($[ "${CALLERID(num):0:4}" = "00XX" & "${LEN(${CALLERID(num)})}" = "LongueurEnChiffre" ]?Set(CALLERID(num)=0${CALLERID(num):4}))
exten => s,3,Goto(sip,${EXTEN},1)

[sip]
exten => s,1,Log(NOTICE, Incoming call from ${CALLERID(all)})
exten => s,2,Dial(SIP/1&SIP/2&SIP/3,60)
exten => s,3,Hangup()



Merci pour l'info ! :)