SIP-Call-Notifier/Monitor

29/10/2009 - 11:01 von Henning Hucke | Report spam
Hallo Group,

ich suche einen SIP-Call-Notifier/Monitor, meint:

"Daemon" meldet sich bei seinem statefull proxy an, lauscht auf ankommende
Anrufe, aber nimmt kein Gespràch entgegen sondern startet beispielsweise
ein Script mit der Anrufer-Kennung und der angerufenen Kennung als
Argumente...

Kennt jemand soetwas (für Unix/Linux)?

MfG Hennin Hucke
Wirkliche Schönheit kann ohne Güte nicht existieren, denn es sind nicht die
Züge allein, sondern der Ausdruck, der den Zügen ihren übernatürlichen Reiz
gibt. (August Strindberg)
 

Lesen sie die antworten

#1 Peter Blancke
29/10/2009 - 14:59 | Warnen spam
Am 2009-10-29, Henning Hucke schrieb:

ich suche einen SIP-Call-Notifier/Monitor, meint:

"Daemon" meldet sich bei seinem statefull proxy an, lauscht auf ankommende
Anrufe, aber nimmt kein Gespràch entgegen sondern startet beispielsweise
ein Script mit der Anrufer-Kennung und der angerufenen Kennung als
Argumente...



Etwas anders geloest bei uns, ich will ein paar Anregungen reichen.

Die Asterisk-Telephonsoftware sitzt auf einem eigenen Rechner. Dort
findet sich in der extension.conf sinngemaesz folgende Zeile:

exten =>
XXXXXXX,1,agi(./agi-bin/melde-telephonnummer.sh,${CALLERID(num)})

die X und die "." entsprechend anpassen.

Das aufgerufene Skript hat folgenden Inhalt:

,-[ melde-telephonnummer.sh ]
| #!/bin/bash
| echo "$1" | netcat arbeitsplatzrechner 10000 &
`-

Die 10000 steht fuer einen Port, "arbeitsplatzrechner" ist die IP
meines Rechners.

Auf meinem Arbeitsplatz lauscht auf Port 10000 der xinetd wie folgt:

service asterisk-nummer
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = blancke
env = HOME=/home/blancke
server = /home/blancke/bin/asterisk-nummer.php
}

Dabei ist "asterisk-nummer" noch in die /etc/services einzutragen.

Das Skript "asterisk-nummer.php" wird hier aufgerufen, bekommt die
Anrufernummer mitgeteilt, zieht aus einer lokalen Datenbank den
zugehoerigen Teilnehmer heraus und meldet diesen bzw. meldet
"unbekannt" zusammen mit der Telephonnummer. PHP habe ich daher
gewaehlt, weil ich mich damit sehr gut auskenne. Natuerlich geht das
auch in anderen Skriptsprachen.

Das PHP-Skript bildet am Ende der Auswertung eine Variable
$rueckgabe, die in der letzten Zeile des Skripts wie folgt
verwurstet wird:

system("export DISPLAY=:0; xmessage $rueckgabe > /dev/null 2>&1 &", $output);

Durch diesen System-Aufruf springt auf meinem Bildschirm xmessage
mit der gewuenschten Information an, sogar dann, wenn der Bildschirm
(waehrend meiner Abwesenheit) gesperrt ist. Nach Rueckkehr stehen
mehr oder weniger viele xmessage-Bildchen auf dem Bildschirm,
huebsch nebeneinander. Wenn man in die $rueckgabe auszer der
Telephonnummer gleich noch eine Zeitinformation hineinschiebt, ist
das auch informativ.

Noch eine Erweiterung:

Ein kleines Shellskript mit dem Inhalt

ps axu | grep xmes | sed -e 's/^.*xmessage\ //' | grep -v "^blancke" | sort

als "anrufer" gespeichert erlaubt es mir, aus der Ferne schnell per
"anrufer" zu kontrollieren, wer nach mir zwischenzeitlich verlangte.
Das klappt prima.

Ich hoffe, es waren genuegend Anregungen dazu.

Laeuft hier seit einigen Jahren einwandfrei. Ich bin auch mit
Asterisk (hauptsaechlich via dus.net, aber auch via sipgate.de)
hochzufrieden.

Grusz,

Peter Blancke

Hoc est enim verbum meum!

Ähnliche fragen