Module Designer Tutorial 1: Anrufe mit dem Modulsystem verteilen (CallPhoneNumber)

  • Dieses Tutorial zeigt, wie mit dem Modulsystem verarbeitete Rufe an Nutzer oder externe Rufnummern verteilt werden können. In einem Beispielmodul soll ein Ruf zu einer konfigurierten Zielrufnummer vermittelt werden. Falls diese Vermittlung nicht erfolgreich ist, soll zu einem zweiten Ziel vermittelt werden. Das Beispielmodul wird als Typ Standard erstellt, dadurch kann es bei der Konfiguration eine eigene Rufnummer erhalten auf welche es reagiert.

    Zur Umsetzung dieses Beispieles werden die Komponenten CallPhoneNumber und GetCaller verwendet.


    Wichtiger Hinweis: In diesem ersten Tutorial wird die Komponente CallPhoneNumber unter dem Aspekt betrachtet, dass Rufe verarbeitet werden, welche noch nicht von einem Modul oder Nutzer angenommen wurden. In einem späteren Tutorial wird auch noch betrachtet, wie ein vom Modulsystem angenommener Anruf mit der gleichen Komponente weiter verarbeitet werden kann.

    Beschreibung der verwendeten Komponenten

    CallPhoneNumber

    Mit dieser Komponente kann aus dem Modulsystem ein Anruf aufgebaut werden. Die wichtigste Eigenschaft bei der Nutzung der Komponente ist die Zielrufnummer, welche unter der Variable Phonenumber to call eingetragen werden muss. Als weitere Werte müssen der Anrufername und seine Nummer vergeben werden, damit der Ruf zuverlässig über die STARFACE geroutet werden kann.

    Eigenschaften der Komponente: CallPhoneNumber_Eigenschaften.png


    • Phonenumber to call: Anzurufende Nummer. Bei Rufen zu Teilnehmern kann einfach die interne Nummer (z.B. 20) gewählt werden. Bei Rufen an externe Rufnummern sollte hier die Rufnummer voll-qualifiziert (z.B. 00497211510430) eingetragen werden
    • Caller Name: Hier kann der Anrufername für den Ruf vergeben werden. Damit die volle Funktionalität der STARFACE sichergestellt ist, sollte dieses Feld nicht leer sein.
    • Caller Number: Hier kann die Anrufernummer für den Ruf vergeben werden. Damit die volle Funktionalität der STARFACE sichergestellt ist, sollte dieses Feld nicht leer sein und bei externen Rufen die Rufnummer voll-qualifiziert (z.B. 00497211510430) eingetragen werden
    • Ringing Duration: Dauer des Anrufversuchs. Wenn der Wert unter 1 festgelegt ist, wird als Standardzeit 30 Sekunden verwendet. Mehr als 120 Sekunden macht meist keinen Sinn, da dann der Provider oder der interne Abwurfplatz reagieren.
    • Cancel Channel: Hier kann z.B. ein geparkter Kanal als Variable übergeben werden, welcher auf seine Verfügbarkeit überwacht wird. Wenn der Kanal beendet wurde (z.B. durch Auflegen) wird auch die Komponente CallPhoneNumber vorzeitig beendet.

    Rückgabe der Komponente:
    CallPhoneNumber_Rueckgabe.png


    • Call answered: Hier bekommt man die Rückmeldung, ob der Ruf in der vorgegebenen Zeit angenommen wurde



    GetCaller

    Mit dieser Komponente können im Modulsystem die Informationen des Anrufers ausgelesen werden.

    Rückgabe der Komponente: GetCaller_Rueckgabe.png
    Die Komponente gibt insgesamt 6 verschiedene Werte zurück, welche für verschiedenste Einsatzszenarien verwendet werden. In diesem Tutorial konzentrieren wir uns nur auf zwei Werte.


    • Caller name: Der Name des Anrufers, falls dieser aufgelöst werden konnte 

    • Caller external number: Die Rufnummer des Anrufers, bei internen Mitarbeitern explizit die externe Rufnummer 


    Ablaufdiagramm des Beispielmodules


    Tutorial1_Ablaufdiagramm.jpg


    Anleitung zur Erstellung des Beispielmodules

    [TABLE='width: 800, align: left']

    [tr][td]

    Tutorial1_Beispiel_01.PNG

    [/td][td]

    Festlegen der Grundeinstellungen, wie Name und Hersteller. Konfiguration als Modul vom Typ Standard.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_03.PNG

    [/td][td]

    Anlegen eines neuen Reiters namens Einstellungen im Bereich GUI. in diesen Einstellungen können bei der späteren Konfiguration des Modules die Rufziele konfiguriert werden.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_04.PNG

    [/td][td]

    Per Drag&Drop können nun zwei Felder vom Typ TextInput erstellt werden. Das Erste bekommt den Namen Zielrufnummer 1, das Zweite den Namen Zielrufnummer 2. Diese Eingabefelder können gleich als Variablen im Module Designer verwendet werden.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_05.PNG

    [/td][td]

    Unter dem Bereich Development legen wir nun eine neue Funktion an. Der Name wird automatisch vergeben und kann für dieses Beispiel beibehalten werden.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_06.PNG

    [/td][td]

    In unserer ersten Funktion verwenden wir zuerst die Komponente GetCaller, welche wir bei den Komponenten unter dem Bereich Call finden.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_07.PNG

    [/td][td]

    Im nächsten Schritt fügen wir nun die Komponente CallPhoneNumber hinzu, welche den Ruf an unser erstes Ziel vermitteln soll. Damit die Vermittlung funktioniert, müssen wir die Komponente noch konfigurieren. Zuerst wählen wir bei Phonenumber to call unsere Zielrufnummer 1 (GUI_ZIELRUFNUMMER_1) aus. Als Caller Name und Caller number greifen auf die Informationen aus der GetCaller-Komponente zurück. In der Variable Ringing duration können wir nun festlegenm, wie lange der Anrufversuch dauern soll (z.B. 30 Sekunden).

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_08.PNG

    [/td][td]

    Die Komponente CallPhoneNumber liefert uns in der Variable _success zurück, ob der Anruf vermittelt werden konnte. Diese Variable können wir daher nun mit einer bedingten Anweisung abfragen. Der Module Designer stellt hierfür die Komponente if (unter Basic Components) zur Verfügung. Nun konfigurieren wir diese Komponente so, dass wenn _success nicht erfüllt (IsNotTrue) ist eine alternative Komponente ausgeführt wird.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_09.PNG

    [/td][td]

    Damit Komponenten innerhalb der bedingten ANweisung ausgeführt werden, müssen diese eingerückt werden. Dies kann per Drag&Drop unterhalb der letzten if-Komponente gemacht werden. Hier fügen wir nun noch einmal CallPhoneNumber ein. Desmal wird als Phonenumber to call jedoch die Zielrufnummer 2 (GUI_ZIELRUFNUMMER_2) verwendet.

    [/td][/tr][tr][td]

    Tutorial1_Beispiel_10.PNG

    [/td][td]

    Zuletzt beenden wir das Modul richtig mit der Komponente exit aus dem Bereich Basic Components. Das Modul soll laut Ablaufdiagramm in beiden Fällen beendet werden, daher wird das exit nicht eingerückt und somit immer ausgeführt.

    An diesem Punkt ist das Modul funktionsbereit und kann nun in der Modulkonfiguration, wie jedes andere Modul konfiguriert werden.

    Viel Spass beim Nachbauen.

    [/td][/tr][tr][/tr][tr][td][/td][td][/td][/tr][tr][td]

    Verbesserungsmöglichkeiten

    [/td][td][/td][/tr][tr][td]

    Tutorial1_Beispiel_11.PNG

    [/td][td]

    Das oben gezeigte Beispiel ist minimalistisch und verzichtet komplett auf Debugging-Optionen. Des Weiteren ist nicht definiert, was passiert wenn auch der zweite Vermittlungsversuch scheitert. Im letzten Screenshot seht ihr einige Erweiterungen, welche diese Punkte lösen.

    [/td][/tr]


    [/TABLE]


  • Das ganze funktioniert also nicht wenn das "Ansage vor Melden" Modul aktiv ist, oder?

    Quote

    In einem späteren Tutorial wird auch noch betrachtet, wie ein vom Modulsystem angenommener Anruf mit der gleichen Komponente weiter verarbeitet werden kann.

    Ist die Aussage noch aktuell oder wurde das Projekt inzwischen wieder eingestampft?

    Grüße

  • Hi,
    das Ansage vor Melden Modul kann auch vor dem Tutorial-Beispiel verwendet werden, da es im Hintergrund einen neuen Anruf aufbaut. Wenn die Zielnummer zu einem Modul gehört, ist der Ruf für dieses noch nicht angenommen.

    Es wird auch noch ein Tutorial folgen, mit der Behandlung eines angenommen Rufes.

    Viele grüße Marco

  • Hi,
    das Ansage vor Melden Modul kann auch vor dem Tutorial-Beispiel verwendet werden, da es im Hintergrund einen neuen Anruf aufbaut. Wenn die Zielnummer zu einem Modul gehört, ist der Ruf für dieses noch nicht angenommen.

    Es wird auch noch ein Tutorial folgen, mit der Behandlung eines angenommen Rufes.

    Viele grüße Marco

    Super, danke für die Antwort!

    Wird es in absehbarer Zeit noch ein Tutorial für ein Warteschleifen-Modul ohne jeglichen Schnick Schnack geben, oder ist man auf die kostenpflichtigen Module angewiesen?
    Grüße

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!