dtmfbox (AB/CB/CT VoIP/ISDN/Analog)

Nunja, es wäre ja nur die Zieladresse, die geändert werden müsste.

Der technische Hintergrund, warum ich das so mache, ist folgender:

Es kann sich jeweils nur ein Client bei einem SIP Provider anmelden. Entweder X-Lite, voipd oder die dtmf-box. Derjenige, der sich zuletzt anmeldet, gewinnt ;). Ich weiss jetzt nicht, ob das bei allen Providern so ist. Dazu kommt noch, das man so einen Client auch "direkt" anrufen kann (über dyndns).

Bei CAPI ist's etwas einfacher: da werden bereits alle angemeldeten Programme benachrichtigt und wer abnimmt, kriegt die NCCI.

Mit einem SIP-Proxy könnte man die Nachricht eventuell an den nächsten Hop weiterleiten, nur damit hab ich mich noch nicht auseinandergesetzt.
 
Also ich konnte mich bis dato problemlos via SIP mit einem Asterisk-Server als auch meiner FB problemlos parallel anmelden ;-) Mein Provider ist 1&1.
 
Melden sich der Asterisk Server und der voipd bei 1&1 an? Mehr Infos..

Asterisk ist schon umfangreich, aber auch Ressourcenfressend.

EDIT:
ok, hab mal was gelesen. Mehrfachanmeldung muss also vom Provider unterstützt werden. Na denne ...
Dann müsstest du das auch parallel betreiben können, ohne was zu ändern, wenn 1&1 das zulässt.

Ein Blick in den Source verrät mir aber, dass ich dafür noch eine Stelle ändern müsste ;)
 
Zuletzt bearbeitet:
Ja, sowohl die FB (also voipd) als auch Asterisk melden sich gleichzeitig an. Entsprechend "klingelt" es auch bei beiden, wenn ein Anruf reinkommt.
Also wenn der Parallelbetrieb mit dtmf-box funktioniert, sag mir bescheid und du erhälst von mir einen Testreport :)
 
Hallo!

Folgende Details sind mir noch etwas unklar:
1.) Was ist ein REALM? Bzw. was muss ich dort eintragen, wenn ich als Provider 1und1 habe?
2.) wenn die SIP Sachen durchgeschleift werden - warum muss ich dann nochmal alle Zugangsdaten in die dtmfbox.cfg eintragen? Würde nicht die Eintragung von voip_registrar und user reichen? Die restlichen Daten werden noch von der Fritzbox an die dtmfbox übermittelt oder nicht?
3.) ich erhalte immer die Meldung: Couldn't load shared library libspeex.so - File not found - Not a directory (20)
4.) kann ich mir die alaw Dateien irgendwie umwandeln auf der Box in VOIP konforme Daten und umgekehrt?
 
Zuletzt bearbeitet:
1. voip_realm ist die IP des Rechners. Wenn das die FB ist, dann z.B. 192.168.178.1.
Bei den accounts muss da die realm (domain) des providers hin. Bei 1&1 ist das 1und1.de

2. Nein. Die SIP-Passwörter werden an die dtmfbox md5-verschlüsselt übergeben.
Die dtmfbox verschlüsselt die eingetragenen Zugangsdaten und vergleicht diese mit den empfangenen Daten. Zudem kommen noch ein paar Parameter mehr dazu, welche verschlüsselt werden müssen. Ist das ähnliche Prinzip wie beim Linux-Login. Brute-Force dauert zu lange ;)

3. Wobei? Den speex-codec hab nicht mitkompiliert und pjsip dürfte sich nicht beschweren. Das muss wahrscheinlich eine Meldung vom voipd sein.

4. Beim VoIP werden ganz normale .wav Dateien verwendet (8-22 khz, 16bit, Mono). Bei ISDN .alaw (8khz, 8bit, mono). In Zukunft wird's aber nur ein Format geben. Im Moment sind es noch zwei unterschiedliche.
Im Anrufbeantworter-Thread (capircvd) gibts isdn2wav und wav2isdn. Damit könnte man zwischen Wave und Alaw umwandeln.
 
Zuletzt bearbeitet:
OK danke für die Antworten.

Ich habe folgende Probleme noch:
1.) ich bekomme oft die Meldung: voip_ctrl.c ERR: SIP registration failed (1und1.de), status=8!
- dennoch reagiert dtmfbox auf viop Anrufe über 1und1... ??

2.) Kann ich die dtmfbox nun an eine interne Nummer binden? (interne Nummer o.ä. so dass die Box quasi auf eine Sonderrufnummer reagiert z.B. **51 oder einfach nur 52 oder so?)
 
dtmfbox v0.3.1 -beta-

So, ein kleines Update. Hab ein Skript geschrieben, welches die Installation und Konfiguration vereinfachen sollte.

Man kann die dtmfbox auf USB installieren, bzw. auch per wget downloaden (bei jedem Neustart der FB):

Installation:
Code:
1.) [I]Telnet aktivieren (#96*7* = telnetd an, #96*8* = telnetd aus)[/I]
2.) [I]per Telnet auf die Box[/I]
3.) cd /var
4.) wget [url]http://fritz.v3v.de/dtmfbox-0.3.1/dtmfbox-setup.sh[/url]
5.) chmod +x dtmfbox-setup.sh
6.) ./dtmfbox-setup.sh setup
7.) [I]Konfiguration  (Es wird die VoIP/CAPI Einstellung abgefragt, MSN/Accounts und der AB konfiguriert).[/I]
8.) ./dtmfbox-start.sh

Danach wird der ganze Kram für die Konfig abgefragt. Zudem wird standardmäßig ein Anrufbeantworter-Skript mitinstalliert.
Kleiner Tip: falls man sich mal verschreibt, CTRL+W drücken.

Am Ende kommt eine dtmfbox-start.sh heraus. Diese beinhaltet die komplette Konfiguration.
Man könnte diese nachträglich mit 'vi' bearbeiten um Änderungen vorzunehmen (damit erspart man sich die Neueingabe).

Bei der wget Installation müsste man den Inhalt der dtmfbox-start.sh in die debug.cfg übernehmen (wobei ihr nicht vergessen solltet, dass das hier immer noch ne Beta ist ;)). Wenn diese ausgeführt wird, befindet sich die dtmfbox unter /var/dtmfbox-0.3.1

Bei der USB Installation reicht der einmalige Aufruf der dtmfbox-start.sh. Danach befindet sich die dtmfbox im dem Pfad, welcher bei der Konfiguration angegeben wurde.

Änderungen v0.3.1:
  • Arbeitet nun als SIP-Client und/oder SIP-Registrar
  • Abspielen und Aufnehmen per Wave bei VoIP und CAPI (ein Format für beide, Alaw geht auch aber nur CAPI)
  • Bugfix an voip_ctrl.c, bzgl. 'voip_ctrl.c ERR: SIP registration failed..'. Hoffe, dass der nun nicht mehr kommt.
  • Installer-Skript
  • AB-Skript:
    Einstellungen:
    - Abhebezeit (Ringtime)
    - Aufnahmezeit
    - Ansage (Start- und Endeansage)
    - Versand der Nachrichten per eMail (direkt als Wave-Datei, mit Datum/Uhrzeit/Von/An)
    - Einloggen per DTMF-PIN und abspielen der Nachrichten von Heute

ToDo:
- Jede Menge ;)
 
Zuletzt bearbeitet:
Setup dtmfbox v0.3.1...

./dtmfbox-setup.sh: ./dtmfbox-setup.sh: 678: printf: not found

Fehlt mir irgendeine Vorraussetzung auf meiner 7150? wenn ich diese Fehlermeldung mit Enter bestätige füllt er mir den Screen immer wieder mit dieser Zeile. Hab dann mit Strg+C abgebrochen. Die Setupdatei liegt im gleichen Verzeichnis wie der Rest der dtmfbox0.3.0

# ls
admin.sh dtmf.sh dtmfbox-start.sh
beep.711 dtmfbox dtmfbox.cfg
beep.wav dtmfbox-setup.sh readme.txt
#



 
oh.. du hast anscheinend den printf befehl nicht. Ich änder das gleich mal alles in echo.

EDIT:
ok, geändert.

Code:
wget http://fritz.v3v.de/dtmfbox-0.3.1/dtmfbox-setup.sh
chmod +x dtmfbox-setup.sh
./dtmfbox-setup.sh setup
 
Zuletzt bearbeitet:
Also die Anrufbeantowrterfunktion klingt wirklich sehr interessant, zumal die neue Labor-Firmware von AVM für die 7170 in diesem Punkt etwas enttäuschend ist (keine einzelnen Ansagen für unterschiedliche Rufnummern, keine eMail-Benachrichtigung, etc.).

Mein Problem ist nur: Ich bin gegenwärtig (wie möglicherweise auch einige andere FritzBox-User) in diesen Skript-Dingen noch nicht besonders weit vorgedrungen. Kann jemand ggf. mal in kurzen Schritten erläutern, wie man das Ding konfigurieren bzw. die Konfigurationsdatei editieren kann (um die Einstellungen für Ansagen, MSN, etc. vorzunehmen) und dann "in die FritzBox" bzw. auf den angehängten USB-Stick tranferriert und startet? Zusammen mit einer solchen Kurzanleitung könnte man das ganze dann vielleicht als echte Anrufbeantworterlösung zur Verfügung stellen und dieser Form auch weiter entwickeln.

Many thanx!

Gruß

FantasticN
 
Hallo,

die AVM Lösung wollte ich mir auch mal anschauen. Aber dafür bräuchte ich erstmal eine Labor-Firmware... funktioniert damit auch ISDN?

Die Installation geht so wie in #108 beschrieben. Das Skript macht die Konfiguration automatisch.

Man kann wählen zwischen USB, bzw. wget (Download). Nach dem Setup gibt es eine dtmfbox-start.sh. Die einfach starten per ./dtmfbox-start.sh (hier drin ist die ganze Konfig)...

Die dtmfbox installiert sich unter /var/dtmfbox-0.3.1. Dort ist auch das AB-Skript, etc.

Der AB funktioniert über Shellskript. Man könnte dieses beliebig anpassen. Der AB müsste noch etwas verbessert werden. Aber funktionieren tut er schonmal.
 
Äh, ja. wget usw. Ich hatte das schon gelesen. Nun ja, also ich werde es dann nachher mal versuchen. Soweit ich das richtig sehe, muss ich dazu irgendwie eine "Telnet-Verbindung" aktivieren und den kram dort eintippen, richtig? Aber so ganz habe ich es noch nicht verstanden. Wie gesagt: Ich habe mich damit bislang noch nie beschäftigt. Ich versuch dann mal "learning by doing". Werden die aufgenommen Anrufe in der Box oder auf dem USB-Stick eigentlich gespeichert oder nur weiter geleitet?

Zum Thema neue Firmware: Diese gibt´s mittlerweile offiziell auf der Labor-Webseite. ISDN und VoIP-Anrufe werden wohl angenommen. Einzelansagen sind übrigens doch möglich, aber eben keine eMail-Weiterleitung. Und damit ist für mich die vorliegende Lösung deutlich interessanter. Seit dem Firmware-Update habe ich übrigens gelegentliche Verbindungsabbrüche bei ankommenden Anrufen (nicht bei ausgehenden). Muss ich noch beobachten. Ggf. schmeiß ich diese Firmware wieder runter, wenn ich das mit Deinem Skript hinbekomme.

Gruß

FantasticN
 
Genau,

1. Telnet aktivieren
2. per Telnet auf die Box
3. cd /var
4. wget http://fritz.v3v.de/dtmfbox-0.3.1/dtmfbox-setup.sh
5. chmod +x dtmfbox-setup.sh
6. ./dtmfbox-setup.sh setup
7. Konfigurieren (Menü)
8. ./dtmfbox-start.sh

So sollte es klappen.

Anrufe können auf einem USB Stick abgelegt werden, bzw. nach Mailversand gelöscht werden. Das wird alles bei der Konfiguration abgefragt.

Bei der wget Version, wird das ganze unter /var/dtmfbox-0.3.1 installiert.
Bei der usb Version, kann man das Verzeichnis selbst auswählen.
 
Zuletzt bearbeitet:
Many thanx für die Tipps. Unter Vista muss ich dafür erst noch den Telnet-Client installieren (der ist wohl standardmäßig abgeschaltet). Werde es dann jetzt gleich mal probieren. Vorher schmeiß ich aber noch die neue Labor-Firmware von AVM runter.

Noch vier kleine Frage:

1. Lässt sich die Konfiguration (z.B. anderen Ansagen, andere MSN) einfach dadurch ändern, dass man das Skript erneut ausführt wie bei der Ersteinrichtung?

2. Wie deaktiviert man den Anrufbeantworter am leichtesten/schnellsten (um ihn auch wieder schnell aktivieren zu können)?

3. Wie deinstalliert man theoretisch das ganze wieder ?

4. Bleibt das ganze nach einem Firmware-Update lauffähig oder muss man es neu einrichten?

Gruß

FantasticN

Edit: Ich erhalte nach dem wget-Befehl immer "Read only file system". Woran liegt das?
 
Zuletzt bearbeitet:
1. Ja. Noch einfacher geht es, wenn man die bereits bestehende 'dtmfbox-setup.sh' ändert. Da sind alle Einstellungen drin. Die Einstellungen dürften erkennbar sein.
Bei wget wird eine URL angegeben, von der die Ansage runtergeladen werden soll.
Bei der USB-Installation kann man die Dateien im Unterverzeichnis /play austauschen.

2. Da arbeite ich momentan dran. Am schnellsten geht das so:
Unter /script befindet sich die Datei 'script_main.sh'. Einfach umbenennen (mv script_main.sh script_main.sh.1) und der AB geht nicht mehr dran.

3. Wenn man bei der Konfiguration 'wget' angibt, installiert sich das Programm unter /var/dtmfbox-0.3.1.
Wenn man 'usb' angibt, kann man den Pfad selbst bestimmen.

4. Ein Firmwareupdate überscheibt die wget-Version. Bei einem Neustart sind die Dinge auch weg. Man kann den Inhalt der 'dtmfbox-start.sh' in die debug.cfg übernehmen. Damit würde sie bei einem Reboot erhalten bleiben.

5. nur das Verzeichnis /var ist beschreibbar! Also dahin wechseln...

EDIT:
Das AB-Skript ist zwar schon lauffähig, könnte aber noch einige Features mehr mitbringen. Da wird auf jedenfall in nächster Zeit noch was kommen (z.B. das An/Ausschalten per DTMF oder WebIF).
 
Zuletzt bearbeitet:
Hallo Marco,

nochmals danke für die Tipps und Antworten. Ich komme der Sache insgesamt schon "näher". Mittlerweile habe ich die Konfiguration durch (wobei ich sagen muss, dass ich mit einigen Punkten definitiv nichts anzufangen wusste). Ich habe dann schließlich meine ganzen MSN angelegt (Festnetz und VoiP). Nach dem Eintippen der Schlusszeile "./dtmfbox-start.sh" erhalte ich aber als Meldung "dtmfbox not found".

Tja, ich nehme mal an, dass dann bei der Konfiguration irgendetwas schiefgelaufen ist.

Anbei füge ich mal den ersten Anlauf einer Step-by-Step-Anleitung, wie sie vielleicht entstehen könnte, damit der Anrufbeantworter auch von Telnet-Neulingen wie mir eingerichtet und benutzt werden könnte. Ich habe bislang das reingeschrieben, was ich dank Deines Inputs erfahren bzw. rausgefunden habe. Damit handelt es sich aber momentan noch um einen echten Lückentext. Vielleicht kannst Du ja noch einiges ergänzen und somit eine brauchbare Anleitung zu Deinem Skript beifügen.

Gruß

FantasticN

Edit: Mir kam gerade noch eine Idee. Die neue Labor-Firmware (jetzt übrigens 6537) bietet ja schon eine Menge Anrufbeantworter-Features - und diese sowohl Speicherresistent als auch einigermaßen komfortabel konfigurierbar. Könnte man jetzt nicht einfach "nur" ein Skript basteln, dass die eingegangenen Nachrichten per eMail "pushed" und dann auf der Box löscht? Denn genau dieses Feature fehlt der Firmware.
 

Anhänge

  • anleitung.txt
    1.7 KB · Aufrufe: 81
Zuletzt bearbeitet:
dtmfbox not found :confused: - mhh.. das sollte eigentlich nicht passieren.
Hast du die USB-Installation oder wget-Installation verwendet (bzw. wie sieht deine dtmfbox-start.sh aus? Entferne aber vorher die Passwörter/Usernamen/Telefonnummern)

Bzgl. der Einstellungen:
Die ist momentan noch etwas überladen. Ich frage da "fast" alles ab. Man könnte einiges weglassen, bzw. im Menü einen Hinweis ausgeben. Vieles wird aber als [default] vorgeschlagen und kann mit ENTER übernommen werden.

Edit:
Bzgl. des AVMs-AB's kann ich momentan nichts sagen.
Die dtmfbox sollte ursprünglich nicht als AB dienen. Wollte eigentlich eine Möglichkeit haben, DTMF Signale an ein Skript zu übergeben (um z.B. den Rechner über WOL zu starten). Der AB ergab sich von allein. Das schöne daran ist, dass man Anpassungen an Skripts machen kann, um die Funktionalität des AB's zu ändern. Er ist also nicht "starr".
 
Zuletzt bearbeitet:
Also ich habe auch die Meldung "dtmfbox not found" bekommen. Habe nach "Assistent" die usb installation durchgeführt. Ordner wurde auch erstellt und im Ordner befindet sich die Datei "dtmfbox". Sie hat auch die richtige größe und wenn ich sie testweise direkt ausführen will wird folgendes angezeigt:

./dtmfbox: can't resolve symbol '__uClibc_start_main'
 
Mhh..

bei dem "dtmfbox not found" vermute ich mal, dass die PATH= Variable im Skript nicht gesetzt werden kann. Bei mir geht das komischerweise. Das werde ich ändern.

__uClibc_start_main, kommt mir bekannt vor. Ich hatte die Toolchain für 2.6 verwendet. Was mich wundert ist, dass die Binary vom 2.6er etwas kleiner ist (ich konnte sie nicht testen). Wahrscheinlich hab ich vergessen, etwas statisch zu linken. Ich guck gleich mal.

EDIT:
mipsel-linux-ld: warning: cannot find entry symbol __start; defaulting to 0000000000409e70

@Mediaman2000:
du hast auch sicher 26 verwendet?

@all:
hab das Problem mit "dtmfbox not found" erstmal beseitigt (hoffe ich). Kann jemand eventuell zu dem __uClibc_start_main was sagen?

EDIT2:
hab jetzt mal die v2.6 komplett neu kompiliert. Etwas andere Compiling-Settings.
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.