[gelöst] Was ist der Unterschied zwischen CHANUNAVAIL und der i-Extension?

A

anhalter42

Guest
Ja, ich habe schon gesucht, aber mir ist der Unterschied nicht klar.

Einerseits habe ich s-CHANUNAVAIL (genau wie s-NOANSWER, s-BUSY und s-CONGESTION) in meiner extensions.conf, es gibt aber auch die i-Extension.

Wenn ich nun eine nicht existente Durchwahl anrufe, dann erhalte ich das Signal CHANUNAVAIL. Die i-Extension "springt nicht an", nur, falls ich
Code:
exten => s-CHANUNAVAIL,1,Goto(i,1)
mache. Nun wollte ich hier nochmal fragen, ob ich nun einen gravierenden Fehler mache.

Dabei stellt sich mir auch noch die Frage, ob ich die i-Extension zu spät platziert habe...
 
Zuletzt bearbeitet von einem Moderator:
Es ist eigentlich ganz einfach - die "i" Extension wird immer dann angesprungen, wenn es im aktuellen Dialplan-Kontext keine passend definierte Extension für die gewählte Rufnummer gibt.

Sie hat absolut nichts mit CHANUNAVAIL zu tun, sondern ist zu 100% eigenständig. In der Form wie Du sie einsetzt hättest Du sie auch beliebig anders nennen können.

Da Du mit s-CHANUNAVAIL schon eine "gültige" Extension definiert hast, die nach dem Dial angesprungen wird, besteht für Asterisk eben keine Notwendigkeit, automatisch nach "i" zu springen.
 
Habe gestern abend nochmal darüber nachgedacht:ein
Code:
exten => _XXXX.,n,Goto(s-${DIALSTATUS},1)
und ein anschließendes
Code:
exten => s-CHANUNAVAIL,1,usw.usf.
(neben s-BUSY, s-NOANSWER usw.) erreicht also praktisch dasselbe wie die i-Extension?

Wenn nein, wäre die Frage, in welchen Fällen ein CHANUNAVAIL ausgelöst wird und die i-Extension nicht korrekt wäre. In dem von mir konstruierten Fall einer nicht existenten Durchwahl wäre es ja dasselbe. (Daher meine Frage im Originalposting nach dem gedanklichen Fehler, den ich mache)

Wenn ja, dann wäre sicher die Literatur gut beraten, beide Optionen aufzuführen bzw. aufeinander zu verweisen. Mir persönlich scheint die Vorgehensweise mit Goto(s-${DIALSTATUS},1) feiner, denn ich kann jeden DIALSTATUS einzeln verarbeiten.
 
Da ich dort erfahren habe, das dein Problem noch nicht gelöst ist, versuche ich es mal zu erklären.

Wenn du deine durchwahlen mit _XXX definierst, ist ja JEDE 3-stellige Durchwahl eine GÜLTIGE Durchwahl. Dann kommt (sofern ein Goto nach s-${DIALSTATUS} vorhanden ist) immer ein Sprung zu der entsprechedenden Stelle.

Wenn du aber jede Extension einzeln definierst, dann definierst du auch nur die, die vorhanden sind:

123,...
124,...
129,...

Wähle ich jetzt 125 kommt die i-Extension ins Spiel, da es die 125 nicht gibt.
 
Danke, doxon. Da hast Du natürlich vollkommen recht, aber definiert Ihr in der extensions.conf wirklich jede Durchwahl durch?

Hier muss man vielleicht zwischen Übersichtlichkeit und Sicherheit abwägen.
Übersichtlich wäre, das Pattern Matching zu benutzen (Nachteil: einige nicht existente Durchwahlen werden durch das Pattern "erfasst", vor allem, wenn man "Lücken" in der Numerierung hat).

Sicherer wäre es, alle gültigen Durchwahlen aufzuführen (Nachteil: die extensions.conf könnte unübersichtlich werden).

Es bleibt wohl nur die Wahl des geringeren Übels... :-( Ich denke, ich komme langsam dahinter.
 
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.