Gruppen umleiten

jensgroll

Free User
Mitglied seit
20. März 2022
Beiträge
8
Guten Morgen zusammen,

ich bin im Bereich 3CX noch etwas neu und habe ein Thema was es umzusetzen gilt.
Ich habe einen Kunden der hat 2 Reisebüros, an einem Standort mit einem Raspberry PI mit der 3CX, Standorte sind mit VPN verbunden.
Jedes Büro soll jeweils 2 Telefone bekommen.
Die Standorte haben auch 2 getrennte Easybell-Trunks, also bis hier funktioniert alles.
Jetzt wird gefordert das wenn Shop1 außerplanmäßig schließt, dann man dann die Anrufe auf den Shop 2 umleiten kann, bzw das die Anrufe von Shop1 bei Shop2 ankommen.
Dieses Szenario soll auch umgekehrt möglich sein.
Die Umschaltung soll an einem Yealink T54W möglich sein und dann eine LED leuchten wenn diese Umleitung aktiv ist.
Wie kann man das realisieren ?
Bin auch für verschiedene Varianten offen.


Vielen Dank.

Gruß Jens
 
  • Like
Reaktionen: fxbastler
Hi, vielen Dank.
Den Link kannte ich schon. Hat mich aber nur bedingt weitergebracht.

Standort 1:
- Easybell DSL mit statischer IP und Trunk 06692 / 1234 - 0 (bis 99)
- Fritzbox 7590
- Raspberry PI4 mit 3CX 4 Pro
- Nebenstelle 21, 1x Yealink T54W
- Nebenstelle 22, 1x Yealink W73P Set mit einem Mobilteil
- Gruppe 20 ruft 21 und 22

VPN über die beiden statischen IP-Adressen über die beiden Fritzboxen.

Standort 2:
- Easybell DSL mit statischer IP und Trunk 06428/ 5678 - 0 (bis 99), Trunk ist an Standort 1 auf der 3CX registriert
- Fritzbox 7590
- Nebenstelle 31, 1x Yealink T54W Zugriff über VPN auf Standort 1 auf die 3CX
- Nebenstelle 32, 1x Yealink W73P Set mit einem Mobilteil Zugriff über VPN auf Standort 1 auf die 3CX
- Gruppe 30 ruft 31 und 32

Realisiert werden soll wenn einer der Standorte nicht besetzt, das die Anrufe am übrigen Standort ankommen.
Die Umschaltung soll mit einer Taste am T54W erfolgen und der Status soll anhand der LED angezeigt werden.
 
Hallo,

auch wenn die Aufgabe einfach erscheint: man kann den Status einer Signalisierungsgruppe nicht umschalten - nur den der darin befindlichen Nebenstellen und damit evtl. die sofortige Weiterleitung der Signalisierungsgruppe aktivieren.

Das Standardvorgehen wäre: alle (beiden) NSt. der jeweiligen Signalisierungsgruppe je per Taste am Telefon auf DND stellen und in beiden Signalisierungsgruppen dafür je eine Weiterleitung an die jeweils andere Gruppe einrichten.

Das bedeutet auch: um die Weiterleitung einer Gruppe zu aktivieren müssen je beide NSt. der Gruppe auf DND gestellt werden und man muss das je an beiden Telefonen der Gruppe kontrollieren ob DND aktiv ist. Ähnlich erfolgt auch das Ausschalten dieser Umleitung. Mindestens eine NSt. der Signalisierungsgruppe wird dazu wieder in den Status Verfügbar gestellt.

Das sind die Bordmittel der 3CX.

Das könnte man tlw. auch bequemer per Desktop App und entspr. Berechtigungen lösen. Das war ja aber nicht gefragt.

Jetzt kommt der lange Teil.

Eine 'allumfassendere' und angefragte Lösung die mir spontan dazu eingefallen ist (nur eine Möglichkeit von mehreren):
Da das Hauptaugenmerk der Aufgabe auf die Signalisierung des jew. Umleitungszustandes durch eine optische Signalisierung (bei den 'Leuchten' eines Telefones ist nur die des Status DND nutz- und steuerbar) und dem Aktivieren / Deaktivieren durch eine einzelne Taste liegt geht das wohl nur mit einer (nicht mehr mit Standardbausteinen des CFD programmierbaren) CFA und einer Dummy NSt. pro Signalisierungsgruppe zu lösen.

Die Dummy NSt. pro Signalisierungsgruppe (eine zusätzliche NSt. ohne Endgerät) kommt auf eine BLF Taste der Telefone der Gruppe (nutzbar leider nur auf den Tischtelefonen, der Desktop App oder im Webclient). Ein Anruf auf diese Dummy NSt. (das geht auch von den Mobilteilen aus) wird immer sofort auf die CFA weitergeleitet. Die CFA stellt alle (beiden) NSt. der entspr. Gruppe in den Status DND (oder Verfügbar). Damit ist an allen NSt. der Signalisierungsgruppe durch eine opt. Signalisierung sichtbar, dass DND eingeschaltet (oder nicht). Die CFA ändert zusätzlich den Namen der Dummy NSt. auf der BLF Taste (z.B. von 'Annahme' in 'Weiterleitung'). Damit sieht man zusätzlich an den entspr. NSt. der Signalisierungsgruppe (nur auf den Tischtelefonen, der Desktop App, dem Webclient oder einer Smartphone App) am Namen der BLF Taste / der Dummy NSt., dass eine 'Weiterleitung' der Signalisierungsgruppe und nicht nur der einzelnen NSt. (weil DND) ausgeführt wird. Das Ganze funktioniert wieder rückwärts beim erneuten Drücken dieser BLF Taste und damit dem erneuten Anruf der Dummy NSt. (und damit der CFA) wenn diese wieder umschaltet und auch den Namen der NSt. erneut ändert.

3CX-CFD-Example-SwitchRingGroup.JPG

Ablauf der CFA:
Abfrage des Namen der Dummy NSt. und abhängig davon daraufhin die Änderung des Namen der Dummy NSt. in dem CFD Block 'Execute C# Code' ganz oben. Das ist das CFA C# Schnipsel mit Namen 'CheckDummyExt'. Das hat einen Parameter (die Nummer der Dummy NSt.) und einen Rückgabewert. Die ändert den Namen der übergebenen (Dummy) NSt. auf 'Weiterleitung' oder 'Annahme' (Beispiel auch: Änderung eines Anzeigenamen einer Nst.) und setzt davon abhängig den Rückgabewert:
C#:
# strExtNumber ist ein Parameter vom Typ String der die Nummer der Dummy NSt. enthaelt
# Rueckgabewert ist vom Typ String und 'true' wenn Weiterleitung eingeschalten werden soll (alle NSt. auf DND) und 'false' wenn nicht  (alle Gruppen NSt. auf Verfuegbar)
var extension = PhoneSystem.Root.GetDNByNumber(strExtNumber) as Extension;
extension.FirstName = "";
string strReturn = "false";
if( extension.LastName.Equals("Annahme",StringComparison.OrdinalIgnoreCase) ) {
  extension.LastName = "Weiterleitung";
  strReturn = "true";
} else {
  extension.LastName = "Annahme";
}
extension.Save();
return strReturn;

Auf Grund des Rückgabewert erfolgt das Setzen des gewünschten Status der beiden NSt. der Signalisierungsgruppe mit nachfolgenden CFD Codeblöcken (Create a Condition 'CheckActivateDND' und abhängig vom Rückgabewert des C# Schnipsel je 2x Set Extension Status 'SetExt....').


So viel zu einer Taste, Umschalten einer 'Weiterleitung einer Gruppe' und optischer Signalisierung. Das ist für manche viel Aufwand, erscheint sehr umfangreich und undurchsichtig. Das ist mit etwas Übung realistisch in 'wenigen Minuten' zusammengeklickt und getippt und sind nur 6 CFD Blöcke (1x C# Schnipsel, 1x Condition, 4x Set Extension Status). Das Schreiben des Forenbeitrages hat wesentlich länger gedauert als das Zusammenstellen der CFA.


Hat jemand eine einfachere Idee mit gleichem Umschaltaufwand und gewünschter Signalisierung (sprich angefragten Ergebnis)?
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
44.414
Beiträge
232.721
Mitglieder
78.331
Neuestes Mitglied
b2daniel