Ungültige Durchwahlen von extern abfangen und auf Zentrale abwerfen

Hallo Leute!

Kurze Frage an die Script-Meister:
Ich habe ein Scriptchen, wo ich mir ungültige Durchwahlen raus hole und diese auf die Zentrale abwerfe.
Mein Problem ist jetzt, dass auch interne Falschwahlen auf die Zentrale abgeworfen werden.

Wie kann ich das verhindern?

Hier mein Script:


exten => i,1,NoOp(keine gültige Nummer gewählt)
exten => i,n,Goto(main|98|1)

Wäre super, wenn jemand einen Ansatz dafür hätte.
Könnte mir vorstellen, dass es mit einem GoToIf klappen könnte.
Nur wie kann ich abfragen, ob es sich um eine interne Nummer handelt?

lg und besten Dank

Dominik

Hallo Dominik,

bin da nicht der Experte, aber unter https://www.pascom.net/doc/de/ findest Du eine Liste interner Dialplanvariablen (Docu ist nicht mehr Online Verfügbar).
Mit MDC_DIALCHANNELNAME müsstest Du Deinen Fall erschlagen können.

Mein Kollege Markus empfiehlt jedoch ausdrücklich in solchen Fällen mit Blöcken bei den Inbound-Regeln zu arbeiten. Da hier “best match” greift, legt man eine Regel für die Zentrale und mehrere für die tatsächlich benutzen Rufnummernblöcke an.

Gruß,

Thomas

Hallo Thomas!

Danke für deinen Tipp. Die Wiki-Seite war die Richtigen, jedoch die falsche Variable :slight_smile:
Sinn hat dann die MDC_DIALDESCENT gemacht.

exten => i,1,NoOp(keine gültige Nummer gewählt)
exten => i,n,NoOp(Anrufquelle ${MDC_DIALDESCENT}ern)
exten => i,n,GotoIf($ ${MDC_DIALDESCENT} = int ]?intern)
exten => i,n,NoOp(Anruf von extern, Abwurf auf Zentrale)
exten => i,n,Goto(main|98|1)

exten => i,n(intern),NoOp(Anruf von intern, Playback falsche Nummer)
exten => i,n(intern),Playback(tt-weasels)
exten => i,n(intern),Hangup()

Es schmeißt mir jetzt die externen ungültig Anrufe auf die Warteschlange von der Zentrale, interne Anrufe können sich mit tt-weasels vergnügen :slight_smile:

lg und nochmals besten Dank

Dominik