Beginnen wir mit dem Einfachsten, der Festlegung der Wartemusik (Music on Hold).
Die Einstellmöglichkeiten werden in der Datei
musiconhold.conf
beschrieben. Ein paar Informationen
zur MP3-Unterstützung durch das Programm mpg123 stehen
in doc/README.mp3
(1.2) /
doc/mp3.txt
(1.4). Die optimale Abtastrate für die
MP3s ist 8000 Hz, mono.
Die einfachste (Default-)Konfiguration mit nur einer Musikklasse
(default
) sieht so aus:
[default] mode=quietmp3 directory=/var/lib/asterisk/mohmp3
Jetzt stoppen und starten
wir Asterisk, z. B. mit asterisk -rx "stop now" und
asterisk, um die neue Extension und die Streams zu
aktivieren (ein Reload reicht nicht aus). Wenn Sie jetzt die Extension
222
(wie oben definiert) anrufen, sollten Sie Wartemusik
hören (im oben genannten Verzeichnis werden bereits 3 Dateien
mitgeliefert).
Besser ist aber folgende Konfiguration, für die wir ein Verzeichnis
moh-native
in /var/lib/asterisk/
anlegen:
[default] mode=files ; Dateien direkt in einem Asterisk-kompatiblen Format lesen directory=/var/lib/asterisk/moh-native random=yes ; Dateien in zufälliger Reihenfolge abspielen
Es ist dazu notwendig, die MP3-Dateien in ein Asterisk-kompatibles Format zu konvertieren, was z. B. mit den Programmen sox[82] und lame[83] so geht:
$ lame --decode musik.mp3 musik.wav $ sox -V musik.wav -r 8000 -c 1 -w musik.raw $ sox -V musik.wav -r 8000 -c 1 -w musik.gsm
Damit
haben wir eine fiktive Datei musik.mp3
in das
WAV-Format und dann in die Formate RAW und GSM konvertiert (mit einer
Abtastrate von 8 kHz). Wir können in unserem Verzeichnis auch Formate wie
alaw und ulaw (Dateiendungen für sox:
.al
und .ul
) ablegen –
Asterisk wird automatisch das am wenigsten CPU-intensive wählen. Wichtig
ist, dass die Abtastrate immer 8000 Hz beträgt.
Wichtig | |
---|---|
Wenn Sie in der |
In unserem Test haben wir die im Verzeichnis
moh/
mitgelieferten WAV-Dateien in unser Verzeichnis
moh-native/
kopiert, mit sox nach
RAW und GSM umkodiert und dann die WAV-Dateien, die Probleme bereiteten,
aus dem Verzeichnis gelöscht:
$ cd /var/lib/asterisk/moh-native/ $ for i in *.wav; do \ sox $i -r 8000 -c 1 $(basename $i .wav).raw; \ sox $i -r 8000 -c 1 $(basename $i .wav).gsm; \ done $ rm *.wav
Für CPU-kritische Anwendungen (große Installationen) sollten Sie
einen Blick auf die Beschreibung in
contrib/utils/README.rawplayer
im ursprünglichen
Asterisk-Verzeichnis werfen.
Weitere Musikklassen lassen sich definieren, indem man außer dem
[default]
-Abschnitt noch weitere Abschnitte, z. B.
[rock]
anlegt, dort ein anderes Verzeichnis, z. B. ein
Unterverzeichnis, angibt und die Musikdateien in dieses Verzeichnis legt.
Reload nicht vergessen!
[82] sox (http://sox.sourceforge.net/) gibt es als Debian-Paket, also:
$ apt-get install sox
Für MacOS X gibt es – mit installiertem Darwinports (http://darwinports.opendarwin.org/ oder http://darwinports.com/, siehe auch http://apfelwiki.de/wiki/Main/MacPorts) – auch ein Paket:
$ port install sox
[82] Auf anderen Plattformen müssen Sie die Sourcen herunterladen und kompilieren, sofern Sie keine Binaries finden.
[83] lame (http://lame.sourceforge.net/) gibt es nicht als Debian-Paket. Sie müssen also die Sourcen herunterladen und mit den bekannten Befehlen ./configure, make und make install kompilieren und installieren.
[83] Für MacOS X gibt es ein Paket über Darwinports (siehe die Beschreibung zu sox):
$ port install lame
oder über Fink (http://fink.sourceforge.net/):$ fink install lame
Natürlich
geht das auch über den FinkCommander mit grafischem Interface.AMOOCON 2010
Noch kein Ticket? Dann wird es Zeit. Nur noch wenige Tage.
- Infos unter www.amoocon.de.
- twitter.com/AMOOCON