Wie man die Warteschleifenmusik (Music on Hold) einer Fritz!Box Fon ändert
Du findest "Ihre Verbindung wird gehalten" auch ziemlich langweilig? Kein Problem, ändere einfach die Ansage!
Vorwort
Das Vorgehen das hier beschrieben wird, wurde auf einer Fritz!Box Fon 5050 erfolreich getestet und sollte auf anderen Fritz!Boxen analog dazu funktionieren, ich übernehme jedoch keinerlei Verantwortung für eventuell entstehende Schäden an eurer Hardware. Ihr handelt auf eure eigene Verantwortung.
---
Zuerst erstellen wir ein WAV-File, das später in der Fritz!Box als Music on Hold zum Einsatz kommen soll. Dieses sollte 4 Sekunden lang sein, falls es länger ist spielt die Box später eh nur die ersten 4 Sekunden der Datei ab und wiederholt diese. Am besten ihr speichert die Datei gleich mit 8000 khz, 16 Bit mono.
Achtung: Falls ihr vorhabt Musik zu verwenden sei es gesagt das diese urheberrechtlich geschützt sein kann und ihr u.U. Gema dafür bezahlen müsst (Was ihr natürlich eh schon lange wusstet).
Die eben erstellte Datei konvertiert ihr per sox mit folgendem Shellscript (von Enrik: wav2fbox) in das 'Fritz!Box-Format' - es handelt sich hier um das A-Law Audioformat für europäische (und ich glaube auch amerikanische Kommunikationsnetze). Für die Fritz!Box muss allerdings noch ein spezieller Header eingefügt werden (siehe Script):
#! /bin/sh
if [ "$1" = "-p" ] # 1 second pause
then
shift
head='\252\253\252\252\c'
else
head='\253\253\252\252\c'
fi
( /bin/echo -e $head ; sox $1 -c 1 -t la -r 8000 - ) > $2
Aufruf z.B. mit ./wav2fbox.sh input.wav fx_moh .
Danach aktiviert ihr auf eurer Box den TelnetD, das mach ihr indem ihr an ein an die Box angeschlossenes Telefon folgende Tastenkombination eingebt: #96*7* (#96*8* zum deaktivieren).
Falls ihr nun aus dem Telefonhörer einen langen Quittungston (Bestätigung des startens von TelnetD) gehört habt verbindet ihr euch per Telnet mit eurer Fritz!Box und gebt als erstes das Konfigurationspasswort ein.
Die Datei für die Music on Hold im laufenden Betrieb liegt auf der Box in /var/flash/fx_moh. Da wir aber nicht direkt in den Flash-Speicher der Box schreiben können und Dateien dort auch nicht immer wirklich physisch existieren kopieren wir fx_moh nach /var/tmp und linken die Datei im Flash-Speicher dorthin:
jetzt kopiert ihr eure eigene fx_moh die ihr eben mit Enriks Script erstellt habt auf die Box nach /var/tmp/fx_moh
Das könnt ihr auf der Box z.B. so bewerkstelligen:
Das dazu auf eurem Rechner ein tftp-Server laufen muss, muss ich hier wohl hoffentlich nicht erwähnen.
Falls das Kopieren geklappt hat startet ihr auf der Fritz!Box jetzt das 'telefon' neu:
So, das wars! Ab jetzt sollten sich Anrufer dessen Gespräch ihr haltet nicht mehr von 'Ihre Verbindung wird gehalten' gelangweilt fühlen. Ob es geklappt hat könnt ihr ja leicht selber testen indem ihr euch selber anruft (Wenn ein Gespräch von einem anderen internen Telefon gehalten wird hört der Anrufer jedoch immer noch den Standardton - das hier beschriebene wirkt sich nur auf Telefonate von extern aus)
Eins sei noch gesagt: Sobald ihr eure Box neu startet (Aber wer tut das schon) sind hier beschriebene Ändeurngen automatisch wieder verworfen und die Standardansage ist wieder aktiv.
Eventuell hat ja jemand Vorschläge wie man seine eigene MOH dauerhaft einbinden könnte, bin jederzeit offen für ein Paar Ideen!
Vorwort
Das Vorgehen das hier beschrieben wird, wurde auf einer Fritz!Box Fon 5050 erfolreich getestet und sollte auf anderen Fritz!Boxen analog dazu funktionieren, ich übernehme jedoch keinerlei Verantwortung für eventuell entstehende Schäden an eurer Hardware. Ihr handelt auf eure eigene Verantwortung.
---
Zuerst erstellen wir ein WAV-File, das später in der Fritz!Box als Music on Hold zum Einsatz kommen soll. Dieses sollte 4 Sekunden lang sein, falls es länger ist spielt die Box später eh nur die ersten 4 Sekunden der Datei ab und wiederholt diese. Am besten ihr speichert die Datei gleich mit 8000 khz, 16 Bit mono.
Achtung: Falls ihr vorhabt Musik zu verwenden sei es gesagt das diese urheberrechtlich geschützt sein kann und ihr u.U. Gema dafür bezahlen müsst (Was ihr natürlich eh schon lange wusstet).
Die eben erstellte Datei konvertiert ihr per sox mit folgendem Shellscript (von Enrik: wav2fbox) in das 'Fritz!Box-Format' - es handelt sich hier um das A-Law Audioformat für europäische (und ich glaube auch amerikanische Kommunikationsnetze). Für die Fritz!Box muss allerdings noch ein spezieller Header eingefügt werden (siehe Script):
#! /bin/sh
- convert .wav file to fbox music-on-hold
if [ "$1" = "-p" ] # 1 second pause
then
shift
head='\252\253\252\252\c'
else
head='\253\253\252\252\c'
fi
( /bin/echo -e $head ; sox $1 -c 1 -t la -r 8000 - ) > $2
Aufruf z.B. mit ./wav2fbox.sh input.wav fx_moh .
Danach aktiviert ihr auf eurer Box den TelnetD, das mach ihr indem ihr an ein an die Box angeschlossenes Telefon folgende Tastenkombination eingebt: #96*7* (#96*8* zum deaktivieren).
Falls ihr nun aus dem Telefonhörer einen langen Quittungston (Bestätigung des startens von TelnetD) gehört habt verbindet ihr euch per Telnet mit eurer Fritz!Box und gebt als erstes das Konfigurationspasswort ein.
Die Datei für die Music on Hold im laufenden Betrieb liegt auf der Box in /var/flash/fx_moh. Da wir aber nicht direkt in den Flash-Speicher der Box schreiben können und Dateien dort auch nicht immer wirklich physisch existieren kopieren wir fx_moh nach /var/tmp und linken die Datei im Flash-Speicher dorthin:
cat /var/flash/fx_moh > /var/tmp/fx_mohmount -o bind /var/tmp/fx_moh /var/flash/fx_moh
jetzt kopiert ihr eure eigene fx_moh die ihr eben mit Enriks Script erstellt habt auf die Box nach /var/tmp/fx_moh
Das könnt ihr auf der Box z.B. so bewerkstelligen:
tftp -g -l /var/tmp/fx_moh -r fx_moh <ip des tftp-hosts>
Das dazu auf eurem Rechner ein tftp-Server laufen muss, muss ich hier wohl hoffentlich nicht erwähnen.
Falls das Kopieren geklappt hat startet ihr auf der Fritz!Box jetzt das 'telefon' neu:
killall telefontelefon
So, das wars! Ab jetzt sollten sich Anrufer dessen Gespräch ihr haltet nicht mehr von 'Ihre Verbindung wird gehalten' gelangweilt fühlen. Ob es geklappt hat könnt ihr ja leicht selber testen indem ihr euch selber anruft (Wenn ein Gespräch von einem anderen internen Telefon gehalten wird hört der Anrufer jedoch immer noch den Standardton - das hier beschriebene wirkt sich nur auf Telefonate von extern aus)
Eins sei noch gesagt: Sobald ihr eure Box neu startet (Aber wer tut das schon) sind hier beschriebene Ändeurngen automatisch wieder verworfen und die Standardansage ist wieder aktiv.
Eventuell hat ja jemand Vorschläge wie man seine eigene MOH dauerhaft einbinden könnte, bin jederzeit offen für ein Paar Ideen!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45408
Url: https://administrator.de/contentid/45408
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
schöne Idee! Sehr gut!
Gespenst
schöne Idee! Sehr gut!
Gespenst