Pattern-Match Probleme

Chaotux

Neuer User
Mitglied seit
10 Nov 2005
Beiträge
198
Punkte für Reaktionen
0
Punkte
0
Hallo,

wie ich ja im Asterisk-HFC-Forum geschrieben habe, habe ich Probleme mit 'vorgewählte' Sonderzeichen.

Prinzipiell wollte ich dies zur Auswahl der ausgehenden Leitung benutzen. Da ich keinen einleuchtenden Grund sah, dass die Auswahl unbedingt vor der Telefonnummer übertragen werden muss, habe ich versucht die Auswahl nachzustellen. So kann ich in Ruhe die Telefonnummer raussuchen/eintippen, dann abheben und dann per Overlapdial einfach die Auswahl nachschieben.

Prinzipiell habe ich mir das so gedacht:

exten => _X.,1,NoOp(Wähle ${EXTEN} normal)
exten => _X.#1,1,NoOp(Wähle ${EXTEN:0:$[${LEN(${EXTEN})} - 2]} über #1)

Leider funktioniert das nicht. Das Pattern _X.#1 match auch Extensions, die garnicht mit #1 aufhören. Ist das so gewollt oder mache ich einfach irgendwas falsch?

Danke,
Lars

P.S. Gibt es eigentlich irgendwo richtige Beispiel extensions.conf? Ich habe http://www.voip-info.org/wiki/view/Asterisk+dial+plan+-+working+example gefunden, aber das Beispiel scheint mir nicht sonderlich 'sauber'. Alles ist doppelt und dreifach implementiert. Das ist ja die Wartungshölle, wenn man mal was ändern will :)
 
AFAIK wird alles hinter dem '.' einfach ignoriert.
 
Mmmh. Sehr bedauerlich. Hatte mir fast schon sowas gedacht.
 
AFAIK wird alles hinter dem '.' einfach ignoriert.

Genauer gesagt bedeutet der Punkt "0-unendlich-fache Wiederholung des vor dem Punkt stehenden Patterns" bei einem X also beliebig viele nachfolgende Ziffern 0-9

Die Raute hat dabei noch die Sonderfunktion, das Ende der zu wählenden Nummer zu signalisieren - der Asterisk wählt dabei ohne weitere Wartezeit sofort los. Nach einer Raute wirst du also nie matchen können !

Gibt es eigentlich irgendwo richtige Beispiel extensions.conf?

Ja - in den Beispielkonfigurationen der Asterisk-Distribution ist eine extensions.conf die eine wahre Fundgrube an Ideen beinhaltet und eine hervorragende Referenz beinhaltet.
 
betateilchen schrieb:
Genauer gesagt bedeutet der Punkt "0-unendlich-fache Wiederholung des vor dem Punkt stehenden Patterns" bei einem X also beliebig viele nachfolgende Ziffern 0-9

Das hatte ich gehofft.

betateilchen schrieb:
Die Raute hat dabei noch die Sonderfunktion, das Ende der zu wählenden Nummer zu signalisieren - der Asterisk wählt dabei ohne weitere Wartezeit sofort los. Nach einer Raute wirst du also nie matchen können !

Das kann ich nicht nachvollziehen:

exten => _12XX,1,NoOp(12XX)
exten => _XX#2,1,NoOp(XX#2)

Das macht genau das, was man von ihm erwartet. Mir scheint es, als ob der Punkt das Problem ist.

betateilchen schrieb:
Ja - in den Beispielkonfigurationen der Asterisk-Distribution ist eine extensions.conf die eine wahre Fundgrube an Ideen beinhaltet und eine hervorragende Referenz beinhaltet.

Die werde ich mir wohl nochmal genauer zu Gemüte führen. Sie hatte mich auf den ersten Blick nicht als sehr inspirierend getroffen, aber vielleicht habe ich einfach nicht genau genug hingeschaut :)
 
Mir scheint es, als ob der Punkt das Problem ist.

Ja - der Punkt ist das Problem. Das hat Maik Dir doch schon geschrieben.
 
betateilchen schrieb:
Genauer gesagt bedeutet der Punkt "0-unendlich-fache Wiederholung des vor dem Punkt stehenden Patterns" bei einem X also beliebig viele nachfolgende Ziffern 0-9

Das hab ich anders in Erinnerung. AFAIK steht der Punkt für eine beliebige Zeichenfolge. (egal was davor steht)

Die Raute hat dabei noch die Sonderfunktion, das Ende der zu wählenden Nummer zu signalisieren - der Asterisk wählt dabei ohne weitere Wartezeit sofort los. Nach einer Raute wirst du also nie matchen können !

Das mit der Raute kenn ich eigentlich nur von Cisco-Telefonen. Das Telefon sendet die Raute dann aber nicht mit. Im Asterisk-Dialplan werden Zeichen, die nach dem Punkt kommen auf jeden Fall ignoriert.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.