Child pages
  • Gruppensperrwerk / Mitglieder einer Gruppe ermitteln
Suche

Nachdem wir im letzten Tutorial das Thema Nutzer und Gruppen angesprochen haben, werden wir dieses Wissen in einem Beispielmodul einsetzen.
Das Ziel von unserem heutigen Projekt ist ein Sperrwerk, welches bei einem ausgehenden Ruf ermittelt, welcher Nutzer diesen Ruf initiiert hat und falls dieser Nutzer in einer konfigurierten Gruppe ist, diesen ablehnt. Das Konzept welches wir hierfür verwenden, eignet sich als Basis für verschieden denkbare Szenarien, in denen Rufe für bestimmte Nutzer oder Gruppen eingeschränkt werden sollen.

Um mit dem Module Designer einen Ruf abfangen zu können, benötigen wir für unser Projekt ein Modul vom Typ Call-Processing. Bei diesem Modulytp kann in dem Auswahlfeld Activation definiert werden, bei welchem Rufszenario das Modul aktiviert werden soll. In unserem Beispiel sollen ausgehende Ruf agefangen werden, daher wählen wir hier die Option on outgoing calls.

Bei Modulen vom Typ Call-processing kann bei falscher Verwendung die Telefonie auf der STARFACE stark eingeschränkt werden. Im Zweifel sollten bei Problemen auf einem System, solche Modulkonfigurationen zur Analyse deaktiviert werden.


Zur Umsetzung unseres Beispieles verwenden wir u.A. die Komponenten GetCaller, isUser, GetUsersOfGroup, foreach (List). Beschreibungen zu diesen Komponenten findet ihr in den schon veröffentlichten Tutorials

Beschreibung der verwendeten Komponenten 

GetUsersOfGroup

Mit dieser Komponente können alle Teilnehmer einer Gruppe als Liste ausgegeben werden.

Eigenschaften der Komponente:

  • Group: Gruppe, aus der die Teilnehmer ausgelesen werden sollen
  • Active users only: Mit dieser Option kann die Rückgabe auf aktive Teilnehmer der Gruppe beschränkt werden
  • Exclude DND: Mit dieser Option können Nutzer mit aktivem DND (Ruhe-Funktion) aus der Rückgabe ausgeschlossen werden

Rückgabe der Komponente: 

  • Users: Rückgabe, als Liste von Nutzern

Anleitung zur Erstellung des Beispielmodules

 Festlegen der Grundeinstellungen, wie Name und Hersteller. Konfiguration als Modul vom Typ Call-Processing mit der Auswahl on outgoing calls im Feld Activation
Anlegen eines neuen Reiters namens Einstellungen im Bereich GUI. Per Drag&Drop kann nun ein Feld vom Typ GroupSelection namens Sperrgruppe angelegt werden. Mit diesem Feld, kann in der Konfiguration die zu sperrende Gruppe konfiguriert werden.
Unter dem Bereich Development legen wir nun eine neue Funktion mit der Bezeichnung start an.
In dieser Funktion verwenden wir zuerst die Komponente GetCaller, welche wir bei den Komponenten unter dem Bereich Call finden. Des Weiteren fügen wir die Komponente isUser ein, welche den zurückgegebenen Account in einen User umwandelt
Mit der Komponente GetUsersOfGroup ermitteln wir nun alle Nutzer der Gruppe und erhalten eine Liste als Ergebnis zurück.
Die Liste von Nutzern arbeiten wir nun mit einer foreach (List) - Schleife durch und prüfen mit einer bedingten Anweisung (if), ob der Rufende Nutzer in dem aktuellen Listeneintrag vorhanden ist.
Zuletzt fügen wir die Komponente Busy unter der if-Komponente ein, um hiermit den Ruf abzubrechen. Damit sind externe Rufe für alle Nutzer der konfigurierten Gruppe gesperrt.