holiday.cs Script - Ziel bei nicht Feiertag angeben

thefi.com_CW

Mitglied seit
10. Februar 2021
Beiträge
56
Hallo an alle!

Ich habe zu dem holiday.cs mal ein paar Fragen.


Eine Warteschleife hat eine ext. DID zugewiesen. Das Skript ist den kompletten Trunk zugewiesen. Der Anruf von extern direkt an der Warteschleife an und dementsprechend wird auch die hinterlegte Ansage im Feiertag abgespielt wenn der Feiertag erkannt wird. Nach dem Abspielen der Ansage passiert auch dann genau das, was ich in der Warteschleife unter "Feiertag/Urlaub" eingestellt habe. Das passt soweit.

Wenn ich die selbe DID z.B. einem User direkt zuweise, von dem User eine Weiterleitung auf die o.G. Warteschleife einrichte, dann greift das Script nicht.

Ist das normal so oder gibt es eine Möglichkeit, das zu realisieren?

Wenn ich das Skript nicht dem ganzen Trunk zuordne sondern einer DID, dann passiert folgendes.

Die DID wird dem Script zugeordnet und kann somit keine User, WS etc. mehr zugeordnet werden. Das ist ja auch soweit klar. Wenn ich dann an einem Feiertag die Rufnummer anrufe dann wird auch hier die Ansage korrekt abgespielt.
Wenn jetzt allerdings kein Feiertag ist, dann kommen nur drei Signaltöne und der Anruf wird abgebrochen. Das steht so auch im Log (Call ended by Scritp). Das ist ja auch logisch, da ich nirgends konfigurieren kann, wohin der Anruf bei "nicht Feiertag" geroutet werden soll. Somit ist für mich im Standard diese Funktion mit der Zuordnung einer DID relativ sinnfrei.

Muss ich hier das Script dann anpassen und die Route bei "nicht Feiertag" manuell angeben oder geht das irgendwie einfacher. Wenn es nur über Script-Anpassung geht könnte mir hier vielleicht jemand einen Tipp geben, wo und an welcher Stelle ich was anpassen muss. Bin nicht wirklich fit in diesem Thema.

Vielen Dank schon einmal im Voraus

Gruss Christian
 
Wenn ich die selbe DID z.B. einem User direkt zuweise, von dem User eine Weiterleitung auf die o.G. Warteschleife einrichte, dann greift das Script nicht.
Das derzeit aktuelle holiday.cs startet auf Grund der Bindung an den SIP Trunk auf jeden Fall bei einem eingehenden Anruf, sucht auf Grund der DID (nachrangig der CID) deren akt. Ziel (in deinem Fall der User), dort die Hauptabteilung und ob es einen aktuell gültigen und gerade passenden Feiertageintrag gibt. Das funktioniert. Das kann man testen. Eine nachfolgende Weiterleitung auf eine WS sollte da grds. keine Rolle spielen - egal wie die Weiterleitung eingerichtet wurde und egal welcher Abteilung die WS zugeordnet ist. Auch das kann man testen, sollte man vielleicht in dieser Konstruktion.

Einfache Tests können allein darin bestehen, dass man temporär an geeigneten Stellen im Skript mit
C#:
MyCall.Error("ich bin gerade hier");
gezielt verständliche Ausgaben im 3CXCallFlow.log erzeugt und diese Ausgaben live mit z.B.
tail -f /var/lib/3cxpbx/Instance1/Data/Logs/3CXCallFlow.log in einer Shell überwacht.

Die DID wird dem Script zugeordnet und kann somit keine User, WS etc. mehr zugeordnet werden. Das ist ja auch soweit klar. Wenn ich dann an einem Feiertag die Rufnummer anrufe dann wird auch hier die Ansage korrekt abgespielt.
Wenn jetzt allerdings kein Feiertag ist, dann kommen nur drei Signaltöne und der Anruf wird abgebrochen.
Das Verhalten ist richtig. Der Einsatz des Skriptes ist nicht richtig. Dafür ist das Skript nicht gemacht. Ohne Änderung des Skriptes wird es nach so einem Ablauf einfach beendet. Es gibt ja kein weiteres Ziel. Das hast du selber richtig erkannt.

Muss ich hier das Script dann anpassen und die Route bei "nicht Feiertag" manuell angeben oder geht das irgendwie einfacher. Wenn es nur über Script-Anpassung geht könnte mir hier vielleicht jemand einen Tipp geben, wo und an welcher Stelle ich was anpassen muss. Bin nicht wirklich fit in diesem Thema.
Das kann man machen. Dann muss man sich auch selber um die weitere Abfolge kümmern. Aber das ist nicht Zweck des orig. Skriptes. Zumal eines passiert: das Skript nimmt bei Bindung an eine DID den Anruf an. Das hat Konsequenzen.
Benutze das Skript wie vorgesehen dann funktioniert das wie dokumentiert und getestet.
 
Hallo fxbastler,

danke für deine ausführliche Antwort.

Wenn ich die selbe DID z.B. einem User direkt zuweise, von dem User eine Weiterleitung auf die o.G. Warteschleife einrichte, dann greift das Script nicht.
Das derzeit aktuelle holiday.cs startet auf Grund der Bindung an den SIP Trunk auf jeden Fall bei einem eingehenden Anruf, sucht auf Grund der DID (nachrangig der CID) deren akt. Ziel (in deinem Fall der User), dort die Hauptabteilung und ob es einen aktuell gültigen und gerade passenden Feiertageintrag gibt. Das funktioniert. Das kann man testen. Eine nachfolgende Weiterleitung auf eine WS sollte da grds. keine Rolle spielen - egal wie die Weiterleitung eingerichtet wurde und egal welcher Abteilung die WS zugeordnet ist. Auch das kann man testen, sollte man vielleicht in dieser Konstruktion.

-> die Weiterleitung auf die Warteschleife funktioniert jetzt. Ich habe meinen Fehler gefunden. Der Testuser war noch in einer anderen Abteilung wie die Warteschlange zugeordnet. Nachdem sich jetzt beides in der gleichen Abteilung befindet geht das auch mit der Weiterleitung und damit konnte ich jetzt alles wie gewünscht realisieren.

Vielen Dank für deine Unterstützung.

Gruss Christian
 
  • Like
Reaktionen: fxbastler

Statistik des Forums

Themen
44.749
Beiträge
233.636
Mitglieder
78.492
Neuestes Mitglied
dirk.kuttler