Telefonanrufe anzeigen

aus Wiki, der freien Wissensdatenbank

Inhaltsverzeichnis


Allgemeines

Wer sich Telefonanrufe direkt auf seiner DBox2 anzeigen (entweder auf dem Fernsehschirm oder auf dem LC-Display) lassen will kann dies über einen PC oder einen Router mit integrierter Telefonanlage tun. Nachfolgend werden die verschiedenen Lösungen vorgestellt.


Mit ISDN

Um Telefonanrufe auf dem Fernseher anzuzeigen, braucht man einen PC mit ISDN-Karte. Bei eingehenden Anrufen kann man dann per HTTP-Request ein Fenster mit der Nummer des Anrufers aufpoppen lassen.


Windows

Unter Windows gibt es dafür ISDN-CAPI-WATCH + Dbox2isdn.

Installation

Das zip-Archiv isdn.zip in einem beliebigen Verzeichnis entpacken. Danach die Datei isdn-capi-watch.exe mit Doppelklick starten.

Achtet bitte darauf, dass Ihr zu diesem Zeitpunkt einen funktionierenden CAPI-Treiber Eurer ISDN-Karte installiert habt und dieser geladen ist. Falls nicht, kann sich der PC beim Start von isdn-capi-watch.exe aufhängen!

Konfiguration

Nun startet das Programm und wird durch einen Telefonhörer über einer Weltkugel in der Taskleiste von Windows angezeigt. Mit rechtem Mausklick auf das Symbol und dann PC-Interface. Es öffnet sich jetzt das Interface für den PC. Unter Konfig oben rechts nehmt Ihr bitte Eure Einstellungen für IP-Adresse und MSN-Nummern vor und speichert anschließend die Werte.

Das Programm sollte nun funktionieren.


Linux

Python Script

Für Linux habe ich das incoming.py Script von Capisuite (http://www.capisuite.de/de-index.php3) erweitert.

Das incoming.py script liegt normalerweise in /usr/lib/capisuite/.
Dort muss man bei

# general imports
import time,os,re,string,pwd,httplib
# CapiSuite imports
import capisuite,cs_helpers

httplib hinzufügen und eine Zeile unter:

def callIncoming(call,service,call_from,call_to):
...
   ## DBOX2 ##
   zeit = time.strftime("%a %H:%M:%S")
   conn = httplib.HTTPConnection("dbox")
   conn.request("GET", "/control/message?nmsg=" + zeit + \
                " Anruf von " + call_from + " an " + call_to)
   r1 = conn.getresponse()
   conn.close()
   ## DBOX2 ##
...

reinkopieren. Danach sollte man entweder in /etc/hosts die IP-Adresse der DBox2 eintragen oder in der Zeile:

conn = httplib.HTTPConnection("dbox")

"dbox" mit der IP-Adresse der DBox2 ersetzen.


Alternative für SuSE 10

Sollte im Webinterface ein Password im Login gesetzt sein reicht folgender Vierzeiler um eine entsprechende Nachricht auf der Box anzuzeigen. Bei der Bearbeitung der incomming.py ist unbedingt zu beachten das beim Beginn jeder neuen Zeile nach dieser

def callIncoming(call,service,call_from,call_to):

immer !! 2 Tabs voranzustellen sind ansonsten bricht der Interpreter ab.

(TAB)(TAB)zeitstr=time.strftime("%H:%M:%S")+" Anruf von "+call_from+" an "+call_to
(TAB)(TAB)zeitstr=string.replace(zeitstr,' ','%20')
(TAB)(TAB)adresspass="http://root:password@192.168.0.10/control/message?nmsg="+zeitstr
(TAB)(TAB)os.system("/usr/bin/wget -O /dev/null  %s &" % (adresspass))

Alternative mit isdnlog

Diese Variante ist mit SuSE 10.1 getestet, sollte aber auch mit älteren Versionen und anderen Linux Distributionen funktionieren. In die Datei /etc/isdn/callerid.conf bei eurer MSN folgendes eintragen:

[MSN]
NUMBER = 4711
ALIAS  = WasAuchImmer
START  = {
 [FLAG]
 FLAGS = I|R|U
 PROGRAM = /usr/bin/wget -O /dev/null http://*dboxIP*/control/message/?nmsg="Anruf von \$2"
 }

Bei NUMBER muß natürlich eure Telefonnummer rein. Statt *dboxIP* bitte die IP Adresse eurer dbox einsetzen. Das ganze bewirkt, daß bei jedem Anruf das Programm wget ausgeführt wird und über dass http Interface der Box eine Nachricht auf den Bildschirm schreibt. Mehr Informationen über verschiedene Möglichkeiten mit den Flags etc. geben die Manpages zu callerid.conf (Aufruf mit man callerid.conf).

Mit Asterisk

Dieser Artikel beschreibt, wie man die Rufnummer eines Anrufers auf dem Fernseher in einem PopUp oder einer MessageBox anzeigen kann.
Alle Beispiele beziehen sich auf Asterisk 1.2.1.


AGI Script

Das folgende Script im agi-bin Verzeichnis von Asterisk installieren. Unter Gentoo Linux wäre das:

/var/lib/asterisk/agi-bin


Anrufer als PopUp

Das PopUp wird automatisch nach wenigen Sekunden wieder ausgeblendet.
Vorgeschlagener Dateiname: dbox2popup.sh

 #!/bin/sh
 wget -O /dev/null http://192.168.36.91/control/message?popup=Anruf:%20$1 &
 exit 0


Anrufer als MessageBox

Die MessageBox muss mit der Fernbedienung bestätigt werden.
Vorgeschlagener Dateiname: dbox2msgbox.sh

 #!/bin/sh
 wget -O /dev/null http://192.168.36.91/control/message?nmsg=Anruf:%20$1 &
 exit 0


Eintrag in der extensions.conf

In der extensions.conf (standardmässig unter /etc/asterisk/extensions.conf) muss, im entsprechenden Kontext vor dem eigentlichen Wählen der Zielnebenstelle, das Script aufgerufen und die Nummer des Anrufers übergeben werden. Zum Beispiel:

exten => 1234,1,agi,dbox2popup.sh|${CALLERIDNUM}
exten => 1234,2,Dial(SIP/1234,20)


Mit einer Fritzbox

Mit dem wirklich genialen Pseudo-Firmware-Patch von the-construct.com (http://www.the-construct.com/) kann man auch seine Fritzbox (mit Option Fon) mit einem Pseudoupdate-Image dazu überreden alle eingehenden Anrufe auf der DBox2 im Display oder auf dem Schirm anzuzeigen. Es ist sogar ein Abgleich mit einer Nummernliste und eine Live-Rückwärtssuche möglich.

Die Installation ist sehr einfach über die Firmwareupdate-Funktion zu erledigen. Das Risiko die Fritzbox zu zerstören ist gering, da nur eine Konfigurationsdatei angepasst und ein Skript installiert wird.




'Persönliche Werkzeuge

PAGERANK-SERVICE