Ich habe einen Asterisk Server mit einem (meist) funktionierenden Dialplan laufen.Asterisk - Wie man mit mehrstelligen Eingängen arbeitet
Ich habe dieses Szenario:
An einem Punkt hört der Anrufer „eine beliebige Zahl eingeben“. Er gibt dann eine Nummer auf seinem Telefon ein.
Wenn er 0 tritt i im Wählplan ‚Context0‘ springen möchten. Wenn er eine Zahl von 1 bis 10000 eingibt, möchte ich zu 'Context1' springen. Wenn die eingegebene Zahl größer als 10000 ist, möchte ich zu 'Context2' springen.
Der Kontext, die dieses Szenario behandelt sieht wie folgt aus:
[Context]
exten => 100,1,Background(/var/lib/asterisk/sounds/sound)
exten => 0,1,Goto(Context0,100,1)
exten => _Z,1,Goto(Context1,100,1)
exten => _ZX,1,Goto(Context1,100,1)
exten => _ZXX,1,Goto(Context1,100,1)
exten => _ZXXX,1,Goto(Context1,100,1)
exten => 10000,1,Goto(Context1,100,1)
exten => i,1,Goto(Context2,100,1)
Dies funktioniert, wenn ich nur 5 Ziffern eingeben. Wenn ich z. 123456, dann nach 12345 gibt es die 'i-Erweiterung' ein, geht zu Context2 und wendet in diesem Kontext die letzte Ziffer (in diesem Fall Nummer 6) an.
Also meine Frage ist, wie kann ich die dialplan Prüfung machen, wenn der Eingang größer als 10000 ist, und wenn sie größer Sprung zu Kontext2?
Ich hoffe, dass Sie mein Problem verstehen, ist mein Englisch nicht so gut .. :)
Vielen Dank und viele Grüße
Aber wenn ich dies mit Read versuche, legt es immer auf.In den Protokollen sehe ich immer das: [Oct 24 11:34:57] WARNUNG [1356] [C-00000000] pbx.c: Keine Anwendung 'Lesen' für die Erweiterung (Kontext, s, 1) ich auch versuchte etwas so einfaches: [link] (https://wiki.asterisk.org/wiki/display/AST/The+Read+Application) Aber es gibt mir den gleichen Fehler ... Muss ich etwas konfigurieren dass ich die Anwendung 'Lesen' benutzen kann? – simplex
@simplex Stellen Sie sicher, dass 'app_read.so' geladen ist. Wenn Ihr Stern nicht so konfiguriert ist, dass er automatisch geladen wird, können Sie ihn manuell mit dem Befehl 'module load app_read.so' laden und den Test erneut ausführen. –