Voicemail-Kompression Benutzerdefinierte Voicemail-Kompression
 
Benutzerdefinierte Voicemail-Kompression
Neben den oben beschriebenen, eingebauten Kompressionen, können Voicemail-Anhänge auch mit anderen Kompressionsverfahren komprimiert werden. Dazu muss der entsprechende Encoder und Decoder in die SwyxWare-Datenbank aufgenommen werden. Im Dialogfenster „Datei zur Datenbank hinzufügen“ wählen Sie im Listenfeld „Bereich:“ die Option „Global“ und im Listenfeld „Kategorie:“ die Option „Andere“. (Weitere Informationen entnehmen Sie bitte dem Kapitel Registerkarte „Dateien“.)
Zusätzlich müssen die Aufruf-Parameter in einer Konfigurationsdatei mit dem Namen „RecordingCodecs.xml“ definiert sein.
Im folgenden ist am Beispiel des Speex-Encoders gezeigt, wie diese Konfigurationsdatei aussieht:
<?xml version="1.0" encoding="utf-8" ?>
<rl:recordingcodecslist xmlns:rl="C:\Documents and Settings\All Users\Application Data\Swyx\IpPbxServer\Data\System\RecordingCodecsList">
<recordingcodec>
<id>128</id>
<codecname>Speex (.spx)</codecname>
<extension>spx</extension>
<encodercommandline>speexenc.exe -n --title
%t --author %a --comment %c %s
%d</encodercommandline>
<decodercommandline>speexdec.exe %s
%d </decodercommandline>
<mimetype>application/ogg</mimetype>
</recordingcodec>
</rl:recordingcodecslist>
Die Datei enthält eine Liste von Codecs, kodiert als ein <rl:recordingcodecslist>-Element. Darin können ein oder mehrere <recordingcodec>-Elemente enthalten sein, die für jeweils einen Codec den Namen und die von SwyxServer aufzurufenden Befehlszeilen definieren. Obiges Beispiel enthält genau ein Element, welches den Open-Source Speex-Codec definiert. Das <recordingcodec> Element enthält folgende Sub-Elemente:
Name
Erläuterung
<id>
Eindeutige ID des Codec
Muss ein Wert zwischen 128 und 255 sein. SwyxServer benutzt diese ID, um den ausgewählen Codec in der SwyxServer- bzw. Benutzerkonfiguration zu speichern.
<codecname>
Der Name des Codec, so wie er in SwyxWare-Administration angezeigt wird.
<extension>
Dateierweiterung für eine mit diesem Codec komprimierte Datei.
<encodercommandline>
Befehlszeile zum Komprimieren einer Standard-WAV-Datei (16Bit, 8kHz, PCM, mono) in das komprimierte Format. SwyxServer ersetzt die Platzhalter in der Befehlszeile vor dem Aufruf durch die entsprechenden Werte. Folgende Platzhalter sind möglich:
%s Source-Datei
Enthält Pfad und Dateiname der unkomprimierten WAV-Datei.
%d Ziel-Datei
Pfad und Dateiname der komprimierten Datei
%t
Nummer und Name des Anrufers
%a
Immer „Voicemail“
%c
Name und Version des SwyxServer-Prozesses
%d
Datum und Uhrzeit, formatiert, wie in den Benutzereinstellungen von SwyxServer definiert.
<decodercommandline>
Befehlszeile zum Dekomprimieren einer komprimierten Datei nach Standard-WAV (8kHz PCM mono). SwyxServer ersetzt die Platzhalter in der Befehlszeile vor dem Aufruf durch die entsprechenden Werte.
Folgende Platzhalter sind möglich:
%s Source-Datei
Enthält Pfad und Dateiname der unkomprimierten WAV-Datei.
%d Ziel-Datei
Pfad und Dateiname der komprimierten Datei.
<mimetype>
Mime-Type, mit dem der Anhang gekennzeichnet wird. SwyxServer verwendet diese Zeichenfolge als „Content-Type“-Parameter in der Voicemail.
SwyxServer liest diese Konfigurationsdatei beim Start. Dementsprechend muss nach Veränderungen der SwyxServer-Dienst neu gestartet werden. Das komplette XML-Schema für diese Datei befindet sich im SwyxServer-Programm-Verzeichnis und heißt „RecordingCodecs.xsd“. Obige Beispiel-Datei wird unter dem Namen „RecordingCodecs_Sample.xml“ im gleichen Verzeichnis installiert. Sie können diese als Vorlage verwenden.
* 
Für die Fernabfrage von Voicemails ist es wichtig, auch den Decoder korrekt zu konfigurieren. SwyxServer benutzt diesen, um während der Fernabfrage Voicemail-Anhänge wieder zu dekomprimieren. Bei sehr langen Voicemails kann dies zu geringfügigen Verzögerungen beim Abspielen führen. SwyxServer kann die drei Standard-Varianten direkt abspielen, deshalb kommt es dabei zu keinerlei Verzögerungen.