Sorgen mit dem ISDN Modul

Hallo,

möchte gern per Anruf im IPS verschiedene Dinge auslösen.
Habe dazu ersteinmal paresys Script genommen http://www.ip-symcon.de/forum/f18/isdn-modul-verwenden-5071/ und Steiners Script zum Anrufbeantworter.

Habe mir ein ISDN-Modul und ein TTS angelegt. Jeweils die Instanz-ID im Script angepasst. Im ISDN-Modul als Ereignisscript mein Script angegeben. Es wird jedoch nicht ein Ruf angenommen. Nach dem dem zweiten Ruf wird leider ausgelöst.

Was mache ich falsch? Hat jemand einen Tipp?

Hallo hrahlers,

hast Du das ISDN Modul mal auf „Debug“ gestellt und beobachtet was passiert, wenn Du auf dieser MSN anklingelst?

Gruß
Thorsten

Danke. Leider steht da auch nichts drin - gar nichts. Habe eine gehende Signalisierung, wenn mein Gefrierschrank zu lange offen ist. Da geht.

NACHTRAG: Nun habe ich was. siehe Anhang

Nur für’s Verständnis: Rauswählen bei einem Ereignis (Kühlschrank) klappt, aber auf einen eingehenden Anruf reagiert IPS nicht?

Hast Du eine eigene MSN für IPS? Nicht dass vielleicht noch ein anderes Gerät auf den Anruf reagiert.

Poste doch auch mal einen Screenshot von deiner ISDN Konfig.

Gruß
Thorsten

Hallo,

habe mir eine neue MSN eingerichtet. die ist noch für nichts vergeben, somit auch nicht im IPS. Zur Info: habe die capi over fritz! am laufen (FritzFax over LAN), also per LAN zur Fitzbox und dann als S0 weiter zu einer Nst. der Telefonanlage. Liegts daran? Gibts bei dieser Konstellation keine kommenden Gespräche?

Letztendlich möchte gern einen AutoAttendant (drücke die 0 für … , die 1 für usw) programmieren, mit dem ich einige Dinge im IPS auslesen und mir telefonisch ansagen lassen möchte. Einstiegs-Script hier:

<?
 $allowed_numbers = Array(""); //leer = alle

 if($IPS_SENDER == "ISDN")
 {
    //Informationen ins Meldungsfenster ausgeben
    echo "Event: ".$ISDN_EVENT."
";

    $callinfo = ISDN_GetConnectionInfo(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION);
    //Mehr Informationen ausgeben
    print_r($callinfo);


// Erstmal nicht weitermachen

	 exit;

    if($ISDN_EVENT != "Disconnect")
    {
      $callinfo = ISDN_GetConnectionInfo(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION);

      //Mehr Informationen ausgeben
      print_r($callinfo);
    }

    //Je nach Ereigniss eine Aktion ausführen
    switch($ISDN_EVENT)
    {
     case "Incoming":
      //Anruf annehmen? (Entweder leeres Array oder Nummer ist enthalten)
      if((sizeof($allowed_numbers) == 0)
       or in_array($callinfo['CallingNumber'], $allowed_numbers))
      {
         ISDN_AcceptCall(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION); //Anruf annehmen
      }
      break;
     case "Connect":
      //Aktion nach dem Verbinden ausführen
      $file = IPS_GetKernelDir()."temp.wav";
      $text = "Press Zero for current Time";
      TTS_GenerateFile(30424 /*[AB\Text To Speech]*/, $text, $file, 6);
      ISDN_PlayWave(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION, $file);
      break;
     case "Disconnect":
      //Aktion, wenn Anruf beendet wurde
      //"ISDN_GetConnectionInfo" ist hier nicht mehr verfügbar!
      break;
     case "PlayFinish":
      //Aktion, wenn Wav abgespielt wurde
      break;
     case "DTMF":
      switch($ISDN_DATA)
      {
       //Aktion wenn 0 gedrückt wird
       case "0":
        $file = IPS_GetKernelDir()."temp.wav";
        $text = "The Time is ".date("H:i");
        TTS_GenerateFile(30424 /*[AB\Text To Speech]*/, $text, $file, 6);
        ISDN_PlayWave(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION, $file);
        break;
       //Aktion wenn falsche Taste gedrückt wird
       default:
        ISDN_Disconnect(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION);
        break;
      }
      break;
    }
 }

?>

Derzeitige Konfig des ISDN-Moduls anbei.

Hallo Andreas,

Versuch mal’ im ISDN Modul deine komplette Rufnummer (ohne Vorwahl) anzugeben und nicht nur die zweistellige Durchwahl.

Gruß
Thorsten

Hallo Thorsten,

danke für Deine schnelle Antwort. Da hatte ich auch schon probiert. Stelle aber gerade fest, daß ich mir auf den IPS-Rechner mit einer anderen MSN auch keine Faxe schicken lassen kann. Verschicken jedoch klappt wieder. Alles sehr merkwürdig.

Gibt es eine andere capi? Welche hast Du? Oder hast Du eine ISDN-Karte im/am Rechner?

Hallo,

ich habe auch Fritz over IP in Betrieb.
Bei einem Rechnerneustart die gleichen Probleme wie du.

  • Raus telefonieren geht
  • Ankommende Anrufe gehen nicht

Bei mit hilft die ControllerID im ISDN Modul umzustellen

von 1 auf 2 oder von 2 auf 1
je nachdem was vorher funktioniert hat.
oder auch mal weitere IDs ausprobieren.

René

Bei mir ist es ControllerID 1 mit einer Fritz!Box 7170 mit aktueller Firmware.

Gruß
Thorsten

Nutzt du VoIP über die Fritz!Box oder wirklich eine ISDN Anlage mit ISDN nach draußen?

Du musst auf jeden Fall die komplette MSN angeben. Es kann sein, dass die Anlage mehr als die „62“ rausgibt, falls du die Nummer nur intern verwendest.

Bei meiner 7270 musste ich ControllerID 5 nehmen und die Rufnummer mit dem „VoIP Kanal“ angeben. Den sieht du im Fritz!Box Monitor oder beim Telnet auf Port 1012 als „SIP5“, also z.B. 5#1234567 als „empfangende MSN“.

Du siehst die Kommunikation auch im Debug Fenster des ISDN Moduls.

Hallo, zusammen. Danke soweit.

@Renè: Mit den IDs habe ich auch schon experimentiert, werde aber nochmal mit anderen versuchen. Bei mir funktioniert gehend die 2. Kommend aber weder 1 noch2.

@Ralf: Meine Tk-Anlage ist amtseitig an einem Mehrgeräteschluss dran, an einer S0-Nebenstelle hängt die Fritzbox quasi als Unteranlage. In der FB habe die MSN 61-65 eingetragen und einigen Testteilnehmern zugeteilt. (61 Fritzfax, 63 Dect und 65 analoges Telefon. Die MSN 62 und 64 sind frei. Im FB-WBM seheich auch kommende Rufe von der Nst. aus der TK-Anlage auf die MSN der FB. Also rei kommt was. Vielleicht geht es von dort nicht weiter? Telnet (telnet fritz.box 1012) kann keine Verbindung herstellen; telnet fritz.box geht. Firewall ist aus.

NACHTRAG: siehe Anhang. 21 ist mein Prüftelefon in der TK-Anlage, 19 das Faxgerät. 61 die MSN für Fritzfax, 62 die MSN der FB. Sieht doch gut aus, oder?

Einschalten mit #965 :wink:

Geht das denn erstmal grundsätzlich mit meiner Konstellation? Oder ist es besser mit einer ISDN-Karte (FritzCard, Eicon Diva etc.)?

Also das muss gehen, da ich „fast“ die selbe Konstellation habe.

Fritz!Box 7170 am ISDN S0 Bus und „CAPI over TCP“ aktiviert. Den CAPI Treiber auf dem IPS Server installiert und die entsprechende Instanz in IPS angelegt.
Anschließend auf Basis des Beispielscriptes ein Telefonmenü gemacht, was eingehende Anrufe auf einer bestimmten MSN annimmt.

Also glaube ich nicht, dass eine FritzCard besser klappt als mit der FritzBox.
Aber falls Du eine zu Hause rumliegen hast, dann schadet ein Versuch ja nicht - nur unbedingt eine neue kaufen würde ich mir überlegen.

Gruß
Thorsten

Gut. Also nochmal ein anderer Ansatz:

Welche Einstellungen hast Du in der FB gesetzt? Ich habe die Tk-Anlage (spielt für die FB AMT) über Y-Kabel angeschlossen. Habe dann unter Telefonie -> Telefoniegeräte -> Festnetz das Festnetz aktiviert und unter Rufnummern 61-65 einegtragen.

Mehr muss ich doch nicht machen, oder doch? Die MSN habe ich keinem Gerät zugewiesen, da ich keines (DECT, Analaogtelefon) an die FB angeschlossen habe. Oder muss ich die MSN (so würde ich vermuten) einem noch einzurichtenden Gerät (siehe Anhang) zuweisen. Wie reagiert die LAN-CAPI sonst drauf?

Ich habe die Fritz!Box zwar direkt am S0 ISDN Bus hängen (ohne vorgeschaltete TK-Anlage), aber meine Fritz!Box kennt die MSN auf der IPS Anrufe annimmt überhaupt nicht. Trotzdem reagiert IPS auf den Anruf via CAPI over TCP.

Gruß
Thorsten

Hey - ich habe (Teil-)Erfolge!!!

Im ISDN-Debug tut sich was, nachdem ich von Controller 2 auf 1 geämdert hatte + Neustart. Es wird auch der Ruf NICHT nach 2 Rufen abgelehnt.

Leider wir er aber auch nicht angenommen. Es erfolgen auch keine Ausgaben bei geöffnetem Scripteditor, obwohl durch print_r angewiesen.

Da das Script durch den Trigger ausgeführt wird, siehst du nichts im Editor. Aber im Meldungsfenster werden deine echo und print_r ausgegeben ;).

Habe ich inwzischen auch gesehen und begeistert zur Kenntnis genommen. Bin auch schon ein Stück weiter: Im Beispielscript steht ein exit; - hatte ich übersehen. Danach kann ich mit „0“ die aktuelle hören.

Habe bei DTMF versucht, einen Text als wav zu speichern (wie ein AB). Leider ist nur Schweigen, obwohl ich nach dem ISDN_RECORDWAVE ein IPS_Sleep (5000) und dann noch ein ISDN_STOPRECORD gesetzt habe. Hatte gehofft, dass die Aufnahme nach 5 sec. sauber beendet wird. Stattdessen stürz IPS ab. Dienst beenden geht nicht - nur PC-Neustart hilft.

Hier der Ausschnitt aus dem Script:

     case "DTMF":
      switch($ISDN_DATA)
      {
       //Aktion wenn 0 gedrückt wird
       case "1":
        $file = IPS_GetKernelDir()."temp.wav";
        $text = "The Time is ".date("H:i");
        TTS_GenerateFile(30424 /*[AB\Text To Speech]*/, $text, $file, 6);
        ISDN_PlayWave(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION, $file);
        break;
        
       case "2":
        $file = IPS_GetKernelDir()."\wave\hallo_hier_ips.wav";
        ISDN_PlayWave(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION, $file);
        break;
        
       case "3":
       $stamp = date("H_i_s");
        ISDN_RecordWave(20648 /*[AB\ISDN Module]*/,$ISDN_CONNECTION, "C:/IP-Symcon/wave/ab".$stamp.".wav");
        IPS_Sleep (5000);
        ISDN_StopRecord(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION);
		  IPS_Sleep (2000);
			ISDN_PlayWave(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION, "C:/IP-Symcon/wave/ab".$stamp.".wav");
        break;


       //Aktion wenn falsche Taste gedrückt wird
       default:
        ISDN_Disconnect(20648 /*[AB\ISDN Module]*/, $ISDN_CONNECTION);
        break;

Was geht da falsch?

Habe auch ein Problem mit Voip und ISDN-Modul.

Hatte bisher ISDN am Start. Jetzt habe ich von Telekom auf KD gewechselt.

Mit ISDN hatte ich folgendes Problem nicht:

Eingehende Anrufe werden nicht mehr angenommen.
Egal welche MSN ich eintrage, ob richtig, falsch, mit Vorwahl oder ohne.
Es kommt immer das gleiche Debug (siehe Anhang).

(Ausgehende Anrufe funktionieren nach wie vor.)

Wie muss die MSN für Voip eingetragen werden?

debug.jpg