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.
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)?