<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Christoph Bünte&nbsp;&raquo; Software Entwicklung Berlin</title> <atom:link href="http://www.christophbuente.de/tag/sip/feed/" rel="self" type="application/rss+xml" /><link>http://www.christophbuente.de</link> <description>Software Entwicklung</description> <lastBuildDate>Tue, 03 Aug 2010 15:37:30 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>VoiceGlue Konfiguration &#8211; Server für Sprachanwendungen einrichten</title><link>http://www.christophbuente.de/2007-12-21-voiceglue-konfiguration-server-fur-sprachanwendungen-einrichten/</link> <comments>http://www.christophbuente.de/2007-12-21-voiceglue-konfiguration-server-fur-sprachanwendungen-einrichten/#comments</comments> <pubDate>Fri, 21 Dec 2007 19:25:58 +0000</pubDate> <dc:creator>Christoph Bünte</dc:creator> <category><![CDATA[Unix shell]]></category> <category><![CDATA[Voice]]></category> <category><![CDATA[agi]]></category> <category><![CDATA[anleitung]]></category> <category><![CDATA[asr]]></category> <category><![CDATA[asterisk]]></category> <category><![CDATA[dtmf]]></category> <category><![CDATA[hilfe]]></category> <category><![CDATA[howto]]></category> <category><![CDATA[sip]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[speech]]></category> <category><![CDATA[tts]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[voiceglue]]></category> <category><![CDATA[voicexml]]></category> <category><![CDATA[vox]]></category> <category><![CDATA[vxglue]]></category> <category><![CDATA[vxml]]></category><guid isPermaLink="false">http://www.christophbuente.de/2007-12-21-voiceglue-konfiguration-server-fur-sprachanwendungen-einrichten/</guid> <description><![CDATA[[lang_de]In meinem letzten Artikel habe ich die Installation der IVR Software VoiceGlue unter Fedora Core 8 in einer Parallels Desktop VM beschrieben. Nun möchte ich eine Anleitung für die Einrichtung von VoiceGlue nachliefern. Damit wird es jedem möglich, eine VoiceXML basierte Sprachanwendung aufzusetzen. [ad#vert-banner] Nachdem alle Schritte aus der Installationsanleitung befolgt wurden, sind folgende Komponenten [...]]]></description> <content:encoded><![CDATA[<p>[lang_de]In meinem <a title="VoiceGlue Installation - Interactive Voice Response leicht gemacht" href="http://www.christophbuente.de/2007-12-06-voiceglue-installation-interactive-voice-response-leicht-gemacht/">letzten Artikel</a> habe ich die Installation der <acronym title="Interactive Voice Response" lang="en">IVR</acronym> Software <a title="VoiceGlue" href="http://www.voiceglue.org">VoiceGlue</a> unter <a href="http://fedoraproject.org/">Fedora Core 8</a> in einer <a href="http://www.parallels.com/en/products/desktop/">Parallels Desktop VM</a> beschrieben. Nun möchte ich eine Anleitung für die Einrichtung von VoiceGlue nachliefern. Damit wird es jedem möglich, eine VoiceXML basierte Sprachanwendung aufzusetzen.<br /> <span id="more-27"></span></p><p>[ad#vert-banner]</p><p>Nachdem alle Schritte aus der Installationsanleitung befolgt wurden, sind folgende Komponenten auf dem System installiert:</p><ul><li><a href="http://www.perl.org/">perl</a> (Skriptsprache)</li><li><a href="http://www.asterisk.org/">asterisk</a> (Telefonieserver)</li><li><a href="http://www.openvxi.org/">openVXI</a> (Open Source VoiceXML Interpreter)</li><li><a href="http://www.speech.cs.cmu.edu/flite/index.html">flite</a> (engl. <acronym title="Text To Speech" lang="en">TTS</acronym> Engine)</li><li><a href="http://www.voiceglue.org">voiceglue</a> (IVR Software)</li></ul><p>Um tatsächlich Anrufe über das Telefon- oder auch VoIP Netz entgegen nehmen zu können, muss der asterisk Server konfiguriert werden. Eine vollständige Beschreibung der asterisk Konfiguration würde allerdings den Rahmen dieses Tutorials sprengen. Aus diesem Grund wird lediglich die Konfiguration erklärt, mit er es möglich ist, mit Hilfe eines sogenannten <a title="Softphone" href="http://de.wikipedia.org/wiki/Softphone">Softphones</a> an der Sprachanwendung anzurufen. Für vielschichtige asterisk Konfigurationen findet man in <a title="Asterisk" href="http://www.amazon.de/gp/redirect.html%3FASIN=0596009623%26tag=chribuensofte-21%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0596009623%253FSubscriptionId=1YNZ339ZCHHAKYFSY702">Asterisk: The Future if Telephony</a> ausreichend Hilfe.</p><p>Als erstes benötigen wir für die Annahme von Anrufen via <acronym title="Session Initiation Protocol" lang="en">SIP</acronym> einen eigenen Kontext in der Datei: <code>/etc/asterisk/manager.conf</code>. Die folgenden Zeilen sollte man am besten am Ende der Datei einfügen:</p><pre lang="conf">[phoneglue]
secret=phoneglue
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user</pre><p>Ausserdem muss der Manager noch aktiviert werden. Deswegen sollte man sicherstellen, dass in der gleichen Datei die Variable <code>enabled=yes</code> gesetzt ist.</p><p>Danach wird asterisk so konfiguriert, dass alle angenommenen Anrufe per <acronym title="Asterisk Gateway Interface" lang="en">AGI</acronym> an den Voicebrowser weitergeleitet werden. Durch die Verwendung von AGI ist es möglich, den Voicebrowser auch auf einem anderen Server zu betreiben und die Verbindung via Netzwerk herzustellen. Dies nimmt bei vielen Anrufen die Last vom System. Die Konfiguration wird in der Datei <code>/etc/asterisk/extensions.conf</code> vorgenommen. Auch hier ist es wieder sinnvoll einen neuem Kontext am Ende der Datei einzufügen:</p><pre lang="conf">[phoneglue]
exten =&gt; 1,1,Agi(agi://localhost)
exten =&gt; 1,2,Hangup</pre><p>Die Einträge für die Extensions beginnen mit einer <em>1</em>. Dies ist die Durchwahl für die Sprachanwendung. Der Aufruf &#8220;Agi(agi://localhost) verbindet nun den Voicebrowser mit dem Anrufer.</p><p>Möchte man nun alle eingehenden Anrufe, welche mit SIP initiiert werden, an die Sprachanwendung leiten, ist noch eine Änderung in der Datei <code>/etc/asterisk/sip.conf</code> nötig. Der Standard Kontext muss von <code>default</code> auf <code>phoneglue</code> gesetzt werden.</p><pre lang="conf">[general]
context=phoneglue</pre><p>Damit ist die Konfiguration von asterisk schon abgeschlossen. Nun kann es mit der Konfiguration der Sprachanwendung weitergehen.</p><p>VoiceXML basierte Sprachanwendungen benötigen einen <acronym title="Hyper Text Transport Protocol" lang="en">HTTP</acronym> Server, welcher die statischen oder dynamisch erzeugten *.vxml Dateien ausliefert. Auch hier haben die Entwickler von VoiceGlue mitgedacht, indem das System so konfigurierbar ist, dass der VoiceXML Server auf einer separaten Maschine laufen kann. Zu Demonstrationszwecken genügt es hier allerdings, dass alle Dienste auf einer Maschine laufen. Die Konfiguration wird in der Datei <code>/etc/voiceglue.conf</code> vorgenommen. Hier genügt ein Eintrag, der auf die Einstiegsseite der Sprachanwendung zeigt.</p><pre lang="conf"> * http://localhost/index.vxml</pre><p>Diese Datei muss vom lokalen <a href="http://apache.org">Apache</a> ausgeliefert werden. Falls noch nicht geschehen, sollte der Apache jetzt gestartet werden:</p><pre lang="shell">sudo service httpd start</pre><p>Standardmässig liegen die <acronym title="Hyper Text Markup Language" lang="en">HTML</acronym> für den Apache unter Fedora im Verzeichnis <code>/var/www/html</code>. Genau an dieser Stelle legen wir eine klassische <span lang="en">Hello World</span> Anwendung in Form einer VoiceXML Datei mit folgendem Inhalt ab:</p><pre lang="xml">
<form>

      Hello World. This is my first voiceglue application.</form>
</pre><p>Damit ist die Konfiguration abgeschlossen. Alle Dienste sind vollständig konfiguriert und sollten jetzt gestartet werden.</p><pre lang="bash">sudo service asterisk start
sudo service phoneglue start
sudo service voiceglue start</pre><p>Als letztes wollen wir überprüfen, ob die Komfiguration erfolgreich war. Dazu benötigen wir ein Softphone. Eine freie Version findet man bei <a href="http://sjlabs.com">SJLabs</a>. Das Telefon ist für Windows, Linux und OS X verfügbar. Nach dem herunterladen muss im Menupunkt <em>Phone-&gt;Services</em> das SIP Protolkoll gewählt werden. Anschließend wählen wir unseren lokalen asterisk Dienst mit der Durchwahl <code>1@localhost</code> an.</p><p>Basierend auf der gezeigten Konfiguration lassen sich beliebige Sprachanwendungen erstellen. Wie jedoch schon im Beitrag <a title="VoiceGlue Installation - Interactive Voice Response leicht gemacht" href="http://www.christophbuente.de/2007-12-06-voiceglue-installation-interactive-voice-response-leicht-gemacht/">VoiceGlue Installation &#8211; Interactive Voice Response leicht gemacht</a> beschrieben, fehlt die Intergration einer <acronym title="Automatic Speech Recognition" lang="en">ASR</acronym> Engine. Somit beschränken sich Anrufereingaben auf <acronym title="Dual Tone Multiple Frequencies" lang="en">DTMF</acronym>.[/lang_de]</p><div id="crp_related"><h3>Ähnliche Beiträge:</h3><ul><li><a href="http://www.christophbuente.de/2007-12-06-voiceglue-installation-interactive-voice-response-leicht-gemacht/" rel="bookmark" class="crp_title">VoiceGlue Installation &#8211; Interactive Voice Response leicht gemacht</a></li><li><a href="http://www.christophbuente.de/2007-11-17-canoo-webtest-web-anwendungen-automatisch-testen/" rel="bookmark" class="crp_title">canoo webtest &#8211; Web-Anwendungen automatisch testen</a></li><li><a href="http://www.christophbuente.de/2007-11-25-ruby-on-rails-auf-mac-os-x-5-minuten-kurzanleitung/" rel="bookmark" class="crp_title">Ruby on Rails auf Mac OS X &#8211; 5 Minuten Kurzanleitung</a></li><li><a href="http://www.christophbuente.de/2009-09-09-500-internal-server-error-apache-config-vs-wp-super-cache/" rel="bookmark" class="crp_title">500 Internal Server Error &#8211; Apache config vs. WP-Super-Cache</a></li><li><a href="http://www.christophbuente.de/2007-10-05-frei-nehmen-um-zu-lernen/" rel="bookmark" class="crp_title">Rails tutorial &#8211;  Eine Woche lang Agile Webentwicklung</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://www.christophbuente.de/2007-12-21-voiceglue-konfiguration-server-fur-sprachanwendungen-einrichten/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching using memcached
Object Caching 421/445 objects using memcached

Served from: www.christophbuente.de @ 2010-09-10 19:27:30 -->