2009-08-12 5 views
0

dans mon plan de numérotation, je veux savoir quand un numéro à 7 chiffres a été composé par l'utilisateur. Mais, le plan de numérotation contient déjà une extension _X. , ce qui annulerait la vérification du nombre à sept chiffres. Alors, quelqu'un peut-il me dire s'il vous plaît la bonne extension à utiliser pour correspondre à un numéro à sept chiffres composé par l'utilisateur compte tenu du plan de numérotation contient déjà _X. .Correspondant à un numéro à 7 chiffres dans le plan de numérotation

Merci.

+0

Étiez-vous capable de tester la réponse que j'ai posté ci-dessous? Si oui, pouvez-vous donner votre avis? – paracycle

Répondre

1

7 ne doit jamais remplacer _X. car les modèles sont toujours vérifiés après les non-modèles. Voir voip-info.org pour plus de détails.

+0

im ne correspond pas à un numéro 7, mais un nombre à sept chiffres, donc j'ai utilisé _XXXXXXX, qui je pense est un motif pour correspondre à un nombre à sept chiffres, corrigez-moi si im tort. Donc, _X. ce qui signifie que tout chiffre de 0 à 9 suivi d'un nombre quelconque de chiffres remplacerait _XXXXXXX. Alors, y a-t-il un moyen d'empêcher cela? –

2

Si un motif correspond à plus d'une extension, Asterisk exécute la correspondance la plus spécifique.

Par exemple donné les 4 extensions suivantes dans le même contexte

exten => _X.,1,Dial(SIP/foo) 
exten => _NXXXXXX,1,Dial(SIP/foo) 
exten => _XXXXXXX,1,Dial(SIP/foo) 
exten => _867530X,1,Dial(SIP/foo) 

Asterisk leur correspondent dans l'ordre suivant quel que soit l'endroit où ils apparaissent dans le contexte:

exten => _867530X,1,Dial(SIP/foo) 
exten => _NXXXXXX,1,Dial(SIP/foo) 
exten => _XXXXXXX,1,Dial(SIP/foo) 
exten => _X.,1,Dial(SIP/foo) 

Utilisez « Afficher dialplan extension @ context "sur la CLI et Asterisk vous montrera l'ordre dans lequel les matchs seront exécutés. Par exemple:

*CLI> dialplan show [email protected] 
[ Context 'default' created by 'pbx_config' ] 
    '_867530X' =>  1. Dial(SIP/foo)        [pbx_config] 
    '_NXXXXXX' =>  1. Dial(SIP/foo)        [pbx_config] 
    '_XXXXXXX' =>  1. Dial(SIP/foo)        [pbx_config] 
    '_X.' =>   1. Dial(SIP/foo)        [pbx_config] 

-= 4 extensions (4 priorities) in 1 context. =- 

Pour plus d'informations, je vous recommande le Asterisk Wiki

https://wiki.asterisk.org/wiki/display/AST/Pattern+Matching

Ou Asterisk le Guide Definative

http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html/asterisk-book.html#asterisk-DP-Basics-SECT-3.6

voip-info a tendance ont beaucoup de pas à jour information.

1

Considérez que vous avez déjà

exten => _X.,1,Dial(SIP/foo) 
exten => _X.,2,Hangup 

Actuellement pour correspondre à la 7 DIGIT Expression vous pouvez faire quelque chose comme ça

exten => _X.,1,GotoIf($[${LEN($EXTEN)} = 7] ? dig7) 
exten => _X.,n,Dial(SIP/foo) 
exten => _X.,n,Hangup 
exten => _X.,n(dig7),Dial(ZAP/${EXTEN}) 
exten => _X.,n,Hangup 

essayer d'éviter les conflits modèles DialPlan.

Questions connexes