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.
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 |
*993355 | Rufnummern, welche mit 993355 enden |
0049* | Rufnummern aus Deutschland |
00497215432?? | Rufnummern von 0049721543200 bis 0049721543299 |
*54321* | Rufnummern, die 54321 enthalten |
Eigenschaften der Komponente:
| |
Rückgabe der Komponente:
|
Voicemail
Mit dieser Komponente kann ein aktiver Ruf auf eine definierte Voicemailbox weitergeleitet werden.
Eigenschaften der Komponente:
|
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. |