Problem bei Callback über Manager-API "Originate"

SebastianBonn

Neuer User
Mitglied seit
14 Apr 2006
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo Leute!
Ich versuche gerade, mit meinem Asterisk auf einem vServer eine Callback-Lösung mit Webinterface aufzusetzen. Der User gibt seine Rufnummer und die Zielnummer in ein Formular ein, und ein PHP-Skript soll die Verbindung herstellen, indem es sich mit dem Manager verbindet und per Action: Originate eine Verbindung anfordert.
Das klappt auch soweit erstmal, d.h. das eigene Telefon klingelt und beim Abheben werde ich mit dem Zielanschluss verbunden.
Was allerdings nicht richtig klappt, ist das Beenden der Verbindung. Wenn ich am eigenen Telefon auflege, legt der Asterisk die Verbindung zum Ziel deswegen nicht auf bis der angerufene Anschluss die Verbindung selbst beendet. Das kann natürlich bei Sprachcomputern lange dauern.
Ich bin jetzt etwas ratlos, mir fehlen vor allem die Ansatzpunkte. Wie kriege ich Asterisk dazu, dass wenn der über Originate geöffnete Channel durch auflegen geschlossen wird auch die andere Verbindung beendet wird?
Es funktioniert übrigens andersrum, d.h. wenn der Angerufene auflegt - dann legt der Originate-Channel auch auf.

Mein php-Skript:
Code:
 $socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout); 
 fputs($socket, "Action: Login\r\n"); 
 fputs($socket, "UserName: xxxx\r\n"); 
 fputs($socket, "Secret: xxxx\r\n"); 
 fputs($socket, "Events: off\r\n\r\n"); 

 fputs($socket, "Action: Originate\r\n" ); 
 fputs($socket, "Channel: SIP/".$callback."@49228xxxxx\r\n" ); 
 fputs($socket, "Exten: ".$ziel."\r\n" ); 
 fputs($socket, "Context: default\r\n" ); 
 fputs($socket, "Priority: 1\r\n" ); 
 fputs($socket, "Async: no\r\n\r\n" ); 


 fputs($socket, "Action: Logoff\r\n\r\n");
while (!feof($socket)) {
$wrets .= fread($socket, 8192);
}
fclose($socket);
echo $wrets;

extensions.conf:
Code:
[default]
exten=>_49.,1,Dial(SIP/${EXTEN}@49228xxxxxx,60,tTr)
exten=>_49.,2,Hangup

Wäre nett wenn sich jemand auskennt :). Danke schon mal für jede Hilfe!

Sebastian
 
Ich bin einen Schritt weiter, je nachdem wie mans nimmt.

Das Problem scheint wohl eine Störung entweder bei o2 oder bei 1und1 zu sein, denn es tritt genauso auch auf, wenn ich mich unter Umgehung des Asterisk über die FritzBox selbst auf dem Handy anrufe. Lege ich auf dem Handy auf, wird das Trennen der Verbindung nicht bis zum SIP-Endgerät durchsignalisiert. Deshalb trennt Asterisk die zweite Verbindung auch nicht.

Gruß, Sebastian
 
Kostenlos!

Statistik des Forums

Themen
248,887
Beiträge
2,303,980
Mitglieder
378,565
Neuestes Mitglied
BenGradish