Voir la version complète : Remplacer le plus par deux zero
Bonjour,
Quand je reçois un appel internationale sur mon téléphone Grandstream GXP2020, je voie le numéro +33612345678.
Est t-il possible de ré écrire le + en 00 dans le dialplan ?
Merci.
exten => _+X!,n,Goto(moncontexte,00${EXTEN:1},1) fastm3
Merci fastm3,
J'ai donc mi cette ligne dans [default] et adapté, mais rien ne change.
Dans le context des appels entrent, j'ai aussi d'autre GotoIf.
Je suis en asterisk 1.6.x
Merci fastm3,
J'ai donc mi cette ligne dans [default] et adapté, mais rien ne change.
Dans le context des appels entrent, j'ai aussi d'autre GotoIf.
Je suis en asterisk 1.6.x
Tu dois mettre cela dans ton contexte "telephone" ou "from-internal" pas dans defaut.
Enfin, c'est conseillé de ne pas utilisé defaut pour cela mais je ne connais pas ton dialplan ni le parametrage de tes tels. Pas le temps de tout reexpliquer.
Une petite lecture du guide dans la section telechargement s'impose...;)
Fastm3.
Cette ligne ne pourrais pas faire l'affaire ?
exten => mycontext,n,Set(SIP_HEADER(From)=${IF($["${EXTEN:0:1}" = "+"]?"00${EXTEN:1}":${EXTEN})})
Tu dois mettre cela dans ton contexte "telephone" ou "from-internal" pas dans defaut.
Enfin, c'est conseillé de ne pas utilisé defaut pour cela mais je ne connais pas ton dialplan ni le parametrage de tes tels. Pas le temps de tout reexpliquer.
Une petite lecture du guide dans la section telechargement s'impose...;)
Fastm3.
Ok, dommage qu'il est toujours pas en français ce livre....
Cette ligne ne pourrais pas faire l'affaire ?
exten => mycontext,n,Set(SIP_HEADER(From)=${IF($["${EXTEN:0:1}" = "+"]?"00${EXTEN:1}":${EXTEN})})
Ah ok, j'avais pas compris, tu veux reecrire le caller id. Ma solution etait de reecrire le numero en cas de rappel a partir du journal d'appel.
Pour ta demande, inspire toi du post de florent dans l'ancien forum, il faut juste rajouter le test avec un + en debut et corriger en fonction de cela.
http://www.asterisk-france.org/archives_net/showpost.php?p=47391&postcount=22
Fastm3.
ffossard
24/11/2010, 10h17
Ah tiens je mettrai bien ça en article dans le site, qu'en penses-tu ?
Ah tiens je mettrai bien ça en article dans le site, qu'en penses-tu ?
Cette manie a vouloir faire des tutos ! :D . Je t'en prie...;)
Fastm3
ffossard
25/11/2010, 20h54
Voilà:
http://www.asterisk-france.org/content.php/49-Mise-en-forme-du-callerid-pour-les-appels-entrants
Je reviens ver vous car j'ai tout cassé, vive les backups avant modification ^^
Avec cette ligne du genre, ça ne pourrais pas aller ?
exten => myaccount,n,Set(CALLERID(num)=${IF($["${CALLERID(num):0:1}" = "+"]?"00${CALLERID(num):1}":${CALLERID(num)})})
Le problème qui m'empêche de pratiquer les liens donnée, c'est que dans la partit du contexte de l'appel, j'ai déjà des redirections
exten => myaccount,1,Set(TOHDR=${SIP_HEADER(To)})
exten => myaccount,n,GotoIf($["${REGEX("XXXXXXX60" ${TOHDR})}" = "1"]?planA,60,1)
exten => myaccount,n,GotoIf($["${REGEX("XXXXXXX61" ${TOHDR})}" = "1"]?planB,61,1)
exten => myaccount,n,GotoIf($["${REGEX("XXXXXXX62" ${TOHDR})}" = "1"]?planC,62,1)
Donc je suis coincé car une fois que j'arrive à quelque chose de presque bon, j'ai plus les redirection en fonction qui fonctionne.
ffossard
02/12/2010, 17h01
Et bien votre première ligne vous la mettez après le set de la variable TOHDR et avant les 3 gotoif.
Votre regex semble matcher un nombre précis de digits ("XXXXXXX60"), alors que votre modification de callerid change parfois un "+" en deux zéro, donc un caractère de plus, mais si vous faite la modifcation après le set de TOHDR ça ne devrait pas avoir d'influence.
Dans ce morceau, je mettrai plutôt un crochet à la place de l'accolade:
Set(CALLERID(num)=${
Et bien votre première ligne vous la mettez après le set de la variable TOHDR et avant les 3 gotoif.
Votre regex semble matcher un nombre précis de digits ("XXXXXXX60"), alors que votre modification de callerid change parfois un "+" en deux zéro, donc un caractère de plus, mais si vous faite la modifcation après le set de TOHDR ça ne devrait pas avoir d'influence.
Dans ce morceau, je mettrai plutôt un crochet à la place de l'accolade:
Set(CALLERID(num)=${
J'ai pas compris avec le crochet et accolade, c'est déjà comme votre exemple il me sembles
Les règles en place c'est pour rediriger dans un contexte en fonction du n° que la personne à composé, donc je connais les digits puisque c'est des n° à moi.
J'ai finalement testé mais rien n'y fait, sur les postes VOIP c'est toujours afficher en + :(
[edit] Avec cette ligne ça semble fonctionner :
Set(CALLERID(num)=${IF($["${CALLERID(num):0:1}" = "+"]?00${CALLERID(num):1}:${CALLERID(num)})})
Malgré ça j'ai toujours une fois le numéro affiché avec un + et le second sans.
Il y à des doubles quote en moins, si quelqu'un peux confirmer la syntaxe.
j'avais aussi testé comme suite :
Set(CALLERID(num)=${IF($["${CALLERID(num):0:1}" = "+"]?"00${CALLERID(num):1}":"${CALLERID(num)}")})
Mais les " s'affiche sur le poste VOIP.
ffossard
02/12/2010, 19h23
Oui car les guillemets sont superflux.
Pour les crochets [ ] et les accolades { }, posez-vous la question de la différente d'utilisation entre l'une et l'autre :)
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. Tous droits réservés