Fritz!Box Anrufbeantworter Encoder / Decoder

Danke, Bodega für post #70 und den decoder - genau was ich gesucht habe!

/Peter
 
Hallo.
Kennt jemand, wo die Standardansage gleich in der FW steckt?,
damit die "eigene" auch nach dem Zurücksetzen der FB dabei bleibt.
( 7170, .88 )
 
Zuletzt bearbeitet:
Hallo zusammen,

ich möchte gerne die Rec-Dateien meiner Fritzbox (7490 OS: 6.60) dekodieren. Dazu habe ich den SourceCode auf meinem Raspberry Pi kompiliert. Das klappte soweit auch alles. Wenn ich nun aber tatsächlich dekodieren möchte erhalte ich immer folgende Meldungen:

Decoding overflow: corrupted stream?
notification: More than two wideband layers found. The stream is corrupted.
Decoding error: corrupted stream?

Kann damit einer was anfangen?

Danke und LGe
Niels
 
Danke nochmal für den geilen sourcecode, läuft auch heute immer noch perfekt mit 7490.
 
ebenfalls vielen Dank bodega für den decoder, genau das, was ich gesucht habe!

Clark
 
Ich schände ungern Leichen, aber es passt hier einfach rein. Der decoder funktioniert eindwandfrei, danke dafür. Mich würde allerdings interessieren, wo AVM den Standardansagetext liegen hat.
Unter /data/tam und dem USB Stick liegt jeweils nur die "eigene" Ansage. Mit einem find fand ich leider auch keine andere .000 File.

Vielleicht weiß es durch Zufall jemand und kann mir weiterhelfen. Danke! :)
 
Moinsen


In einer 7590 zeigen alle Links auf: /usr/share/tam/msg/default/de
( nur lesbar )
 
Moin
Da habe ich zwar Unmengen rvp und syl files, kann aber keine davon decodieren. :-/

notification: More than two wideband layers found. The stream is corrupted.
 
Danke für speexdec aus Beitrag #70, funktioniert bei mir auch unter Win10 einwandfrei.
ich bräuchte allerdings eine Lösung für den Raspberry Pi, also eine kompilierte Version von speexdec für Raspbian/Symbian.
Hat jemand dafür vielleicht eine Lösung ?

Gruß H.
 
Moinsen


Dann die *.src.* auf Pi compilieren.

Vorbereitung, wenn noch nicht erfolgt...

Kommandos zum entpacken, konfigurieren und kompilieren...
( Das kann als normaler Benutzer erfolgen ( also nicht als root ) )
Rich (BBCode):
# Entpacken...
bzip2 -d speex-1.2beta3-fritzboxtam-beta1-src.tar.bz2
tar xvf speex-1.2beta3-fritzboxtam-beta1-src.tar
# Konfigurieren
cd speex-1.2beta3-fritzboxtam-beta1/
./configure
# ^--> Läuft hoffentlich fehlerfrei durch bei dir
# Kompilieren
make
Wenn Obiges fehlerfrei durchlief, was es auf meinen Raspberry tut, dann befinden sich speexdec und speexenc im Verzeichnis src.
Einfach ohne Argumente aufrufen für Optionen...
Code:
cd src
./speexdec

NOTICE: This is a modified version of speexdec which doesn't use the ogg container format,
but a more simple format used by the AVM Fritz!Box TAM.
It's still incomplete and might not work for files created by the Fritz!Box.

Usage: speexdec-fb [options] input_file.spx [output_file]

Decodes a Speex file and produce a WAV file or raw file

input_file can be:
  filename.spx         regular Speex file
  -                    stdin

output_file can be:
  filename.wav         Wav file
  filename.*           Raw PCM file (any extension other that .wav)
  -                    stdout
  (nothing)            Will be played to soundcard

Options:
--enh                 Enable perceptual enhancement (default)
--no-enh              Disable perceptual enhancement
--force-nb            Force decoding in narrowband
--force-wb            Force decoding in wideband
--force-uwb           Force decoding in ultra-wideband
--mono                Force decoding in mono
--stereo              Force decoding in stereo
--rate n              Force decoding at sampling rate n Hz
--packet-loss n       Simulate n % random packet loss
-V                    Verbose mode (show bit-rate)
-h, --help            This help
-v, --version         Version information
--pf                  Deprecated, use --enh instead
--no-pf               Deprecated, use --no-enh instead

More information is available from the Speex site: http://www.speex.org

Please report bugs to the mailing list `[email protected]'
 
Zuletzt bearbeitet:
Guten Morgen,

seit dem Update auf das neuste FRITZ!OS 8.00 lassen sich die rec*-Dateien leider nicht mehr mit dem schon in die Jahre gekommenen Speex-Decoder zu PCM WAVE-Dateien umwandeln. :(
Ich bin zu 99% sicher, dass es mit der Umstellung auf HD-Audioaufzeichnung beim Anrufbeantworter zu tun hat - siehe:
[Punkt Telefonie: Verbesserung Aufzeichnungen auf dem Anrufbeantworter haben eine höhere Sprachqualität (HD-Audio)]

Leider fehlt mir das Wissen, wie man den aktuellen Speex-Decoder (https://www.speex.org/downloads/) so anpasst, dass er auch die neuen "HD"-Audiodateien wieder decodieren kann. Meine Vermutung ist, dass lediglich die Größe der Audioframes sich geändert hat, da nun mit höherer Abtastrate aufgezeichnet wird.

Sofern hier nach all den Jahren noch jemand der Experten mitliest, würde mich eine kurze Rückmeldung freuen.
Ich habe mir 2010 ein kleines Java-Programm geschrieben, das vollautomatisch sämtliches Anrufbeantworter-Dateien via FTP von der FRITZ!Box herunterlädt und mit dem jeweiligen (formatierten) Datum als Dateiname inkl. korrektem Änderungsdatums-Zeitstempel versieht:

1735550971682.png

Damit ist die Sicherung von Anrufbeantworter-Nachrichten sehr komfortabel gewesen und ich würde diesen Workflow nur ungern aufgeben...
Sofern jemand eine angepasste Speex-Decoderversion bereitstellt, mit der auch die neuen rec*-Dateien wieder zu WAVE decodiert werden können, stelle ich im Gegenzug den Sourcecode meines "automatischen Download- und Speichertools" zur Verfügung. :)

Im Anhang befindet sich eine Test-Datei, die ich soeben über meine FRITZ!Box 7530 mit OS-Version 8.00 aufgenommen habe.
Beim Versuch, diese mit der bekannten speexdec-fb nach WAVE zu konvertieren, erhalte ich folgenden Output auf der Konsole (unter Windows, was jedoch höchstwahrscheinlich keine Rolle spielt, da es mit älteren rec-Dateien auf der gleichen Maschine problemlos funktioniert):

1735551484801.png

Der "narrowband mode" ist vermutlich das Problem, da ja nun in HD-Qualität (= wideband ?) aufgezeichnet wird...
 

Anhänge

Zuletzt bearbeitet:
  • Like
Reaktionen: JensOsterwohldt
bevor ich speex benutzt habe (was aktuell mit dem neuen Firmware der FritzBox auch nicht mehr funktioniert), hatte ich folgendes script in Verwendung.
Das hat mit die Wav-Datei in einen Ordner bei Iobroker gespeichert und anschließend wurde es per Telegram mit zugesendet.



ich kann nicht mal mehr sagen, wo ich das Script im Netz gefunden habe. Bringt aber aktuell auch nur noch Müll raus. Vielleicht müsste das Script an irgendeiner Stelle angepasst werden, damit es wieder funktioniert. Lade ich Nachrricht vom AB direkt über die Gui runter, funktioniert das ganze.
Wenn man das Script zum laufen bekäme, wäre das vielleicht eine Möglichkeit, bevor Speex jemand wieder zum laufen bringt. Selbst die KI konnte mir in diesem Fall nicht mit ihren Lösungsvorschlägen helfen.
 

Anhänge

Das Skript sieht für mich nach einem "Auto-Downloader" für das FRITZ!Box-Webinterface aus, der jedoch tieferes Wissen bezüglich des Aufbaus der einzelnen HTTP-Abfragen innerhalb der FRITZ!Box-Weboberfläche voraussetzt.
Hierzu gibt es meines Wissens nach leider ebenfalls keine öffentliche tiefergehende Dokumentation seitens AVM, da das Webinterface der FRITZ!Boxen logischerweise nicht als "API" gilt.
Somit wird es vermutlich nicht viel einfacher sein, das Skript auf dem neusten FRITZ!OS 8.00 wieder zum Laufen zu bekommen, als den Speex-Decoder erneut so zu patchen, dass er die neue "HD-Audio" Streams konvertieren kann...
Beides setzt eine gewisse Erfahrung im Bereich Reverse Engineering voraus - das Eine bezüglich Datenformaten, das Andere im Umfeld Webentwicklung.
Dummerweise verfüge ich in beiden Bereichen nicht über ausreichend Wissen, sodass ich lediglich hoffen kann, dass sich noch jemand aus der "alten Garde" findet, die damals den Speex-Decoder gepatcht haben.
 
Da ich vom OS8 Update betroffen bin aber dringend wav Dateien für meine Automatisierungen brauche habe ich für Linux ein Script geschrieben das per curl über lua Anrufbeantworter Nachrichten als wav dateien herunterladen kann

Beispiel:
download_voicemail_de.sh ### ausgabe.wav
wobei ### der Nummer im rec ordner entspricht.

(vorausgesetzt der pfad ist per smb gemountet) kann man z.b. mit dem befehl
ls -t /pfad/zum/mount/zur/fritzbox/rec.* | head -n1 | awk -F '.' '{printf "%s", $NF}'
die "id" der letzten Nachricht erhalten

hier als oneliner der die aktuellste nachricht in das aktuelle verzeichnis schreibt (vorausgesetzt das script ist in diesem pfad)

id=$(ls -t /pfad/zum/mount/zur/fritzbox/rec.* | head -n1 | awk -F '.' '{printf "%s", $NF}');./download_voicemail_de.sh $id $id.wav

Da ich vorhabe es noch zu verfeinern und ich vermeiden möchte das hier irgendwann nur noch eine vielleicht nicht mehr funktionierende Version herumliegt füge ich zu dem Anhang noch ein Github Repo hinzu

(z.B. würde ich gerne direkt über das Webinterface eine Liste der Anrufbeantworternachrichten erhalten - aber AVM scheint hier nichts über TR-64 zu liefern und zum Scraping habe ich noch keine Zeit gehabt)


Github


Edit: ich habe ebenfalls versucht speexdec-fb zu patchen für OS8 hatte damit aber bisher auch keinen Erfolg (und die Motivation ist jetzt eher gering wenn der Downloader funktioniert)
 

Anhänge

Zuletzt bearbeitet:
  • Like
Reaktionen: chrsto
Danke @marcgeek: Das sind ja hochinteressanter Neuigkeiten!

Das Skript sieht aus meiner Sicht sehr gut aus und ich werde spätestens in meinem Urlaub über Ostern einmal versuchen, es auf meinem Raspberry Pi (der ja für die Hausautomation ohnehin läuft) zum Laufen zu bekommen.
hier als onliner ...
Darüber bin ich kurz gestolpert.
Es ist wohl ein one-liner (also Einzeiler / eine Zeile Code) gemeint und nicht etwas, dass man online ausführen muss...

Idealerweise würde man es noch so erweitern, dass es sinnvolle (also das ursprüngliche Datum enthaltende) Dateinamen ausspuckt, damit man dieses aus meiner Sicht wertvolle Metadatum im Zuge des Downloads nicht verliert.

Wirklich optimal wäre es, wenn man auch noch (optional?) den Namen (sofern im FRTIZ!Box Telefonbuch vorhanden) und die Telefonnummer des Anrufenden mit in den Dateinamen packen könnte.
Dann hätte man schon eine fast professionelle "Archivierungslösung" für Anrufbeantworter-Nachrichten... ;)
 
Es ist wohl ein one-liner (also Einzeiler / eine Zeile Code) gemeint und nicht etwas, dass man online ausführen muss...
Typo korrigiert ;)

Idealerweise würde man es noch so erweitern, dass es sinnvolle (also das ursprüngliche Datum enthaltende) Dateinamen ausspuckt, damit man dieses aus meiner Sicht wertvolle Metadatum im Zuge des Downloads nicht verliert.

Wirklich optimal wäre es, wenn man auch noch (optional?) den Namen (sofern im FRTIZ!Box Telefonbuch vorhanden) und die Telefonnummer des Anrufenden mit in den Dateinamen packen könnte.
Das würde ich tatsächlich gerne noch umsetzen - aber ich müsste mich noch in die tr-64 geschichte einarbeiten

In erster Linie ging es mir darum einen einfachen Befehl zu haben mit dem ich mir ganz einfach wav (bzw verarbeitbare) dateien holen kann (die metadaten habe ich in diesem Kontext schon anderweitig) (Ich verarbeite die wav dateien mit speech-to-text und erstelle mir daraus (und den metadaten) Kalendereinträge in einer Nextcloud)

Featureidee: Bzgl. Archivierung kann man auch implementieren die dateien in mp3 oder besser ogg (oder jedes beliebige format) zu encodieren um platz zu sparen.

Zum Hintergrund: Das ist jetzt mit ziehmlich heisser Nadel über Nacht gestrickt. Es ist für mich schwer da Zeit und Muße für zu finden aber ich bleibe dran:) Da ich das alles selbst in meinen Systemen benötige werde ich es auf absehbare Zeit auch aktualisieren falls etwas geändert wird
 
Zuletzt bearbeitet:
Verstehe ich da die "Aufgabenstellung" falsch oder warum sollte das über das X_AVM-DE_TAM-Interface (https://fritz.com/fileadmin/user_upload/Global/Service/Schnittstellen/x_tam.pdf) nicht möglich sein?
Ich habe es wirklich versucht aber über die x_tam bisher noch keine Anrufbeantworternachtenliste herausbekommen....
Entweder an den Headern, an der Authentifizierung oder es tauchen andere wilde fehler auf. Ich hab noch nie was mit SOAP gemacht...

Und auch im Internet finde ich z.b. keine Beispiele oder so wo da jemand eine AB Liste aus der Box herausbekommen hat...

Kennst du dich damit aus?
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
247,029
Beiträge
2,260,934
Mitglieder
375,305
Neuestes Mitglied
louistani13