0

私のダイヤルプランでは、ユーザーがいつ 7 桁の番号をダイヤルしたかを知りたいです。ただし、ダイヤルプランにはすでに拡張子 _X が含まれています。これにより、7 桁の数字チェックが上書きされます。それで、ダイヤル プランにすでに _X が含まれていることを考慮して、ユーザーがダイヤルした 7 桁の番号に一致させるために使用する正しい内線番号を教えてください。.

ありがとうございました。

4

3 に答える 3

3

パターン マッチが複数の拡張子である場合、Asterisk は最も限定的なマッチを実行します。

たとえば、同じコンテキストで次の 4 つの拡張があるとします。

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

アスタリスクは、コンテキスト内のどこに出現するかに関係なく、次の順序で一致します。

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

CLI で「dialplan show extension@context」を使用すると、一致が実行される順序がアスタリスクによって表示されます。例えば:

*CLI> dialplan show 8675309@default
[ 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. =-

詳細については、The Asterisk Wiki をお勧めします

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

または決定的なガイドにアスタリスクを付ける

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

voip-info には、多くの古い情報が含まれる傾向があります。

于 2013-01-03T14:27:37.450 に答える
2

あなたがすでに持っていると考えてください

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

現在、7桁の式に一致させるために、次のようなことができます

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

ダイヤルプラン パターンの競合を避けるようにしてください。

于 2013-02-12T05:58:36.880 に答える
1

7_X.パターンは常に非パターンの後にチェックされるため、決してオーバーライドしないでください。詳細については 、 voip-info.orgを参照してください。

于 2009-08-12T11:49:38.623 に答える