Seitenhierarchie

Suche

Dieses HowTo zeigt, wie eine Rufnummer gegen eine Whitelist von Rufnummern auf einen Treffer gefiltert werden kann. Um die Whitelist flexibler zu machen, sollen auch Muster mit Wildcards (* und ?) möglich sein. Einsatz findet diese Technik z.B im STARFACE Standardmodul Ansage vor Melden.

Wir verwenden hier eine TextList in der GUI, damit können wir auf einfache Weise mehrere Rufnummern in die Whitelist eintragen. Im unten aufgezeigten Beispiel werden Ruf von der Whitelist an ein Zielrufnummer weitergeleitet und die restlichen auf eine Mailbox geleitet.

Zur Umsetzung unseres Beispieles verwenden wir die Komponenten SimpleMatch, Voicemail, foreach (List), GetCaller und CallPhoneNumber.

Hinweis: Die Beschreibung zu GetCaller und CallPhoneNumber findet ihr unter Anrufe mit dem Modulsystem verteilen (CallPhoneNumber). Informationen zu der Funktionsweise von Listen und der Komponente foreach finden ihr im Mit Listen arbeiten und Zeitsteuerung Pro.

Beschreibung der verwendeten Komponenten 

SimpleMatch

Mit dieser Komponente kann ein Text gegen ein Textmuster verglichen werden. Die Komponente findet sich im BereichString.RegEx. In dem eingetragen Muster können zwei unterschiedliche Wildcards verwendet werden. Dabei steht '*' für mehrere passende Ziffern und '?' für genau eine passende Ziffer.

Beispiele:


Muster

Abgedeckte Rufnummern
5?Rufnummern 50 bis 59
*993355Rufnummern, welche mit 993355 enden
0049*Rufnummern aus Deutschland
00497215432??Rufnummern von 0049721543200 bis 0049721543299
*54321*Rufnummern, die 54321 enthalten

Eigenschaften der Komponente:

  • Text: Der zu prüfende Text (oder Rufnummer)
  •  Pattern: Das Textmuster, gegen das der Text gegengeprüft werden soll

Rückgabe der Komponente:

  • Match: Rückgabe, ob der Text in das Muster passt

 

Voicemail

Mit dieser Komponente kann ein aktiver Ruf auf eine definierte Voicemailbox weitergeleitet werden.

Eigenschaften der Komponente:

  • Mailbox No.: Die Nummer der Mailbox (ohne*9)
  • Announcement: Auswahl der zu gewünschten Ansage
    • Busy: Ansage bei Besetzt
    • Unavailable: Ansage bei Immer / Zeitüberschreitung
    • Custom: Individuelle Ansage
    • None: Keine Ansage

Anleitung zur Erstellung des Beispielmodules

Festlegen der Grundeinstellungen, wie Name und Hersteller. Konfiguration als Modul vom Typ Call-Processing. Activation bei on all incoming calls.
Anlegen eines neuen Reiters namens Einstellungen im Bereich GUI. Per Drag&Drop kann nun ein Feld vom Typ TextList namens Whitelist angelegt werden, in welches später die Rufnummernmuster eingetragen werden können.
Danach benötigen wir noch zwei Felder vom Typ TextInput. Das Erste bekommt den Namen Zielrufnummer und das Zweite den Namen Mailbox.
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 foreach (List) welche unsere Whitelist durcharbeitet.
Mit der Komponente SimpleMatch checken wir nun die Rufnummer des Anrufers _extNumber gegen das Muster, welches uns die foreach-Schleife zurück gibt.
Die Rückgabe der Komponente SimpleMatch können wir nun mit einer bedingten Anweisung (if) abfragen und wenn eine Übereinstimmung gefunden wurde, vermitteln wir das Telefonat mit CallPhoneNumber an die Zielrufnummer weiter. Danach können wir das Modul an dieser Stelle mit exit beenden.
Zuletzt fügen wir die Komponente Voicemail ein, welche im Fall keiner einzigen Übereinstimmung, den Ruf an die konfigurierte Mailbox vermittelt. Dann beenden wir das Modul auch an dieser Stelle.