+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 16
  1. #1
    Registriert seit
    Feb 2005
    Ort
    Sarkwitz
    Beiträge
    3,673

    Standard Lifestyle per DTMF

    Das folgende Beispiel zeigt, wie man über die ISDN Capi und DTMF Tönen
    Steuerungsaufgaben (Lifestyle Programme ) mit IP-Symcon realisieren kann.
    Wer eine TK-Anlage mit internem ISDN-Bus hat, kann bequem von seinem DECT Handy z.B. die Beleuchtung steuern.

    In „Instances“ wird das „ISDN Modul“ eingefügt und eine Variable für die DTMF Töne
    sowie für den Status vergeben. „Accept Calls“ auf „0“ gesetzt, damit das Modul alle Anrufer entgegennimmt.

    Das folgende Skript prüft den Status der ISDN Verbindung. Bei „Connected“ wird der
    Anrufer „begrüßt“ und eine „Merker-Variable“ gesetzt.
    PHP-Code:
    <?
    /*
    *******************************
     IPSwitch Event Scripting
    *******************************
    */
    //File: ISDNStatus.ips.php
    // getriggert druch die Variable: "ISDNStatus"
    // Einstellungen:
    // MSN incomming 49  / ISDNDTMFChar / ISDNStatus

    $buffer GetValueString("ISDNStatus");
    if(
    $buffer != "") {

    $items explode(chr(13).chr(10), $buffer);
    foreach(
    $items as $item) {

    // hier wirdder Status ausgewertet...
       
    if ($item == "Connected"){
          
    ISDN_PlayWave(24606,"d:/daten/sounds/wilkommen.wav");
          
    IPS_Sleep(2000);
          
    ISDN_PlayWave(24606,"d:/daten/sounds/lifestyle.wav");
          
    SetValueInteger("Flag_ISDN",11);     // Connected   IPS
       
    }

       if (
    $item == "Disconnected"){
         
    SetValueInteger("Flag_ISDN",99);     // Connected   IPS
          // ZBV
       
    }
    }

    //... und den Status-Buffer löschen
    SetValueString("ISDNStatus""");
    }
    ?>
    Das folgende Skript wertet die DTMF T&#246;ne aus. Stimmt die „Merker-Variable“ mit
    der Taste „1“ &#252;berein, wird z.B. das „Lifestyle Programm“ 1 ausgef&#252;hrt.
    Die „Merker-Variable“ dient auch dazu, das Telefonmen&#252; zu verschachteln, wie man es
    aus den „Call Center Telefonaten“ her kennt.
    Wird das Gespr&#228;ch beendet, bekommt die „Merker-Variable z.B. den Wert 99.
    PHP-Code:
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    File     : ISDNevent_Life.ips.php
    Trigger  : ISDNDTMFChar
    Interval : 
    */

    $flagisdn GetValueInteger("Flag_ISDN");
    $buf GetValueString("ISDNDTMFChar");

    if (
    $buf != "") {

       
    //Befehl abarbeiten bei "#"  > # dient als "ENTER"
       
    ClearBuf();   //Buffer löschen
          
    switch($flagisdn) {
             case 
    11:                                   // Connected
                
    switch((int)$buf) {                     // DTMF
                   
    case 1:
                      
    ISDN_PlayWave(24606,"d:/daten/sounds/eingegeben.wav");
                      
    IPS_Sleep(2000);
                      
    ISDN_PlayWave(24606,"d:/daten/sounds/".$buf.".wav");
                      
    IPS_RunScript("LifeStyle_1");
                      return;
                   case 
    2:
                      
    // ZBV
                      
    return;
                   case 
    3:
                      
    // ZBV
                      
    return;
                   default:
                      
    ISDN_PlayWave(24606,"d:/daten/sounds/nofunction.wav");
                      return;
                }  
    // DTMF
             
    case 31:
             
    // ZBV

          
    }
    //Wenn hier gelandet, falscher Befehl
    ISDN_PlayWave(24606,"d:/daten/sounds/falsch.wav");
    }

    //Puffer löschen function deklarieren
    function ClearBuf() {
       
    //DTMF Puffer löschen
       
    SetValueString("ISDNDTMFChar","");
    }
    ?>
    Und neue „Sound Konserven“ generiert man so:
    PHP-Code:
    TTS_GenerateFile($id"Dies ist eine Mega-Lifestyle-Ansage“, "d:/Daten/sounds/lifestyle.wav", 6); 
    Geändert von steiner (18.06.06 um 07:33 Uhr)

  2. #2
    Registriert seit
    Mar 2005
    Ort
    Dortmund
    Beiträge
    204

    Question DTMF Töne

    Hallo Steiner,
    kann es sein das ein paar kleine Fehler in dem Script sind?

    1. Bei mir wird der Buffer der Variablen nicht gelöscht, obwohl der Befehl dazu drin ist. Beim anwählen tauchen immer ein wust von DTMF Eingaben auf. zB: 23#2#44#3#45#

    2. Es werden keine Scripte gestartet, obwohl der Befehl ankommt (so scheint es zumindest)

    Hast Du eine Eklärung? Oder vielleicht jemand anders?

    MfG

    Alex

  3. #3
    Registriert seit
    Feb 2006
    Ort
    Riyadh, KSA
    Beiträge
    262

    Hallo Alex,

    Ich habe beide Scripte (fast identisch mit Steiner's Originalen) bei mir laufen und es funktioniert.

    Das einzige was in der Beschreibung nicht steht ist, dass das zweite Script durch die ISDNDTMFChar variable getriggert werden muss. Wenn es so bei dir ist, dann müsste das Script bei jedem Aufruf den DTMF Buffer löschen. Sonnst sehe ich nicht wo der Fehler sein könnte.

    Gruss

  4. #4
    Registriert seit
    Mar 2005
    Ort
    Dortmund
    Beiträge
    204

    Hallo Zapp,
    genau das wars, der falsche Trigger. Danke Dir nochmal.

    MfG

    Alex
    Geändert von Schlimmerfinger (18.06.06 um 15:36 Uhr)

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    45

    Standard Welche MSN ist denn Connected?

    Hallo,
    bei dem ersten Script wird ausgewertet ob die ISDNStatusVariable den Wert Connected enthält.
    Aber welche MSN ist denn Connected?
    Wenn ich auf einer MSN den "AB" und auf einer zweiten "LifeStyle" betreiben möchte, kann IP-Symcon nicht unterscheiden welche MSN connected ist.

    Läßt sich das durch eine Scriptveränderung/erweiterung in den Griff bekommen?

    Thorsten

  6. #6
    Registriert seit
    Feb 2006
    Ort
    Riyadh, KSA
    Beiträge
    262

    Zitat Zitat von Thorsten
    Hallo,
    bei dem ersten Script wird ausgewertet ob die ISDNStatusVariable den Wert Connected enthält.
    Aber welche MSN ist denn Connected?
    Wenn ich auf einer MSN den "AB" und auf einer zweiten "LifeStyle" betreiben möchte, kann IP-Symcon nicht unterscheiden welche MSN connected ist.

    Läßt sich das durch eine Scriptveränderung/erweiterung in den Griff bekommen?
    Hallo Thorsten,

    Die Variable "ISDNStatus" vom ersten Script wird durch ein ISDN Modul gesetzt, das auf eine bestimmte MSN reagiert. In der ISDN Modul Konfiguration gibst du die LifeStyle-MSN ein. ISDNStatus enthält den Status für die LifeStyle-MSN.

    Wenn du nun einen AB auf einer zweiten MSN haben willst, musst du ein zweites ISDN Modul einrichten. Dort gibst du dann in der Konfiguration die AB-MSN und die AB-Status variable ein (z.B. ISDNABStatus). Dein AB Script liest den Status der ISDNABStatus Variable.

    Gruss

  7. #7
    Registriert seit
    Sep 2005
    Beiträge
    45

    Hallo Thorsten,

    Die Variable "ISDNStatus" vom ersten Script wird durch ein ISDN Modul gesetzt, das auf eine bestimmte MSN reagiert. In der ISDN Modul Konfiguration gibst du die LifeStyle-MSN ein. ISDNStatus enthält den Status für die LifeStyle-MSN.

    Wenn du nun einen AB auf einer zweiten MSN haben willst, musst du ein zweites ISDN Modul einrichten. Dort gibst du dann in der Konfiguration die AB-MSN und die AB-Status variable ein (z.B. ISDNABStatus). Dein AB Script liest den Status der ISDNABStatus Variable.

    Gruss
    Hallo,
    das stimmt leider nicht. Siehe hier : http://www.ip-symcon.de/forum/showthread.php?t=1617

    Die Status Variablen enthalten alle die selben Werte.

    Thorsten

  8. #8
    Registriert seit
    Mar 2005
    Ort
    Dortmund
    Beiträge
    204

    Hi Folks,
    ich habe ja auch Lifestyle und den AB laufen. Eigentlich ne coole Sache. Wenn nicht oben beschriebens Feature. Dadurch passiert nämlich folgendes. Ich bekomme im Anrufbeantworter Web Interface alle Steuerungsanfragen vom Lifestyle mit. Da kann es dann schon mal passieren, das ich erst 20 Anrufe löschen muß, bevor ich die eigentlichen Voicemails sehe. Das ist schon recht nervend. Aber ist halt so.

    MfG

    Alex

    PS: Für mich ist das eher ein Bug, not a feature.

  9. #9
    Registriert seit
    Feb 2006
    Ort
    Riyadh, KSA
    Beiträge
    262

    Zitat Zitat von Thorsten
    Hallo,
    das stimmt leider nicht. Siehe hier : http://www.ip-symcon.de/forum/showthread.php?t=1617

    Die Status Variablen enthalten alle die selben Werte.

    Thorsten
    Sorry, dann habe ich zwei mal was falsches hier geschrieben . Danke für den Hinweis.

    Ich habe es gerade getestet und tatsächlich stehen in meinem AB log auch die Lifestyle-Anrufe. Ich hatte wohl vorher nicht oft genug den Lifestyle angerufen, um es zu merken. Auserdem fand ich es logisch, dass jede Status Variable nur die Information über der im Modul angegebenen MSN enthält. Wäre schön, wenn es so sein könnte.

  10. #10
    Registriert seit
    Jan 2006
    Beiträge
    391

    Hallo,

    bei mir geht das isdn modul nicht dran. Erhalte folgendes im Debug.
    Hat da einer eine Lösung zu ? MSN etc alles ok !

    Gruß

    Oliver

Ähnliche Themen

  1. Dtmf
    Von torsteng im Forum Allgemeine Diskussion
    Antworten: 23
    Letzter Beitrag: 09.01.07, 11:08