- Mitglied seit
- 6 Jun 2006
- Beiträge
- 1,980
- Punkte für Reaktionen
- 7
- Punkte
- 0
Ab v0.5 ist die Rückwärtssuche für ISDN-Telefone fest im Webinterface integriert. Es ist das selbe Prinzip, jedoch ist die Konfiguration einfacher geworden. In der Hilfe, unter Skripteinstellungen / Rückwärtssuche ist dazu alles erklärt.
Alt:
Vorwort
Vorbereitung ISDN-Telefone (Basis)
Benutzerdefiniertes Skript
Rückwärtssuche
Sonstiges
Was könnte man sonst noch realisieren?
Hinweise zur Standalone/Download Version
Wie immer: ohne Gewährleistung, Verwendung auf eigene Gefahr!
Have phun'
Alt:
Vorwort
Mit dtmfbox v0.4.1_rc4 wird das Addon isdn_mod.sh mitgeliefert, welches sich im Verzeichnis /var/dtmfbox/script/addons befindet.
Damit hat man die Möglichkeit Gespräche vom externen S0 an den internen S0 weiterzuleiten.
Die dtmfbox reicht die Verbindung weiter und man kann so eine Rückwärtssuche durchführen und das Ergebnis am ISDN-Telefon anzeigen (Display-Message).
Eine Rückwärtssuche über eine Kontakt-Datei und dasOertliche.de sind bereits implementiert. Die Rückwärtssuche kann zudem um eine eigene benutzerdefinierte Suche ergänzt werden.
Damit hat man die Möglichkeit Gespräche vom externen S0 an den internen S0 weiterzuleiten.
Die dtmfbox reicht die Verbindung weiter und man kann so eine Rückwärtssuche durchführen und das Ergebnis am ISDN-Telefon anzeigen (Display-Message).
Eine Rückwärtssuche über eine Kontakt-Datei und dasOertliche.de sind bereits implementiert. Die Rückwärtssuche kann zudem um eine eigene benutzerdefinierte Suche ergänzt werden.
Vorbereitung ISDN-Telefone (Basis)
Sagen wir, dass es drei Nummern gibt: 11111, 22222 und 33333. Für MSN "11111" und "22222" möchten wir das Addon einbinden.
Dazu tragen wir am Telefon als Empfangs-MSN eine Pseudo-MSN ein:
MSN "11111" bekommt die "601",
MSN "22222" bekommt die "602".
Euer Telefon reagiert nun nicht mehr, wenn von Extern ein Anruf eingeht. Hier kommt das benutzerdefinierte Skript ins Spiel:
Dazu tragen wir am Telefon als Empfangs-MSN eine Pseudo-MSN ein:
MSN "11111" bekommt die "601",
MSN "22222" bekommt die "602".
Euer Telefon reagiert nun nicht mehr, wenn von Extern ein Anruf eingeht. Hier kommt das benutzerdefinierte Skript ins Spiel:
Benutzerdefiniertes Skript
Damit der Anruf wieder signalisiert wird, muss dem Addon mitgeteilt werden welche Nummern weitergereicht werden sollen. Voraussetzung dafür ist, dass MSN "11111" und "22222" als CAPI-Account im WebIf hinterlegt wurden. Das Addon wird folgendermaßen aufgerufen:
In unserem Beispiel sähe es so aus:
<SENDE-MSN> und <AVM-WEBIF PASSWORT> habe ich erstmal weggelassen. Dazu unten mehr.
Code:
. ./script/addons/isdn_mod.sh [I]<ACCOUNT-ID> <REAL-MSN> <EMPFANGS-MSN> <SENDE-MSN> <AVM-WEBIF PASSWORT>[/I]
if [ "$?" = "1" ]; then return 1; fi
In unserem Beispiel sähe es so aus:
Code:
#!/bin/sh
# MSN "11111" ist als 1. Account eingerichtet
. ./script/addons/isdn_mod.sh "1" "11111" "601"
if [ "$?" = "1" ]; then return 1; fi
# MSN "22222" ist als 2. Account eingerichtet
. ./script/addons/isdn_mod.sh "2" "22222" "602"
if [ "$?" = "1" ]; then return 1; fi
Rückwärtssuche
Zunächst wird geschaut, ob ein Eintrag in /var/dtmfbox/phonebook.txt gefunden werden kann. Wurde kein Eintrag gefunden, wird ein Userskript-Event ausgelöst ($SCRIPT="INVERS"). Hier kann man seine eigene Rückwärtssuche durchführen und das Ergebnis mit "echo" ausgeben. Wurde kein Eintrag ausgeben, wird eine Online-Rückwärtssuche durchgeführt.
Die Datei phonebook.txt hat folgendes Format:
Das Userskript für die Rückwärtssuche könnte so aussehen:
Die Datei phonebook.txt hat folgendes Format:
Code:
nummer|display-text
03012345|Ein Eintrag
021154321|Weiterer Eintrag
...
Das Userskript für die Rückwärtssuche könnte so aussehen:
Code:
#!/bin/sh
[COLOR="Red"]if [ "$SCRIPT" = "INVERS" ];
then
if [ "$DST_NO" = "03012345" ]; then echo "Ein Eintrag"; fi
if [ "$DST_NO" = "021154321" ]; then echo "Weiterer Eintrag"; fi
return 1;
fi[/COLOR]
# MSN "11111" ist als 1. Account eingerichtet
. ./script/addons/isdn_mod.sh "1" "11111" "601"
if [ "$?" = "1" ]; then return 1; fi
...
Sonstiges
Man kann anstatt der Empfangs-MSN auch eine SIP-Uri angeben:
Der Anruf wird dabei mittels SIP an den voipd weitergereicht. Voraussetzung dafür ist, dass man im AVM-WebIf einen Internettelefonie-Account angelegt hat, ohne Registrierungsdaten. In dem Fall wäre es die Internetrufnummer: 601, Registrar: localhost, Rest: <leer lassen>.
Das AVM-Webinterface Passwort wird ebenfalls übergeben, damit ein Telefonbucheintrag geschrieben werden kann (es wird der erste TB-Eintrag überschrieben!).
Möchte man auch die Sende-MSN über die dtmfbox steuern, kann man ebenfalls eine <SENDE-MSN> angeben.
Unter den Verbindungseinstellungen muss CAPI-Ctrl. 5 hinterlegt sein, da über diesen Controller das ausgehende Gespräch erkannt wird. Wie auch bei der Empfangs-Uri, muss die Pseudo-MSN als Internettelefonie-Account im AVM-Webif eingerichtet sein. Wenn es z.B. der dritte Internettelefonie-Account wäre, würde der Aufruf folgendermaßen aussehen:
In der dtmfbox legt man einen zusätzlichen CAPI-Account an, mit der MSN: "2\#601" und dem ausgehenden CAPI-Ctrl. 5.
Code:
# MSN "11111" ist als 1. Account eingerichtet
. ./script/addons/isdn_mod.sh "1" "11111" "601@localhost" "" "avm-webif-pass"
if [ "$?" = "1" ]; then return 1; fi
Das AVM-Webinterface Passwort wird ebenfalls übergeben, damit ein Telefonbucheintrag geschrieben werden kann (es wird der erste TB-Eintrag überschrieben!).
Möchte man auch die Sende-MSN über die dtmfbox steuern, kann man ebenfalls eine <SENDE-MSN> angeben.
Unter den Verbindungseinstellungen muss CAPI-Ctrl. 5 hinterlegt sein, da über diesen Controller das ausgehende Gespräch erkannt wird. Wie auch bei der Empfangs-Uri, muss die Pseudo-MSN als Internettelefonie-Account im AVM-Webif eingerichtet sein. Wenn es z.B. der dritte Internettelefonie-Account wäre, würde der Aufruf folgendermaßen aussehen:
Code:
# MSN "11111" ist als 1. Account eingerichtet
# 601 ist als 3. Internettelefonie-Account eingerichtet (0#-8#)
. ./script/addons/isdn_mod.sh "1" "11111" "601" "2#601"
if [ "$?" = "1" ]; then return 1; fi
Was könnte man sonst noch realisieren?
- VoIP-Gespräche komplett über dtmfbox führen (ohne voipd)
- Telefon-Rekorder
- MOH
- Konferenzen mit mehr als 2 Gesprächspartnern
- ...
Hinweise zur Standalone/Download Version
Da bei dieser Version das benutzerdefinierte Skript nach einem Reboot nicht mehr vorhanden ist, muss man sich etwas überlegen. Der einfachste Weg wäre, das Skript /var/dtmfbox/script/dtmfbox_userscript.sh "On-The-Fly" über die /var/flash/debug.cfg zu erstellen.
Wie immer: ohne Gewährleistung, Verwendung auf eigene Gefahr!
Have phun'
Zuletzt bearbeitet: