Warteschleife CallFlow (CFD) - Besetzt wenn alle Agenten besetzt

Jetzt wird das Gespräch zum CFD für 1 Sekunde aufgebaut, aber dann beendet.
Das was ich mit Bildern beschrieben habe sollte funktionieren.
Condition links: GREAT_THAN_OR_EQUAL(GetQueueStatus1.AvailableAgents,"1"), dann Transfer wenn mind. 1 Agent Available
Condition rechts: keine, dann Disconnect wenn 0 Agenten available

Lustig, du hast im Projekt sogar noch ein C# File drin was so etwas ähnliches macht. Das erkennt, ob die Agenten gerade wirklich frei sind. Gnadenlos aus dem engl. Forum abgekupfert :D
 
Lustig, du hast im Projekt sogar noch ein C# File drin was so etwas ähnliches macht. Das erkennt wirklich, ob die Agenten gerade frei sind. Gnadenlos aus dem engl. Forum abgekupfert :D
Du meinst diese Datei CountFreeAgents.cs?
Ja, wollte es einfügen, aber habe den Menüpunkt nicht gefunden, um ein externes

Script einzupflegen.
Das was ich mit Bildern beschrieben habe sollte funktionieren.
Wenn der Agent frei ist, komme ich in die WS. Ist der besetzt, fliege ich, ohne die Audio zu hören (als Debug), raus.
 
Wenn der Agent frei ist, komme ich in die WS. Ist der besetzt, fliege ich, ohne die Audio zu hören (als Debug), raus.
Wenn im rechten Zweig Prompt Playback drin steht und eine Audio Datei hinterlegt ist (notfalls Number Prompt one by One 101), dann sollte das schon funktionieren.
 
Ich komme bis zum Abzweig, ob Ja oder Nein. Er fragt den Get Queue Status und der Prompt Playback kommt. Danach wird aufgelegt. Wenn ich zu dem Nein also rechts kommen würde, würde ich ja das 1 0 1 hören jetzt, was aber nicht kommt.
Woran liegt das den ? Er sollte doch eigentlich sehen, dass das Linke nicht übereinstimmt und der rechte dann, der richtige Pfad wäre.

Mega großes EDIT: Fehler: 40... Wenn das Audio, nach dem Auflegen ertönen soll, kann ich es natürlich nicht hören.. Nur brauch ich jetzt das Besetzt Zeichen ._.
 
Er fragt den Get Queue Status und der Prompt Playback kommt. Danach wird aufgelegt.
Wieso das denn? Ist Prompt Playback links oder rechts oder beides?

Links (wenn mind. ein Agent verfügbar) wird doch vermittelt, Transfer. Da kommt lt. deinem Bild keine Ansage.
Wenn rechts nichts in der Condition steht und jetzt vor dem Disconnect dort der CFD Baustein Prompt Playback mit 101 drin ist, dann wird in jedem anderen Fall dieser Zweig gewählt und Audio vorgespielt bevor aufgelegt wird..

Merke: der CFD Baustein Logger ist dein Freund. Denke dir Meldungen aus die im 3CXCallFlow.log angezeigt werden sollen (CONCATENATE ist da sehr beliebt), setze das Level auf Error (damit das auch wirklich immer im Log erscheint), lasse auf einer 3CX Shell
tail -f /var/lib/3cxpbx/Instance1/Data/Logs/3CXCallFlow.log mitlaufen und schau zu.
 
  • Like
Reaktionen: Ben04
Merke: der CFD Baustein Logger ist dein Freund. Denke dir Meldungen aus die im 3CXCallFlow.log angezeigt werden sollen (CONCATENATE ist da sehr beliebt), setze das Level auf Error (damit das auch wirklich immer im Log erscheint), lasse auf einer 3CX Shell
tail -f /var/lib/3cxpbx/Instance1/Data/Logs/3CXCallFlow.log mitlaufen und schau zu.
Das schaue ich mir nochmal an.
Das mit dem Entscheiden, ob Platz verfügbar ist oder nicht, war nur der Beginn. Das nächste Projekt soll den ganen Call Flow umsetzten, aber das jetzige, war erstmal wichtiger.

Und zu 1. Naja ich hatte das Prompt Audio auf der rechten Seite, aber NACH DEM AUFLEGEN, so dass ich das Audio ja gar nicht zu hören bekommen habe.
Das war mein Fehler 40 ^^. Hab es dann korrigiert und von da lief es auch.
Die Endfassung der Version wurde auch gestern noch beim Kunden eingespielt und schien gut zu funktionieren.
 
Wir benutzen im Prinzip genau das seit Jahren.

Unsere CFA unterscheidet, ob von intern oder von extern angerufen wird. Ein interner Anruf sagt die Nummer der akt. mögl. gleichzeitigen Anrufer an und man kann diese danach auch noch ändern. Diese Zahl ist ein eigener 3CX Parameter. Bei externen Anrufen wird mittels etwas C# Code abgefragt, wieviele Agenten wirklich gerade verfügbar sind (so wie deine C# Datei, eben nicht nur in der WS available) und mittels des einstellbaren Parameter wird entschieden, ob dem Anrufer eine Absage Ansage vorgespielt oder der Anrufer an die WS vermittelt wird. Man kann die Zahl auch auf 0 stellen.

Das hier war der Vorgänger. Der hat die Menge der maximalen Anrufer der WS geregelt, aber das war nicht genau genug und nach irgend einem Update konnte man zwar noch 0 einstellen aber hat nicht mehr damit funktioniert.
 
  • Like
Reaktionen: Ben04
Es ist schon interessant, was plötzlich so möglich wird.
Alleine, dass es dadurch möglich wird, den Türruf auf BLF-Taste zu legen, der auch funktioniert, durch das CFD-Skript dann. Das ist schon eine nervige Sache. Des Weiteren kommt dann noch ein Skript, welches den aktiven Call Flow, auf ein Büroservice lenkt, wenn alle außer Haus sind. Da bleibt dann nur die Frage offen, mit dem Signalisieren, dass dies aktiv ist :/

Deinen Beitrag mit dem Skript habe ich auch schon gelesen gehabt.
 

Statistik des Forums

Themen
44.414
Beiträge
232.715
Mitglieder
78.328
Neuestes Mitglied
as7h