jeudi 27 août 2015

Asterisk Anruf beenden ohne "tut tut tut"

Sorry für die Überschrift, aber ich kanns grad in der kürze nicht besser Beschreiben.

Hier die lange Version:

Ich habe eine SIP fähige Sprachanlage vor der Haustür. Drückt jemand auf den Klingeltaster, so wird "drinnen angerufen".

Oftmals ist aber der Web zur kürzer als zum Telefon, weswegen ich, gesteuert über einen Türkontakt den Anruf forciert beende. Dazu überwache ich den Türkontakt und triggere per Shellscript dann ggf. ein

Code:

#!/bin/sh
NUMBER=1000
CHANNEL=`/usr/sbin/asterisk -rx "core show channels" | grep "SIP/$NUMBER-" | grep "Ring" | cut -f1 -d" "`
if [ -n "$CHANNEL" ]
then
        echo "Will hangug ringing channel '$CHANNEL'"
        /usr/sbin/asterisk -rx "channel request hangup $CHANNEL"
else
        echo "Channel with number $NUMBER is not ringing. No hangup required."
fi

Wobei NUMBER=1000 die interne Rufnummer der SIP-Türklingel ist.

Das funktioniert auch. Es hört drinnen spontan auf zu klingeln. Aber vor der Haustüre kommt noch ein "tuut, tuut, tuut" als Quittungston dass der Anruf abgebrochen wurde.

Das ist irgendwie nervig und der der vor der Tür steht wunder sich immer. Ich ich kann aber die SIP-Klingel auch nicht passend umkonfigurieren so dass der Quittungston nicht mehr kommt. Ich muss das also über Asterisk lösen.


Ich stochere aktuell noch im dunkeln. Die Frage die sich mir stellt ist: Kann ich per Kommandozeile den Anruf so beenden, dass die SIP-Türklingel mein sie hätte mit dem Anruf Erfolg gehabt und der Anruf wurde sauber beendet?

Also quasi ein gescriptetes "Anruf entgegen nehmen und sofort geordnet beenden", aber eben ohne Beteiligung des angerufenen Endgeräts?

Nur so ein Gedanke: Gespräch ad-hoc auf einen Dummy-Teilnehmer der von Asterisk kontrolliert werden kann umleiten, per script abnehmen und gleich auflegen... sowas in der Art.

Any ideas?

Gruß
Alex


Asterisk Anruf beenden ohne "tut tut tut"

Aucun commentaire:

Enregistrer un commentaire