HOWTO

Eigener VBScript Code - Valentins Grüße (kb2339)

Die Information in diesem Artikel betrifft die folgenden Produkte:

  • SwyxWare ab Version 4
  • Grafischer Skript Editor v4.00

[ Zusammenfassung | Information | Referenzen ]


Zusammenfassung

Der Niederländische SwyxWare Distributor

intratel
intratel
Zum Vergrößern anklicken ...

hat zum Valentinestag am 14.02.2003 eine besondere Telefon- bzw. Gruß-EMail Aktion veranstaltet.

Nachdem sich ein Teilnehmer über eine Webseite kostenlos angemeldet und dort eine PIN erhalten hat, konnte er über eine gebührenpflichtige Rufnummer einen Valentinsgruß aufzeichnen. Dieser wurde dann per EMail als WAV Datei Attachment am Valentinstag an die zuvor auf den Webseiten angegebene EMail Adresse verschickt.

Dieser Artikel beschreibt das GSE Skipt zum Aufzeichnen des Grußes welches übrigens in weniger als einer Stunde entwickelt wurde. Es ist damit ein ausgezeichnetes Beispiel dafür, wie effektiv and kreativ man die SwyxWare einsetzen kann.


Information

Zunächst wird der Rufablauf erklärt

  • Der Ruf gelangt zur SwyxWare
  • Eine Begrüßung wird abgespielt
  • Die PIN wird über DTMF Eingabe aufgezeichnet
  • Die PIN wird gegen eine Datenbank überprüft:
    • ungültige PIN: Neueingabe der PIN
    • gültige PIN: es geht weiter
  • Eine Ansage erklärt den Ablauf zur Aufzeichnung des Valentins Grusses
  • Der Gruss wird aufgezeichnet
  • Ein IVR Menu folgt, in welchem der Anrufer folgende Möglichkeiten hat:
    • 1 Vorspielen des aufgezeichneten Grusses
    • 2 Neuaufzeichnung des Grusses
    • 3 Gruss speichern und Skript beenden

Valentines Skript im GSE
Valentines Skript im GSE
Zum Vergrößern anklicken ...

 

Installation des Skripts

  • Entpacken Sie das ZIP-Archiv inkl. Unterverzeichnisse
  • Kopieren Sie alle Dateien aus dem Verzeichnis Voicemail in das Voicemail Verzeichnis des Benutzers, der dieses Sktipt erhalten soll, z.B. C:\Dokumente und Einstellungen\All Users\ Anwedungsdaten\Swyx\Share\User\Valentines\ PhoneClient\Voicemail
  • Öffnen Sie den Call Routing Manager des Benutzers und erzeugen Sie eine neue GSE Regel
  • Im GSE importieren Sie über das Menü Datei | Importieren... die Datei valentines.rse und speichern Sie es als aktive Regel ab.
  • Legen Sie nun bitte noch ein Verzeichnis D:\Valentines an, in welches die aufgezeichneten Nachrichten gespeichert werden. Sollten Sie ein anderers Verzeichnis verwenden wollen, so müssen Sie die zweite Anweisung im VBScript Code entsprechend ändern: ' Folder to store all messages in (with tailing "\")
    Const SAVE_DIR = "d:\valentines\"

 

Installation der Datenbank

  • Kopieren Sie die MS Access™ Datenbank Datei valentines.mdb in ein Verzeichnis Ihrer Wahl.
  • Erzeugen Sie eine sogenannte ODBC Datenquelle für diese Datenbank. Öffnen Sie hierzu über Start | Programme | Verwaltung die ODBC Datenquellen-Administrator. Sollten Sie das Menu Verwaltung nicht sehen, müssen Sie es über die Eigenschaften der Taskleiste zunächst sichtbar schalten.

    ODBC Datenquellen-Administrator
    ODBC Datenquellen-Administrator
    Zum Vergrößern anklicken ...
    Erzeugen Sie eine neue System-DSN:

    System-DSN hinzufügen
    System-DSN hinzufügen
    Zum Vergrößern anklicken ...
    auf Grundlage eines Microsoft Access Treibers:

    Microsoft Access Treiber
    Microsoft Access Treiber
    Zum Vergrößern anklicken ...
    Dieser Datenquelle geben Sie den Namen valentines und verbinden sie mit der Access Datenbank auf Ihrer Festplatte. Über den Namen der Datenquelle erfolgt später im Skript der Zugriff auf die Datenbank.

    Datenquelle konfigurieren
    Datenquelle konfigurieren
    Zum Vergrößern anklicken ...

     

    Funktion des Skripts

    Neben den Standard GSE Blöcken beinhaltet dieses Skript 3 zusätzliche Funktionen, die als eigener VBScript Code hinzugefügt wurden.

    Eigener VBScript Code
    Eigener VBScript Code
    Zum Vergrößern anklicken ...

    Diese 3 Funktionen ergeben sich aus den Anforderungen an die Anwendung:

    • Überprüfung der eigegebenen PIN gegen eine Datenbank
    • Abspielen der zuletzt aufgezeichneten Nachricht
    • Speichern der Nachricht mit einem bestimmten Dateinamen in einem bestimmten Verzeichnis (plus Datenbank Update)

     

    Die Funktion "ValidPin()"

    Diese Funktion wird über den Variable Auswerten Block Valid PIN ? aufgerufen:

    Aufruf der PIN Überprüfung
    Aufruf der PIN Überprüfung
    Zum Vergrößern anklicken ...

    Die Funktion erhält als Parameter die PIN die zuvor in dem Enter PIN Block eingegeben wurde. Der sogenannte Connecstring für den Datenbank Zugriff DB_DSN ist in der ersten Anweisung des VBScript Codes definiert ' Data Source Name
    Const DB_DSN = "valentines"
    und kann dort auch entsprechend an andere Datenbanken angepasst werden.

    Function ValidPin ( sPin )
    
    Dim bReturn bReturn = false
    ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open DB_DSN
    ' open recordset Dim sSQL Dim rs sSQL = "select * from users where pin = '" _ & sPin & "'"
    Set rs = CreateObject("ADODB.Recordset") rs.Open sSQL, db, adOpenDynamic, _ adLockOptimistic, adCmdText bReturn = not rs.EOF
    rs.Close Set rs = Nothing
    db.Close Set db = Nothing
    ValidPin = bReturn
    End Function
    Die Funktion liest alle Datensätze aus der Tabelle users die im Feld pin die eigegebene PIN haben. An dem EOF Flag des Ergebnisse wird erkannt, ob es entsprechende Einträge gibt. Das Flag ist True wenn keine Ergebnisse geliefert wurden, es also keinen entsprechenden Eintrag in der Tabelle gibt. Da die Funktion ValidPin() aber in diesem Fall False zurück liefern soll, wird das Flag einfach negiert.

     

     

    Die Funktion "PlayLastMessage ()"

    Diese Funktion wird innerhalb des Variable setzen Blocks Play Message aufgerufen. Bitte beachten Sie, dass wir diesen Block nur benutzen, um die Funktion aufzurufen. An dem Ergebnis, welches in diesem Fall in eine Dummy Variable gespeichert wird, sind wir nicht interessiert.

    Der GSE liefert z.Zt. leider keine direkte Möglichkeit mit der die zuletzt aufgezeichnete Nachricht abgespielt werden kann. Es gibt aber sehr wohl eine entsprechende Möglichkeit mittels eigenen VBScript Codes:

    Function PlayLastMessage ()
    
    Dim retVal Dim sFileName
    ' get name of last recorded file sFileName = PBXCall.LastRecordedMessage ' play last recorded file retVal = PBXCall.PlayMessage(sFileName)
    PlayLastMessage = True
    End Function

     

    Die Funktion "SaveMessage()"

    Diese Funktion hat zwei Aufgaben:

    • Die aufgezeichnete Nachricht in das definierte SAVE_DIR Verzeichnis unter einem Namen PIN.WAV zu kopieren, wobei PIN durch die aktuelle PIN des Benutzers ersetzt wird.
    • Die komplette Pfadinformation dieser Datei in der Datenbank entsprechend zu diesem Benutzer zu speichern.
    Auch diese Funktion wird über einen Variable setzen Block Save Message aufgerufen, und auch hier sind wir an dem Ergebnis nicht weiter interessiert.

    Aufruf der
    Aufruf der "SaveMessage()" Funktion
    Zum Vergrößern anklicken ...

     

     

    Function SaveMessage( sPin )
    
    Dim sFileName, sNewFileName
    ' get name of last recorded file sFileName = PBXCall.LastRecordedMessage ' cal new file name sNewFileName = SAVE_DIR & sPin & ".wav" ' create FileSystemObject Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.CopyFile sFileName, sNewFileName Set fso = Nothing
    ' open connection to database Dim db Set db = CreateObject("ADODB.Connection") db.Open DB_DSN
    ' update record Dim sSQL sSQL = "update users set message = '" & _ sNewFileName & "' where pin = '" & _ sPin & "'" db.Execute(sSQL)
    db.Close Set db = Nothing
    SaveMessage = True
    End Function

     

     

    Bitte beachten Sie noch, dass die Ansagen in der Download-Datei nicht den endgültigen Ansagen während der Valentines Aktion entsprechen, sondern lediglich Testansagen darstellen.

    Weitere Informationen zu der Valentins Aktion

    Natürlich bestand die gesamte Aktion nicht nur aus dem gezeigten GSE Skript. Auf den folgenden Webseiten war eine Anmledung zu der Aktion möglich:

    Die Webseiten wurden erstellt von der Firma Web Power (www.webpower.nl) welche auch für den Versandt der Valentins EMail verantworlich war.


  • Referenzen

    Soweit die von uns gelieferte oder/und verwendete Software Open Source Elemente beinhaltet, gelten zusätzlich die unter https://www.swyx.de/open-source einsehbaren zusätzlichen Bedingungen. Welche Produkte aus dem Swyx Portfolio Open Source Elemente beinhalten und welche Open Source Lizenz einschlägig ist, ergibt sich aus der unter folgender URL einsehbaren Liste https://www.swyx.de/open-source.

    Informationen anderer Anbieter, die in diesem Artikel zur Verfügung gestellt werden, sollen bei der Suche nach technischen Informationen helfen. Die Inhalte können ohne weitere Ankündigung geändert werden. Swyx garantiert weder für die Güte von Inhalten anderer Anbieter, noch ist Swyx für diese verantwortlich.


    Kommentar

    Hat Ihnen dieser Artikel weitergeholfen? Kommentieren Sie diesen Artikel



    Sollten sich Fragen aus Ihrem Kommentar ergeben, wie können wir Sie erreichen?

    E-Mail Adresse (optional)


    Hinweis

    Dieses Kommentar-Feld steht Ihnen nicht für Support-Anfragen zur Verfügung. Diese richten Sie bitte ausschliesslich an Ihren Swyx Händler bzw. Distributor.


    Änderungen

    Erstellt: 13.02.2003


    • 20.12.2005: Voicemail Ordner aktualisiert (Programme -> Dokumente und Einstellungen)
    • 18.02.2009: Intratel Logo Aktualisiert