VOIP Skript stratet nicht per Ereignis-Timer

Hallo!

Ich habe ein kurzes Skript für einen Anruf erstellt.
Das Skript läuft fehlerlos durch wenn man es in der Editoransicht per Play Taste ausführt.

Wenn man es aber per Ereignis-Timer ausführt passiert nichts.
Die Zeit in der Objektbaumansicht wird zwar durch den Timer aktualisiert, aber es wird kein Anruf getätigt.

Was kann das sein?

<?php

//Anruf tätigen
if($_IPS['SENDER'] == "Execute") {
    $id = VoIP_Connect(20810, "0123456789");
 
    //Maximal 10 Sekunden warten, dass einer abnimmt
    for($i = 0; $i < 10; $i++) {
        IPS_Sleep(1000);
        $c = VoIP_GetConnection(20810, $id);
        if($c['Connected']) {
           // nix soll passieren;
            return;
        }
    }
 
    //Auflegen, falls keiner abnimmt
    VoIP_Disconnect(20810, $id);
}
?>

Hi,
es macht das was Du geschrieben hast:

„if($_IPS[‚SENDER‘] == „Execute“)“

Was willst Du denn machen?

switch($_IPS["EVENT"]) {

wäre vielleicht besser.

Ralf

Dafür fehlt mir leider die Kenntnis.
Um aus diesen beiden Zeilen die Aktion zu lesen fehlt mir leider die Kenntnis.

Ich möchte das beim ausführen des Skripts eine Telefonnummer angerufen wird und nach 10 Sekunden wieder aufgelegt wird.
Das Skript liefert aber leiden keinen Anruf wenn ich es per Ereignis auslöse.

Kannst du mir das Skript mal so anpassen das es seinen Zweck erfüllt?

Dann versuche ich die Änderung zu verstehen, auf das es mir bei weiteren Projekten gelingt.

Habe es jetzt enorm abgespeckt und es klappt.
Aber verstanden hab ich es jetzt noch nicht.

So klappt es:

    $id = VoIP_Connect(20810, "0123456789");
        IPS_Sleep(7000);
    VoIP_Disconnect(20810, $id);

Naja, in der ersten sinnvollen Codezeile testet du auf „Execute“, das tritt aber nur auf, wenn du das Script von Hand startest.