Was wird benötigt?
- FreePBX (konfiguriert nach Teil 1-3)
- Teil 4.28. Dynamische Routen
- Teil 4.16. Weiterleiten auf externe Ziele
- Teil-4.28.1.-Dynamische-Routen-Manuelle-Call-Flow-Control-zu-mehr-als-2-Zielen-Ansagen und Konfiguration (1007 Downloads )
Dieser Beitrag ist ein Anwendungsbeispiel für dynamische Routen mit folgendem Szenario:
Eine fiktive Firma hat einen Notruf/Bereitschaftsdienst. Während der regulären Arbeitszeit werden eingehende Notrufe auf die Zentrale der Firma weitergeleitet. Außerhalb der Arbeitszeit werden die Notrufe auf das Handy des jeweils diensthabenden Mitarbeiters weitergeleitet.
Die Umsetzung erfolgt mit 2 dynamischen Routen. Mit der ersten dynamischen Route wird eine Variable in der Asterisk-Datenbank gesetzt, welche die Information über den jeweils diensthabenden Mitarbeiter enthält. Die zweite dynamische ist direkt in den Rufweg eingebunden und fragt bei jedem eingehenden Anruf diese Variable ab, um den Anruf in Abhängigkeit Ihres Wertes auf das Handy des jeweiligen diensthabenden Mitarbeiters weiterzuleiten.
Die Details dazu gibt’s im Video.

Hallo Herr Griebsch,
vielen Dank für die hilfreichen Videos.
Gibt es eine Möglichkeit, die Asterisk-Variablen anzeigen zu lassen ?
Oder muss ich mir den über die Dynamischen Routen gesetzten Wert selbst aufschreiben ?
Ich meinte den Inhalt der Asterisk-Variable (z.B standby), die im Video über die Dynamische Route gesetzt wird. Wenn ich, wie im Video beschrieben, eine Rufumleitung über die Kurzwahl *333 konfiguriere, dann weiss ich eventuell nach ein paar Wochen nicht mehr, welche Rufumleitung aktiv ist. Im Internet habe ich den CLI-Befehl
core show variable
gefunden. Der funktioniert nicht.
Du musst ja im cli die variable noch benennen …. Wenn es aber nur um den Inhalt geht könnte man eine neue Extension hinzufügen welche den Inhalt der Variablen ausliest und dann ansagt
exten => 123,1,Answer()
same => n,Set(my_number=${DB(my_table/my_key)}) ; Datenbankwert in Variable laden
same => n,SayDigits(${my_number}) ; Ziffernfolge ausgeben
same => n,Hangup()
Möglich wäre das vielleicht. Aber worin liegt der Vorteil? Ich kann keinen Vorteit erkennen?
Hallo Herr Griebsch,
Wie Herr Wagner schon schrieb: nach längerer Zeit könnte man den Status der Rufweiterleitung vergessen haben, Wie sie schon schrieben möglich ist vieles …und ja das einfachste ist vielleicht einfach die Rufweiterleitung neu zu setzen .