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.
Wie schon im Module Designer Tutorial 3 verwenden wir auch 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 Module Designer Tutorial 1. Informationen zu der Funktionsweise von Listen und der Komponente foreach finden ihr im Module Designer Tutorial 3.
Beschreibung der verwendeten Komponenten
SimpleMatchTutorial4_SimpleMatch_input.PNG
Mit dieser Komponente kann ein Text gegen ein Textmuster verglichen werden. Die Komponente findet sich im Bereich String.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:
[TABLE='width: 500']
Muster
[/td]Abgedeckte Rufnummern
[/td]5?
[/td]Rufnummern 50 bis 59
[/td]*993355
[/td]Rufnummern, welche mit 993355 enden
[/td]0049*
[/td]Rufnummern aus Deutschland
[/td]00497215432??
[/td]Rufnummern von 0049721543200 bis 0049721543299
[/td]*54321*
[/td]Rufnummern, die 54321 enthalten
[/td]
[/TABLE]
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: Tutorial4_SimpleMatch_output.PNG
- Match: Rückgabe, ob der Text in das Muster passt
VoicemailTutorial4_VoiceMail.PNG
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
Ablaufdiagramm des Beispielmodules
.. folgt ...
Anleitung zur Erstellung des Beispielmodules
[TABLE='width: 800, align: left']
Festlegen der Grundeinstellungen, wie Name und Hersteller. Konfiguration als Modul vom Typ Standard.
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 diser 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.
[/td]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 einen die Komponente Voicemail ein, welche im Fall keiner einzigen Übereinstimmung den Ruf an die konfigurierte Mailbox vermittelt. Zuletzt beenden wir das Modul auch an dieser Stelle.
[/td]
[/TABLE]