In diesem Routingbeispiel wird ein einfacher Dienst realisiert, der Variablen und Listen nutzt. Wir empfehlen, das Beispiel durchzuarbeiten. Die Kenntnisse aus dem Programmierbeispiel werden hier vorausgesetzt.

Ziel ist, dass Anrufer nur einmal an einer Abstimmung teilnehmen können. Ruft ein Anrufer ein zweites Mal an, soll er eine Ansage erhalten dass er bereits abgestimmt hat.

Dazu wird der Hashwert der Nummer des Anrufers beim ersten Anruf in eine Liste eintragen. Der Hashwert wird in der Variable $callerhash gespeichert und ist eine eindeutige Kodierung der Rufnummer als Zeichenkette (im Gegensatz zur Variable $caller, in der Sie abhängig von Ihrer Berechtigung die Rufnummer ggf. verkürzt sehen und so nicht eindeutig differenzieren können). Bei jedem Anruf wird nun die Liste geprüft. Wird der Hashwert dort gefunden, hatte der Anrufer bereits einmal angerufen.

Gehen Sie vor wie folgt:

  1. Zunächst legen Sie die Liste an. Wählen Sie Systemeinstellungen — Listen im Hauptmenü. Mit Neu legen Sie eine neue Liste namens Anrufer an. Werte brauchen Sie nicht eingeben, denn die Liste nimmt die Werte bei Anrufen auf.
  2. Legen Sie nun eine neue Routingapplikation an. Nach dem Start-Objekt fügen Sie das Objekt Liste prüfen an.
  3. In den Eigenschaften dieses Elements wählen Sie die Liste Anrufer aus, wählen als Schlüsselspalte 1 und geben als Schlüsselwert $callerhash ein.
    In diesem Beispiel soll die Variable $callerhash in der ersten Spalte der Liste nachgeschlagen werden. Wenn der passende Wert gefunden wird, soll die Ausführung des Programms am Ausgang Gefunden fortfahren und der Anrufer eine Ansage erhalten, dass er bereits angerufen hat.
  4. Binden Sie dazu an Gefunden eine Ansage mit dem Wortlaut Sie haben bereits abgestimmt ein.
  5. Daran hängen Sie noch ein Auflegen-Objekt (nicht zwingend erforderlich).
    Das Routing sieht nun im Prinzip so aus:
  6. Wird der Wert nicht gefunden, wird der Ausgang Nicht gefunden genutzt. Hängen Sie hier das Objekt Eingabe Menü MFV ein. In den Parametern bestimmen Sie, das hier folgende Ansage abgespielt werden soll: „Wählen Sie die 1 wenn Sie mit Ja stimmen möchten, wählen Sie die 2 wenn Sie mit Nein stimmen möchten".
  7. Entsprechend hängen Sie an die Ausgänge 1 und 2 des Menüs jeweils ein Objekt Listenoperationen ein.
  8. Nennen Sie die erste Operation JA eintragen und parametrisieren Sie wie folgt:
    Liste: Anruferliste
    Funktion: Wert in Liste eintragen
    Wert 1: $callerhash
    Wert 2: $caller
    Wert 3: $input
    Wert 4: JA
  9. Nennen Sie die zweite Operation NEIN eintragen und parametrisieren Sie wie die erste, geben als Wert 4 aber diesmal NEIN ein.
  10. Fügen Sie eine Ansage Ihre Stimme wurde gezählt hinter den Objekten Listenoperationen ein und verbinden Sie sie mit den beiden Objekten.
  11. Daran hängen Sie noch ein Auflegen-Objekt.
    Das Routing sieht nun im Prinzip so aus:
  12. Testen Sie das Programm mit Anrufen.
  13. Zur Kontrolle lassen Sie sich über Systemeinstellungen — Listen die Liste Anruferliste anzeigen. Die 4 Felder sollten nun mit den Anrufdaten gefüllt sein.
  14. In der Tabelle der Routingapplikationen klicken Sie in der Zeile der hier bearbeiteten Routingapplikation auf Zählerstatistik. In einem Editor-Fenster wird nun das Routing angezeigt. In roter Schrift sind darin die Zähler zu sehen, die angeben, wie oft die Objekte durchlaufen wurden. Daran erkennen Sie, wie viele Anrufer mit Ja und mit Nein gestimmt haben.

 

 

In this routing example a simple service is created which uses lists and variables. We recommend you follow and program this version. The knowledge gained in the Programming Example section is assumed.

The object is that callers should only be able to take part once in a vote. If callers ring twice, they should hear a prompt that they have already voted.

To achieve this, the hash value of the caller’s number is entered into a list. The hash value is stored in the variable $callerhash and is a unique code representing the caller’s number (in contrast with $caller, which depending on your rights in the system may be shortened using xxx or invisible). During every call a list is checked. If the hash value is found in the list, then the caller has already called.

Proceed as follows:

  1. First of all, create a list. Lists are created by accessing the function System Settings - Lists in the main menu. Use New to create a new list, and name it Callers. You will not need to create any entries - values will be added to the list when people call the system.
  2. Create a new routing application. After the Start object, add an object List Lookup.
  3. In the properties of this object select the Callers list as the Key Column 1 and enter Key Value $callerhash.
    In this example, the variable $callerhash is to be looked up in the first column of the list. If an entry is found, program execution will continue with the object output Found and the caller should be played a prompt that they have already called the system.
  4. Connect the Found output to a Play Voice object containing a prompt You have already voted.
  5. After the play voice object, add a Hangup object (optional).
    The program should in principle look like the following:
  6. If the value is not found in the list, the output Not Found will be used. Add an Input Menu DTMF object to this output. In the parameters, setup a prompt with the following announcements: “Press one to vote yes, and press two to vote no.”
  7. Add two List Functions objects to the outputs 1 and 2 of the input menu dtmf object.
  8. Call the first object Vote YES and parameterise it as follows:
    List: Callers
    Function: Add Value to List
    Value 1: $callerhash
    Value 2: $caller
    Value 3: $input
    Value 4: YES
  9. Call the second object Vote NO and parameterise it as the first list, for Value 4 enter NO.
  10. Add a prompt Your vote has been counted after the objects List Operations and connect it with both objects.
  11. After the play voice object, add a Hangup object (optional).
    The program should in principle look like the following:
  12. Test the program by calling it.
  13. To check the results, use the function System Settings - Lists and view the Callers list. The 4 fields should be filled with values.
  14. In the table of routing applications select the Counter Statistics function for the application. A new window opens showing the routing application. The numbers in red indicate how often a particular object has been executed. This gives you a quick way of viewing how many callers have voted Yes and how many No.