PDA

Voir la version complète : Remplacer le plus par deux zero



cobra
23/11/2010, 17h45
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.

fastm3
23/11/2010, 18h15
exten => _+X!,n,Goto(moncontexte,00${EXTEN:1},1) fastm3

cobra
23/11/2010, 18h29
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

fastm3
23/11/2010, 18h43
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.

cobra
23/11/2010, 18h48
Cette ligne ne pourrais pas faire l'affaire ?


exten => mycontext,n,Set(SIP_HEADER(From)=${IF($["${EXTEN:0:1}" = "+"]?"00${EXTEN:1}":${EXTEN})})

cobra
23/11/2010, 18h50
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....

fastm3
23/11/2010, 19h21
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 ?

fastm3
24/11/2010, 11h36
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

cobra
02/12/2010, 15h35
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)=${

cobra
02/12/2010, 17h14
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 :)