Hi,
mit ist aufgefallen, dass es bei mir nicht möglich ist über das Management-Interface von Asterisk eine Verbindung über eine extension mit IAX-Channel herzustellen. Der Fehler tritt aber nur auf wenn das Management-Interface benutzt wird.
Ich habe bei mir verschiedene Amtskennziffern konfiguriert:
0 SIP über Sipgate
9 ISDN
8 SIP über Web.de
7 IAX über Sipdiscount
Diese funktionieren perfekt wenn ich über Telefone diese extensions nutze.
Die Ext. 0,9,8 funktionieren auch perfekt wenn ich über das Management-Interface von asterisk den Anruf auslöse.
Nur die IAX-Verbindung klappt dann nicht.
Hier das Log einer erfolgreichen IAX-Verbindung über Telefon (habe mich über IAX selbst angerufen, xxx ist die eigene ISDN-MSN, in der letzten Zeile kommt der Anruf also über ISDN von ext. korrekt an):
Das gleiche über das Manager-Interface von Asterisk:
Die Ursache kann kein Fehler beim Provider sein, da Variante 1 fast immer geht (außer der Provider hat mal alle Leitungen belegt), Variante 2 hat dagegen noch nie eine Verbindung geschafft.
Am Dialplan kann es eigentlich auch nicht liegen, da der ja beim normalem Wählen über Telefon sauber funktioniert und laut obigem Protokoll ja auch das Dial-Kommando korrekt absetzt. Der Vollständigkeithalber trotzdem:
Das PHP-Script arbeitet mit anderen Amtskennziffern auch problemlos:
Hat jemand eine Idee woran es noch liegen kann?
Ciao,
Tom
mit ist aufgefallen, dass es bei mir nicht möglich ist über das Management-Interface von Asterisk eine Verbindung über eine extension mit IAX-Channel herzustellen. Der Fehler tritt aber nur auf wenn das Management-Interface benutzt wird.
Ich habe bei mir verschiedene Amtskennziffern konfiguriert:
0 SIP über Sipgate
9 ISDN
8 SIP über Web.de
7 IAX über Sipdiscount
Diese funktionieren perfekt wenn ich über Telefone diese extensions nutze.
Die Ext. 0,9,8 funktionieren auch perfekt wenn ich über das Management-Interface von asterisk den Anruf auslöse.
Nur die IAX-Verbindung klappt dann nicht.
Hier das Log einer erfolgreichen IAX-Verbindung über Telefon (habe mich über IAX selbst angerufen, xxx ist die eigene ISDN-MSN, in der letzten Zeile kommt der Anruf also über ISDN von ext. korrekt an):
Code:
-- Executing Dial("SIP/phone24-2d6a", "IAX2/test@sipdiscount/004989xxx") in new stack
-- Called test@sipdiscount/004989xxx
-- Call accepted by 213.61.187.147 (format ulaw)
-- Format for call is ulaw
-- Accepting voice call from '' to 'xxx' on channel 0/1, span 1
Das gleiche über das Manager-Interface von Asterisk:
Code:
== Parsing '/etc/asterisk/manager.conf': Found
== Manager 'myuser' logged on from 10.1.1.1
-- Silence suppression is disabled (option_silence_suppression=0 chan->timingfd=38)
> Channel SIP/phone24-fdc6 was answered.
== Manager 'myuser' logged off from 10.1.1.1
-- Executing Dial("SIP/phone24-fdc6","IAX2/test@sipdiscount/004989xxx") in new stack
-- Called test@sipdiscount/004989xxx
-- Call accepted by 213.61.187.147 (format ulaw)
-- Format for call is ulaw
-- Hungup 'IAX2/sipdiscount-1'
== No one is available to answer at this time (1:0/0/0)
Die Ursache kann kein Fehler beim Provider sein, da Variante 1 fast immer geht (außer der Provider hat mal alle Leitungen belegt), Variante 2 hat dagegen noch nie eine Verbindung geschafft.
Am Dialplan kann es eigentlich auch nicht liegen, da der ja beim normalem Wählen über Telefon sauber funktioniert und laut obigem Protokoll ja auch das Dial-Kommando korrekt absetzt. Der Vollständigkeithalber trotzdem:
Code:
exten => _70Z.,1,Dial(IAX2/test@sipdiscount/0049${EXTEN:2})
exten => _70Z.,102,Playtones(busy);
exten => _70Z.,103,Busy
Das PHP-Script arbeitet mit anderen Amtskennziffern auch problemlos:
Code:
$socket = fsockopen("pbx","5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: myuser\r\n");
fputs($socket, "Secret: xxx\r\n\r\n");
fputs($socket, "Action: Originate\r\n");
fputs($socket, "Channel: ".$nebenstelle."\r\n");
fputs($socket, "Exten: ".($nummer=($amt.str_replace(" ","",$nr)))."\r\n");
fputs($socket, "Priority: 1\r\n");
fputs($socket, "Timeout: 30000\r\n");
fputs($socket, "Context: default\r\n\r\n");
$wrets=fgets($socket,128);
fclose($socket);
Hat jemand eine Idee woran es noch liegen kann?
Ciao,
Tom
Zuletzt bearbeitet: