CFD und Warteschleifen

CleCle

Premier Customer
Advanced Certified
Mitglied seit
28. August 2024
Beiträge
21
Hallo zusammen,

ich habe mal folgende Frage.

**Ausgangslage:**
- 100 Abteilungen
- 500 Nebenstellen; pro Abteilung sind es 3-7 Nebenstellen
Derzeit hat jede Abteilung eine Warteschlange. Die Calls werden über das CFD-Skript an die Warteschlange geleitet. Wenn sie dort nicht angenommen werden, geht es wieder zurück zum CFD-Skript und dann, je nach Fall, weiter auf die Abteilungs-Mailbox oder in eine weitere Warteschlange.

**Problem:**
Wenn ich etwas an den Warteschlangen ändern möchte, muss ich 100 Warteschlangen ändern. Außerdem muss ich die Nebenstellen in die Warteschlange eintragen.

**Möglicher Lösungsansatz:**
Wenn ich jetzt 10 oder 5 Warteschlangen erstelle und bei jedem Call die Nutzer der Warteschlange per Skript in der Warteschlange anmelde und dann den Call an die Warteschlange schicke, würde das funktionieren?
Ich würde dann in jede Warteschlange alle Nebenstellen reinpacken, und diese werden dann nur callweise angemeldet. Also bei jedem Call wird eine Anmeldung durchgeführt.
Wäre das ein denkbarer Ansatz? Oder lieber nicht?
 
**Problem:**
Wenn ich etwas an den Warteschlangen ändern möchte, muss ich 100 Warteschlangen ändern. Außerdem muss ich die Nebenstellen in die Warteschlange eintragen.
Dafür gibt es inzwischen eine API.
**Möglicher Lösungsansatz:**
Wenn ich jetzt 10 oder 5 Warteschlangen erstelle und bei jedem Call die Nutzer der Warteschlange per Skript in der Warteschlange anmelde und dann den Call an die Warteschlange schicke, würde das funktionieren?
Welches Ereignis soll dieses An- und Abmelden dann auslösen?
Kann es dann zu Überschneidungen kommen?
 
**Ausgangslage:**
- 100 Abteilungen
- 500 Nebenstellen; pro Abteilung sind es 3-7 Nebenstellen
Derzeit hat jede Abteilung eine Warteschlange. Die Calls werden über das CFD-Skript an die Warteschlange geleitet. Wenn sie dort nicht angenommen werden, geht es wieder zurück zum CFD-Skript und dann, je nach Fall, weiter auf die Abteilungs-Mailbox oder in eine weitere Warteschlange.
Die Grundlage des Szenario hätte ich gern mal kurz erklärt bekommen, notfalls per PM wenn das zu kritisch für das öff. Forum ist.

**Möglicher Lösungsansatz:**
Wenn ich jetzt 10 oder 5 Warteschlangen erstelle und bei jedem Call die Nutzer der Warteschlange per Skript in der Warteschlange anmelde und dann den Call an die Warteschlange schicke, würde das funktionieren?
Ich würde dann in jede Warteschlange alle Nebenstellen reinpacken, und diese werden dann nur callweise angemeldet. Also bei jedem Call wird eine Anmeldung durchgeführt.
Wäre das ein denkbarer Ansatz? Oder lieber nicht?
Ja, ein denkbarer Ansatz, aber die Agenten werden ja nicht mehr abgemeldet. Das könnte man dann erst wieder mit dem nächsten eing. Anruf auflösen. Warten auf das Ende des Anrufes ist keine generelle Lösung. Diese Art Anmeldung an einzelne WS widerspricht auch grundsätzlich der generellen An- und Abmeldung eines Agenten an (allen) WS. Da geht beizeiten der Überblick verloren, welcher Agent an welcher WS nun an- oder abgemeldet ist.

Wenn eine CFD App den Anruf bekommt, dann kann diese auf Grund eines Algorithmus auch einen Nutzer als Agent dynamisch einer WS zuweisen und anmelden. Das geht nicht mehr mit einem normalen CFD Baustein, da wird C# benötigt. Danach den Anruf an die WS weiterleiten und es ruft bei den dort angemeldeten Agenten, auch dem eben zugewiesenen Nutzer. Aber auch da wieder: der Nutzer bleibt Agent in der WS wenn die CFD App sich beendet.

Das Ganze wird komplizierter wenn es noch um GZ geht und Nutzer sich selber an WS an- oder abmelden.
 
  • Like
Reaktionen: CleCle
Hallo,
kurz unser Setup erklärt:
Wir haben 100 Standorte deutschlandweit. Jeder Standort hat 2-5 Telefone. Leider telefonieren die meisten Mitarbeiter noch nicht über das Softphone. Eigentlich brauchen wir die Warteschlange nicht wirklich; das war mal als Notlösung angedacht. Jetzt muss ich etwas weiter ausholen.
Wir haben eine Migration von Placetel zu unserer selbst gehosteten 3CX durchgeführt. Bei Placetel war es so, dass jeder Standort eine Nummer hatte, alle Telefone auf der gleichen Nummer geklingelt haben und alle telefonieren konnten.
Wir dachten, dass das bei 3CX auch so funktioniert, aber es konnte immer nur ein Anruf pro DECT-Station angenommen werden, wenn alle dasselbe Nummer verwendeten. An jeder DECT-Station hängen noch 2-4 Mobilteile.
Da wir eine schnelle Lösung benötigen, hat jedes Telefon eine eigene Durchwahl bekommen und dann pro Standort eine Warteschleife. Die CFD-Skripte baue ich gerade, damit wir Listen mit verpassten Anrufen und Rückruflisten erstellen können. Und damit wir die Voicemails auf eigenen Servern transkribieren können. Wir transkribieren die Nachrichten und kategorisieren sie noch gleich, um festzustellen, was der Anrufer wollte.
Der nächste Schritt wird es sein, die 3CX in eine andere Software zu integrieren.

Kurz unser technisches Setup:
- 3CX gehostet bei Hetzner
- DECT-Telefone W70
- Router Telefone T54W
- Je Ortsnetz einen eingehenden SIP-Trunk
- Alle ausgehenden Anrufe gehen über einen SIP-Trunk hinaus.

Ich hoffe, ich konnte dir einen kurzen Überblick über unser Setup geben.
 
Wofür ist die dynamische Zuordnung von Agenten / Anmeldungen an WS gedacht?
 
Wofür ist die dynamische Zuordnung von Agenten / Anmeldungen an WS gedacht?
Das wäre nur interessant, wenn es mit wenig Aufwand gehen würde das wir einfach nicht so viele Warteschleifen haben. Aber eigentlich eher nice to have. In der Vergangenheit haben wir auch die Mails mit den Verpassten anrufen über die WS-Rausgeschickt. Aber das machen wir jetzt alles per CFD.
 
Also hat sich das Thema dyn. WS Anmeldung etc. erledigt? Das kann man so machen, muss aber verstanden und gepflegt werden.

Mit Bordmitteln sind es halt viele einzelne WS und Einstellungen. Das hat seine Nachteile wenn man überall etwas manuell ändern muss (dafür kann man auch die API nutzen). Das hat den Vorteil, dass es jederzeit nachvollziehbar und doch recht simpel ist.

API Zugriff per Powershell:
https://www.3cx.de/forum/threads/suche-nach-der-api-dokumentation.98311/post-436119
 
Bei Placetel war es so, dass jeder Standort eine Nummer hatte, alle Telefone auf der gleichen Nummer geklingelt haben und alle telefonieren konnten.
Wir dachten, dass das bei 3CX auch so funktioniert, aber es konnte immer nur ein Anruf pro DECT-Station angenommen werden, wenn alle dasselbe Nummer verwendeten. An jeder DECT-Station hängen noch 2-4 Mobilteile.
Auch wenn ich es besser finde, das jedes Gerät sein eigene Nebenstelle hat,
sollte das doch mit der Option "Mehrere Anrufe annehmen" funktionieren. (Nicht getestet)

1735832635481.png
 

Statistik des Forums

Themen
44.752
Beiträge
233.658
Mitglieder
78.496
Neuestes Mitglied
FS-CG