Telefonanrufe anzeigen

Aus TuxBoxWIKI
Version vom 16. März 2006, 23:52 Uhr von Sat Man (Diskussion)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


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

Für Linux habe ich das incoming.py Script von Capisuite 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))


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 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.