Hallo,
ich bastele gerade an einem kleinen Dialer herum. Man kann über ein Webseitenformular eine Nummer wählen und wird mit dieser verbunden.
Das klappt wunderbar, ich habe nur ein paar Probleme mit dem Auflegen.
Auch das klappt, dauert mir aber etwas zu lange (ca. 1.5 Sekunden), da ich es wohl nicht ganz elegant gelöst habe.
Da ich für meine Lösung kein AGI nutzen will, ist mir während ein Anruf läuft nur die Extension meines SIP-Phones bekannt und nicht der komplette Channelname mit den Zufallszeichen nach der Extension.
Also hole ich mir in einem ersten Schritt den kompletten Channelnamen des Calls...
Ich habe danach den kompletten Channelnamen des aktuell laufenden Calls und kann diesen jetzt mit einem soft hangup killen:
Da ich mit dieser Methode 2x zum Asterisk connecten muss, dauert es länger als gewünscht.
Gibt es eine schlauere Methode? Kann ich beide Schritten zu einem Schritt zusammenfassen oder kann ich einen Call killen, auch wenn ich nur die Extension kenne mit der er verbunden ist und nicht den kompletten Channel-Namen?
Danke und Gruss
wonder
ich bastele gerade an einem kleinen Dialer herum. Man kann über ein Webseitenformular eine Nummer wählen und wird mit dieser verbunden.
Das klappt wunderbar, ich habe nur ein paar Probleme mit dem Auflegen.
Auch das klappt, dauert mir aber etwas zu lange (ca. 1.5 Sekunden), da ich es wohl nicht ganz elegant gelöst habe.
Da ich für meine Lösung kein AGI nutzen will, ist mir während ein Anruf läuft nur die Extension meines SIP-Phones bekannt und nicht der komplette Channelname mit den Zufallszeichen nach der Extension.
Also hole ich mir in einem ersten Schritt den kompletten Channelnamen des Calls...
Code:
@$chan_to_hangup=exec("sudo /usr/sbin/asterisk -rx \"core show channels\" | grep SIP/soft | cut -d\" \" -f1");
Ich habe danach den kompletten Channelnamen des aktuell laufenden Calls und kann diesen jetzt mit einem soft hangup killen:
Code:
@$sysmessage=exec("sudo /usr/sbin/asterisk -rx \"soft hangup $chan_to_hangup\"");
Da ich mit dieser Methode 2x zum Asterisk connecten muss, dauert es länger als gewünscht.
Gibt es eine schlauere Methode? Kann ich beide Schritten zu einem Schritt zusammenfassen oder kann ich einen Call killen, auch wenn ich nur die Extension kenne mit der er verbunden ist und nicht den kompletten Channel-Namen?
Danke und Gruss
wonder