Coverbild des Asterisk Buches von Stefan Wintermeyer

Beta Test!

  • Bitte melden Sie Fehler! Informationen dazu in der Beta-Test FAQ.
  • Besuchen Sie den Asterisk-Tag.org in Chemnitz und lassen Sie sich dort Ihr Buch von Stefan Wintermeyer signieren.
  • Bestellmoeglichkeiten fuer das gedruckte Buch: Amazon oder direkt beim Verlag

Asterisk-Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de.
Naechste Asterisk-Schulung: 12.02. - 13.02.07


5.2. Verarbeitung von Sprachaufnahmen auf dem Webserver

Wir haben im letzten Kapitel gesehen, dass die Sprachaufnahme mit der HTTP-Post Methode zu einem Skript namens aufnahme-2-vxml.php gesendet wird. Dieses Vorgehen ist vergleichbar mit dem Hochladen einer Datei vom Webbrowser aus. In beiden Fällen muß der Webserver Aktionen einleiten, um die empfangenen Daten zu verarbeiten. Dies kann auf unterschiedlichste Arten geschehen, je nach dem welche serverseitige Technologie zum Einsatz kommt. In unserem Beispiel verwenden wir ein kleines PHP-Skript:

Beispiel 10.5. aufnahme-2-vxml.php

<?php
  echo '<?xml version="1.0" encoding="UTF-8"?>';

  $filename = $_FILES['aufnahme']['name'];
  move_uploaded_file($_FILES['aufnahme']['tmp_name'],
                     "./aufnahmen/" . $filename);
?>

<vxml version="2.0">
<form>
<block><prompt>Ihre Nachricht war:<break time="300ms"/></prompt></block>
<block><prompt>
<audio src="./aufnahmen/<?php echo $filename; ?>"></audio>
<break time="300ms"/>
</prompt></block>
</form>
</vxml>


Das Beispielscript speichert die empfangene Sounddatei im Pfad aufnahmen ab. Alternativ könnte man die Aufnahme natürlich auch in einer Datenbank abspeichern oder als Email versenden. Bei der obigen Variante sollte man allerdings darauf achten, dass der Webserver die erforderlichen Zugriffsrechte hat, um in das aufnahmen-Verzeichnis schreiben zu können.

Damit der Anrufer seine aufgenommenen Worte hören kann, sendet der Webserver ein passendes VoiceXML Dokument zurück. Der Aufbau dieses Dokuments mit dem <audio> Element wurde schon im Kapitel "Abspielen von Sounddateien" behandelt.

Mit dem Hastenix Skript können Sie dieses Beispiel interaktiv testen, indem Sie Ihren Dialplan einmal mehr erweitern und die 4294 wählen:

;
; Hastenix Beispiel zur Sprachaufnahme
;
exten => 4294,1,Answer
exten => 4294,2,AGI(hastenix.pl|http://hastenix.hawhaw.de/aaw/aufnahme-1.vxml)
exten => 4294,3,Hangup

Anmerkung

Bevor Sie während des Tests eventuell unüberlegte Äußerungen machen: Seien Sie sich bewußt, dass Ihre Worte auf den HAWHAW-Server übertragen und dort wie oben beschrieben abgespeichert werden!