LINUXMAKER, OpenSource, Tutorials

Pattern Matching

In der Liste mit den Sondernummern sind bereits Patterns aufgetreten. Hier folgt jetzt eine Zusammenfassung und Anwendungsmöglichkeiten für Patterns.

Patterns werden in der Asterisk-Konfiguration immer mit „_“ vor dem eigentlichen Suchmuster eingeleitet. Die Variable ${EXTEN} existiert automatisch und hat den durch das Muster definierten Wert, eine Definition wie bei ${RINGTIME} ist überflüssig. Ruft also jemand beispielsweise die 102 an, trifft diese Durchwahl auf das Pattern _XXX zu, Asterisk setzt den Wert von ${EXTEN} auf 102 und führt das Dial-Kommando aus.

exten => _Regular Expression,Prioritaet,Applikation

Eine Regular Expression kann in Asterisk aus den folgenden Elementen bestehen.

[ABC]

Die Ziffern A, B und C. Beispiel für die Zahlen 34, 37 und 38:

exten => _3[478],1,NoOp(Test)

Das Kommando NoOP() steht für No Operation und führt nichts aus.

[A-B]

Beliebige Ziffer von A bis B. Beispiel für alle Zahlen von 31 bis 35:

exten => _3[1-5],1,NoOp(Test)

(Zum Beispiel wäre auch [25-8] für folgende Ziffern möglich: 2,5,6,7,8.)

X

Beliebige Ziffer von 0 bis 9. Beispiel für alle Zahlen von 300 bis 399:

exten => _3XX,1,NoOp(Test)

Z

Beliebige Ziffer von 1 bis 9. Beispiel für alle Zahlen von 31 bis 39:

exten => _3Z,1,NoOp(Test)

N

Beliebige Ziffer von 2 bis 9. Beispiel für alle Zahlen von 32 bis 39:

exten => _3N,1,NoOp(Test)

.

Eine oder mehrere beliebige Ziffer(n). Beispiel für alle Nummern, die mit einer 0 beginnen:

exten => _0.,1,NoOp(Test)