<?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>VoicePHP - Code A Day</title>
	<atom:link href="http://code.voicephp.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.voicephp.com</link>
	<description>VoicePHP - Code A Day</description>
	<lastBuildDate>Tue, 19 Jul 2011 12:47:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Passing Parameters in VoicePHP</title>
		<link>http://code.voicephp.com/passing-parameters-in-voicephp/</link>
		<comments>http://code.voicephp.com/passing-parameters-in-voicephp/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 07:48:19 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Beginners]]></category>
		<category><![CDATA[parameters]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=300</guid>
		<description><![CDATA[Passing parameters to an application is an important feature of any OS or programming language. It allows creating dynamic  applications which can respond to the custom inputs. For example, in voice programming context, creating a common IVR which can serve to two different customers while maintaining the same code base. Again, this is where VoicePHP has [...]]]></description>
			<content:encoded><![CDATA[<p>Passing parameters to an application is an important feature of any OS or programming language. It allows creating dynamic  applications which can respond to the custom inputs. For example, in voice programming context, creating a common IVR which can serve to two different customers while maintaining the same code base. Again, this is where VoicePHP has an edge compared to VoiceXML (VoiceXML lacks such a basic feature).</p>
<p>Passing parameters to VoicePHP is a breeze.  The best practice of accessing parameters in VoicePHP is using a tag. You can associate a tag to the application instance which will be accessible from VoicePHP script.</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /><br />$parameter&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_VOICEPHP</span><span style="color: #007700">[</span><span style="color: #DD0000">'calltag'</span><span style="color: #007700">];<br /></span><span style="color: #FF8000">//&nbsp;do&nbsp;something&nbsp;with&nbsp;the&nbsp;parameters&nbsp;<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/vpparameter.voicephp>Download source code</a></p></downloadlink></p>
<p>Once you have the tag, you can use it to control the application flow OR reference it to fetch the other parameters from backend. More details <a href="http://code.voicephp.com/back-end-driven-voicephp-application/">here</a></p>
<p>Tag is not required to be unique &amp;  completely application dependet.  Tag can be passed to VoicePHP from flash, click-2-call etc. using appropriate <a href="http://tringme.com/developers.html" target="_blank">APIs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/passing-parameters-in-voicephp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon Shopping &#8211; Just a Phone Call Away!</title>
		<link>http://code.voicephp.com/amazon-shopping-just-a-phone-call-away/</link>
		<comments>http://code.voicephp.com/amazon-shopping-just-a-phone-call-away/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 15:03:28 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[DTMF]]></category>
		<category><![CDATA[Intermediate]]></category>
		<category><![CDATA[amazon]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=261</guid>
		<description><![CDATA[How often you&#8217;ve had the need to check an item from an online vendor while shopping in a store? e.g. lets say you were in a bookshop and a novel looks interesting to you. Before purchasing it you want to go over reviews and maybe even want to do a comparative price search and possibly buy it online [...]]]></description>
			<content:encoded><![CDATA[<p>How often you&#8217;ve had the need to check an item from an online vendor while shopping in a store? e.g. lets say you were in a bookshop and a novel looks interesting to you. Before purchasing it you want to go over reviews and maybe even want to do a comparative price search and possibly buy it online if it is priced better. In the ever connected world we live in, this isn&#8217;t anything new.</p>
<p>Being able to access information when I want it and where I want it is becoming more and more of a necessity than a luxury. Whatever &#8216;it&#8217; is, the idea is to access all the information about that item at that particular moment.</p>
<p>In this application, we demonstrate how easy it is to use VoicePHP to build a complete voice accessible shopping experience. In particular, the application does the following:</p>
<ul>
<li>It allows users to type in an ISBN number. For e.g. (ISBN-10: 0375826726 or ISBN-13: 978-0375826726 for &#8220;Breaking Dawn&#8221;, ISBN-10: 1416562605 or ISBN-13: 978-1416562603 for &#8220;White Tiger&#8221;)</li>
<li>Hear reviews, price and other information</li>
<li>Provides skeleton code to implement the payment and shipping logic.</li>
</ul>
<p>So next time you are in a bookstore, feel free to call 15672449576 to get more information on any book. This code can be easily extended to integrate other products offered by <a href="http://amazon.com">Amazon</a>n or a completely different seller.</p>
<p><em>Disclaimer</em>: Credit card number and shipping information is only being asked for demonstration purposes. We do not store any of that information and will not be sending that to Amazon (as you can see in the code). Please use your judgement when providing that information.</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />define</span><span style="color: #007700">(</span><span style="color: #DD0000">'KEYID'</span><span style="color: #007700">,</span><span style="color: #DD0000">'*********'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">define</span><span style="color: #007700">(</span><span style="color: #DD0000">'AssocTag'</span><span style="color: #007700">,</span><span style="color: #DD0000">'******'</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #DD0000">"Welcome&nbsp;to&nbsp;Voice&nbsp;PHP&nbsp;Demo&nbsp;of&nbsp;Amazon&nbsp;Book&nbsp;Look&nbsp;Up"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"autospellnumbers"</span><span style="color: #007700">,</span><span style="color: #0000BB">3</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"interdigittimeout"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3000</span><span style="color: #007700">);<br />while(</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$isbn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"Please&nbsp;Enter&nbsp;the&nbsp;I&nbsp;S&nbsp;B&nbsp;N&nbsp;code&nbsp;of&nbsp;the&nbsp;book&nbsp;you&nbsp;would&nbsp;like&nbsp;to&nbsp;search.&nbsp;Press&nbsp;star&nbsp;key&nbsp;instead&nbsp;of&nbsp;X"</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">30</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$len&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$isbn</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if((</span><span style="color: #0000BB">13&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">$len</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;(</span><span style="color: #0000BB">10&nbsp;</span><span style="color: #007700">!=&nbsp;</span><span style="color: #0000BB">$len</span><span style="color: #007700">))&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Invalid&nbsp;I&nbsp;S&nbsp;B&nbsp;N&nbsp;number"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;elseif(</span><span style="color: #0000BB">$len</span><span style="color: #007700">==</span><span style="color: #0000BB">10</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$isbn&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'*'</span><span style="color: #007700">,</span><span style="color: #DD0000">'x'</span><span style="color: #007700">,</span><span style="color: #0000BB">$isbn</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;break;<br />}<br /><br /></span><span style="color: #FF8000">//Create&nbsp;request&nbsp;to&nbsp;amazon&nbsp;to&nbsp;search&nbsp;for&nbsp;book<br /></span><span style="color: #0000BB">$request&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&amp;AWSAccessKeyId="</span><span style="color: #007700">.</span><span style="color: #0000BB">KEYID</span><span style="color: #007700">.</span><span style="color: #DD0000">"&amp;AssociateTag="</span><span style="color: #007700">.</span><span style="color: #0000BB">AssocTag</span><span style="color: #007700">.</span><span style="color: #DD0000">"&amp;Version=2006-09-11&amp;Operation=ItemSearch&amp;ResponseGroup=Medium,Offers&amp;SearchIndex=Books&amp;Keywords="</span><span style="color: #007700">.</span><span style="color: #0000BB">$isbn</span><span style="color: #007700">.</span><span style="color: #DD0000">"&amp;ItemPage=1"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$response&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Fetch</span><span style="color: #007700">(</span><span style="color: #0000BB">$request</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$parsed_xml&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">simplexml_load_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$response</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$numOfItems&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$parsed_xml</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Items</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">TotalResults</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$totalPages&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$parsed_xml</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Items</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">TotalPages</span><span style="color: #007700">;<br />if(</span><span style="color: #0000BB">$numOfItems</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">0</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"No&nbsp;matches&nbsp;found&nbsp;for&nbsp;I&nbsp;S&nbsp;B&nbsp;N&nbsp;&nbsp;$isbn"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Thank&nbsp;you&nbsp;for&nbsp;trying&nbsp;Voice&nbsp;PHP&nbsp;Demo"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />foreach(</span><span style="color: #0000BB">$parsed_xml</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Items</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Item&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$current</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$offerlist&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$current</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Offers</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Offer</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">OfferListing</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$content&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$current</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">EditorialReviews</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">EditorialReview</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Content</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(isset(</span><span style="color: #0000BB">$offerlist</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">OfferListingId</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Book&nbsp;Title&nbsp;:&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$current</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ItemAttributes</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Title</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if(isset(</span><span style="color: #0000BB">$current</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ItemAttributes</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Author</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(</span><span style="color: #DD0000">"Author&nbsp;:&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$current</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ItemAttributes</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Author</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;print(</span><span style="color: #DD0000">"Amazon&nbsp;Offer&nbsp;Price:&nbsp;"</span><span style="color: #007700">.</span><span style="color: #0000BB">$offerlist</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">Price</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">FormattedPrice</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$content&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strip_tags</span><span style="color: #007700">(</span><span style="color: #0000BB">$content</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$len&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$content</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$read&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Press&nbsp;1&nbsp;to&nbsp;hear&nbsp;the&nbsp;review&nbsp;or&nbsp;2&nbsp;to&nbsp;add&nbsp;to&nbsp;cart"</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">$len&nbsp;</span><span style="color: #007700">&amp;&amp;&nbsp;</span><span style="color: #0000BB">$read</span><span style="color: #007700">==</span><span style="color: #DD0000">"1"</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">+=</span><span style="color: #0000BB">200</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$review&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$content</span><span style="color: #007700">,</span><span style="color: #0000BB">$i</span><span style="color: #007700">,</span><span style="color: #0000BB">200</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #0000BB">$review</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$i</span><span style="color: #007700">==</span><span style="color: #0000BB">0</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$read&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Press&nbsp;1&nbsp;to&nbsp;hear&nbsp;more&nbsp;or&nbsp;2&nbsp;to&nbsp;add&nbsp;to&nbsp;cart"</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">,</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$read&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"2"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cartId&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">add_cart</span><span style="color: #007700">(</span><span style="color: #0000BB">$offerlist</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">OfferListingId</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />if(</span><span style="color: #0000BB">$cartId</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$card&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Enter&nbsp;your&nbsp;credit&nbsp;card&nbsp;number&nbsp;now"</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">20</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//Perform&nbsp;the&nbsp;Credit&nbsp;Card&nbsp;check&nbsp;or&nbsp;Subscription&nbsp;processing&nbsp;etc...<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Credit&nbsp;card&nbsp;number&nbsp;entered&nbsp;is&nbsp;$card"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Speak&nbsp;your&nbsp;postal&nbsp;address&nbsp;now,&nbsp;press&nbsp;hash&nbsp;when&nbsp;done."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$address&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">record</span><span style="color: #007700">(</span><span style="color: #DD0000">'#'</span><span style="color: #007700">,</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">60</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Your&nbsp;address&nbsp;has&nbsp;been&nbsp;recorded&nbsp;for&nbsp;shipping"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//Perform&nbsp;the&nbsp;shipping&nbsp;process...&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">}<br />echo&nbsp;</span><span style="color: #DD0000">"Thank&nbsp;you&nbsp;for&nbsp;trying&nbsp;out&nbsp;Voice&nbsp;PHP&nbsp;demo."</span><span style="color: #007700">;<br /><br />function&nbsp;</span><span style="color: #0000BB">add_cart</span><span style="color: #007700">(</span><span style="color: #0000BB">$offerListingId</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$request</span><span style="color: #007700">=</span><span style="color: #DD0000">"http://code.voicephp.com/samples/create_cart.php?Id=$offerListingId"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$response&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Fetch</span><span style="color: #007700">(</span><span style="color: #0000BB">$request</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if(empty(</span><span style="color: #0000BB">$response</span><span style="color: #007700">))&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Could&nbsp;not&nbsp;add&nbsp;to&nbsp;cart"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Book&nbsp;added&nbsp;to&nbsp;cart"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">explode</span><span style="color: #007700">(</span><span style="color: #DD0000">'&nbsp;'</span><span style="color: #007700">,</span><span style="color: #0000BB">$response</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$cartId&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">$cartId</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/amazon.voicephp>Download source code</a></p></downloadlink></p>
<p><h3>Try It Now!</h3><p>Click the button below or call <strong>+15672449576</strong> to run the application.</p>
		<div id="tringme25151"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tfbebtree44q693o1dac416a17q397&name=Amazon+Book+Search&wtype=1&divid=tringme25151&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/amazon-shopping-just-a-phone-call-away/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Past the VoiceXML Limitations &#8211; VoicePHP Audio Player</title>
		<link>http://code.voicephp.com/getting-past-the-voicexml-limitations-voicephp-audio-player/</link>
		<comments>http://code.voicephp.com/getting-past-the-voicexml-limitations-voicephp-audio-player/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 09:23:22 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[DTMF]]></category>
		<category><![CDATA[Intermediate]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=228</guid>
		<description><![CDATA[One of the shortcomings of VoiceXML is its inability to do pause, resume, forward and rewind during a voice playback functionality. VoiceXML specification doesn&#8217;t even include such increasingly common features. Brian Brown has succintly identified the lack of same in a well-written article &#8220;Is VoiceXML the Right Tool for Your Voice Application&#8221;?
Lack of such functionalities really impact the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the shortcomings of VoiceXML is its inability to do pause, resume, forward and rewind during a voice playback functionality. VoiceXML specification doesn&#8217;t even include such increasingly common features. Brian Brown has succintly identified the lack of same in a well-written article <em><a href="http://www.developer.com/voice/article.php/11062_1573371">&#8220;Is VoiceXML the Right Tool for Your Voice Application&#8221;</a></em>?</p>
<p>Lack of such functionalities really impact the usability of the applications. For example, lets say you are accessing your voicemails. The voicemail is being played is a long one and you probably didn&#8217;t hear the previous sentense very well and want to rewind a bit, you are stuck now.  There is no way this can built in VoiceXML due to lack of state information about voice stream being played. Surprising? yeah, but true!</p>
<p>Contrast that with the ability of VoicePHP and see for yourself how easy it is to build a audio playback application. Potential applications that can benefit from this functionality are an email reader, voicemail player, a music on demand media player etc.</p>
<p>This application demonstrates:</p>
<ul>
<li>How to use DTMF to aid user to navigate between typical media player functions.</li>
<li>Usage of Play to control Play, Rewind, Forward functionality.</li>
</ul>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Welcome&nbsp;to&nbsp;Voice&nbsp;PHP&nbsp;audio&nbsp;player"</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"Audio&nbsp;playback&nbsp;will&nbsp;begin&nbsp;shortly.&nbsp;At&nbsp;anytime,&nbsp;press&nbsp;2&nbsp;to&nbsp;pause,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;to&nbsp;stop,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;to&nbsp;rewind,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5&nbsp;to&nbsp;fast&nbsp;forward,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6&nbsp;to&nbsp;restart&nbsp;and<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;to&nbsp;exit."</span><span style="color: #007700">;&nbsp;<br /></span><span style="color: #0000BB">$play&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$offset</span><span style="color: #007700">=</span><span style="color: #0000BB">5000</span><span style="color: #007700">;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Rewind&nbsp;and&nbsp;Fast-Forward&nbsp;Offset<br /></span><span style="color: #0000BB">$streampos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /><br />while(</span><span style="color: #0000BB">$play</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">play</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://code.voicephp.com/samples/3732.pcm"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">,</span><span style="color: #0000BB">$streampos</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$streampos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_VOICEPHP</span><span style="color: #007700">[</span><span style="color: #DD0000">'streampos'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$streamlen&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_VOICEPHP</span><span style="color: #007700">[</span><span style="color: #DD0000">'streamlen'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;switch(</span><span style="color: #0000BB">$choice</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">:&nbsp;</span><span style="color: #FF8000">//&nbsp;Exit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">exit();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">4</span><span style="color: #007700">:&nbsp;</span><span style="color: #FF8000">//&nbsp;Rewind<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$streampos&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$streampos</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">$offset</span><span style="color: #007700">)?</span><span style="color: #0000BB">0</span><span style="color: #007700">:(</span><span style="color: #0000BB">$streampos</span><span style="color: #007700">-</span><span style="color: #0000BB">$offset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">:&nbsp;</span><span style="color: #FF8000">//&nbsp;Forward<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$streampos&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$streampos</span><span style="color: #007700">&gt;(</span><span style="color: #0000BB">$streamlen</span><span style="color: #007700">-</span><span style="color: #0000BB">$offset</span><span style="color: #007700">))?</span><span style="color: #0000BB">0</span><span style="color: #007700">:(</span><span style="color: #0000BB">$streampos</span><span style="color: #007700">+</span><span style="color: #0000BB">$offset</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">:&nbsp;</span><span style="color: #FF8000">//&nbsp;Pause<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Playback&nbsp;paused.&nbsp;Press&nbsp;1&nbsp;to&nbsp;resume,&nbsp;any&nbsp;key&nbsp;to&nbsp;exit"</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">10</span><span style="color: #007700">,</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">)!=</span><span style="color: #DD0000">"1"</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$play</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">:&nbsp;</span><span style="color: #FF8000">//&nbsp;Playback&nbsp;Completed.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">case&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">:&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Playback&nbsp;paused.&nbsp;Press&nbsp;1&nbsp;to&nbsp;resume,&nbsp;any&nbsp;key&nbsp;to&nbsp;exit"</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">,</span><span style="color: #0000BB">10</span><span style="color: #007700">,</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">)!=</span><span style="color: #DD0000">"1"</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$play</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">6</span><span style="color: #007700">:&nbsp;</span><span style="color: #FF8000">//&nbsp;Restart<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$streampos&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/audioplayer.voicephp>Download source code</a></p></downloadlink></p>
<p>In part two of this application, we will demonstrate a fully functional media player application. We will show also share with you a re-usable mediaplayer function which implements the common features of a mediaplayer.</p>
<p><h3>Try It Now!</h3><p>Click the button below or call <strong>+15672445604</strong> to run the application.</p>
		<div id="tringme68375"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tf98dt60cta8822228c6b3bd7v6d39&name=Audio+Player&wtype=1&divid=tringme68375&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/getting-past-the-voicexml-limitations-voicephp-audio-player/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Listen to your Emails &#8211; Part I</title>
		<link>http://code.voicephp.com/listen-to-your-emails-part-i/</link>
		<comments>http://code.voicephp.com/listen-to-your-emails-part-i/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 16:22:13 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Intermediate]]></category>
		<category><![CDATA[email]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=203</guid>
		<description><![CDATA[Continuing with the series of  integrating voice into the web, here is an IMAP email client application. This code shows how VoicePHP can be used to easily write web applications which speaks and listens.
This demo does the following:

It establishes an IMAP connection to the specified IMAP server.
It fetches the new messages in the last 2 days.
It reads [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing with the series of  integrating voice into the web, here is an IMAP email client application. This code shows how VoicePHP can be used to easily write web applications which speaks and listens.</p>
<p>This demo does the following:</p>
<ul>
<li>It establishes an IMAP connection to the specified IMAP server.</li>
<li>It fetches the new messages in the last 2 days.</li>
<li>It reads out the subject of the mail and allows you to hear the body of the message by pressing 1.</li>
</ul>
<p>The application can be easily customized to your needs. For sake of demonstrating it, we&#8217;ve customized it to read emails from <a href="mailto:test.voicephp@gmail.com">test.voicephp@gmail.com</a>. To try it out, just send an email to <a href="mailto:test.voicephp@gmail.com">test.voicephp@gmail.com</a> and then click on the widget below to hear your message being read out.</p>
<p>We can&#8217;t wait to see how a VoiceXML based email client code would look like. Any takers?</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Welcome&nbsp;To&nbsp;VoicePHP&nbsp;E&nbsp;Mail&nbsp;Reader&nbsp;Demo"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$mail&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imap_open</span><span style="color: #007700">(</span><span style="color: #DD0000">'{imap.gmail.com:993/imap/ssl}INBOX'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'test.voicephp@gmail.com'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'********'</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;die(</span><span style="color: #DD0000">"Connection&nbsp;to&nbsp;mail&nbsp;server&nbsp;failed:&nbsp;"</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">imap_last_error</span><span style="color: #007700">());<br /><br /></span><span style="color: #FF8000">//Search&nbsp;mailbox&nbsp;for&nbsp;unread&nbsp;messages&nbsp;<br /></span><span style="color: #0000BB">$messages</span><span style="color: #007700">=</span><span style="color: #0000BB">imap_search&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">$mail</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'UNSEEN&nbsp;SINCE&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">date</span><span style="color: #007700">(</span><span style="color: #DD0000">'d-M-Y'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">time</span><span style="color: #007700">()&nbsp;-&nbsp;</span><span style="color: #0000BB">7200</span><span style="color: #007700">)&nbsp;.&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">);<br />if(</span><span style="color: #0000BB">$messages&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">rsort</span><span style="color: #007700">(</span><span style="color: #0000BB">$messages</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$messages</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"You&nbsp;have&nbsp;$count&nbsp;new&nbsp;unread&nbsp;mails"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"To&nbsp;hear&nbsp;the&nbsp;body&nbsp;of&nbsp;a&nbsp;mail,&nbsp;press&nbsp;1&nbsp;after&nbsp;the&nbsp;subject&nbsp;is&nbsp;read,<br />&nbsp;&nbsp;&nbsp;&nbsp;press&nbsp;0&nbsp;to&nbsp;exit&nbsp;anytime"</span><span style="color: #007700">;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">get_subject</span><span style="color: #007700">(</span><span style="color: #0000BB">$messages</span><span style="color: #007700">,</span><span style="color: #0000BB">$count</span><span style="color: #007700">,</span><span style="color: #0000BB">$subject</span><span style="color: #007700">,</span><span style="color: #0000BB">$header</span><span style="color: #007700">,</span><span style="color: #0000BB">$mail</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">$count</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++){&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$voicetype&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$i</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)?</span><span style="color: #DD0000">"female"</span><span style="color: #007700">:</span><span style="color: #DD0000">"male"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"voicetype"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$voicetype</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$op&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #0000BB">$subject</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$op&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"1"</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">read_mail</span><span style="color: #007700">(</span><span style="color: #0000BB">$messages</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">$mail</span><span style="color: #007700">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Returning&nbsp;to&nbsp;subject&nbsp;menu"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif(</span><span style="color: #0000BB">$op&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">"0"</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"You&nbsp;have&nbsp;no&nbsp;new&nbsp;mails"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">imap_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$mail</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"Thank&nbsp;you&nbsp;for&nbsp;trying&nbsp;Voice&nbsp;PHP&nbsp;Demo"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//Get&nbsp;the&nbsp;subject&nbsp;of&nbsp;the&nbsp;mail&nbsp;..<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">get_subject</span><span style="color: #007700">(</span><span style="color: #0000BB">$messages</span><span style="color: #007700">,</span><span style="color: #0000BB">$count</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">$subject</span><span style="color: #007700">,&amp;</span><span style="color: #0000BB">$header</span><span style="color: #007700">,</span><span style="color: #0000BB">$mail</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">$i</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">&lt;</span><span style="color: #0000BB">$count</span><span style="color: #007700">;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//Get&nbsp;IMAP&nbsp;header&nbsp;info&nbsp;for&nbsp;mail<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$header&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imap_headerinfo</span><span style="color: #007700">(</span><span style="color: #0000BB">$mail</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$messages</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$subject</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">"Mail&nbsp;from&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$header</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">from</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]-&gt;</span><span style="color: #0000BB">personal&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"&nbsp;with&nbsp;subject&nbsp;"&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$header</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">subject</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//Read&nbsp;a&nbsp;mail&nbsp;body..<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">read_mail</span><span style="color: #007700">(</span><span style="color: #0000BB">$num</span><span style="color: #007700">,</span><span style="color: #0000BB">$mail</span><span style="color: #007700">)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;the&nbsp;message&nbsp;body<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$st&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imap_fetchstructure</span><span style="color: #007700">(</span><span style="color: #0000BB">$mail</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$num</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!empty(</span><span style="color: #0000BB">$st</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">parts</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$j&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$st</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">parts</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">$j</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$part&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$st</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">parts</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$part</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">subtype&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'PLAIN'</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$body&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imap_fetchbody</span><span style="color: #007700">(</span><span style="color: #0000BB">$mail</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$num</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">+</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$body&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">imap_body</span><span style="color: #007700">(</span><span style="color: #0000BB">$mail</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$num</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #0000BB">$body</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/emailreader.voicephp>Download source code</a></p></downloadlink></p>
<p><h3>Try It Now!</h3><p>Click the button below or call <strong>+15672440715</strong> to run the application.</p>
		<div id="tringme81080"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tf7eetf6aa58a0b6f68bd2861ffh78&name=E-mail+Client&wtype=1&divid=tringme81080&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/listen-to-your-emails-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back-end driven VoicePHP application</title>
		<link>http://code.voicephp.com/back-end-driven-voicephp-application/</link>
		<comments>http://code.voicephp.com/back-end-driven-voicephp-application/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 13:37:19 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Beginners]]></category>
		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=177</guid>
		<description><![CDATA[All practical applications need to use the data on the back-end to drive certain aspect of the application behavior. For voice based interaction, it can be quite easily done in VoicePHP.
Diagram below shows a typical application flow.





Key steps to look at:

User interacts with the VoicePHP script.
VoicePHP script interacts with the back-end**.
Back-end does a database lookup and [...]]]></description>
			<content:encoded><![CDATA[<p>All practical applications need to use the data on the back-end to drive certain aspect of the application behavior. For voice based interaction, it can be quite easily done in VoicePHP.</p>
<p>Diagram below shows a typical application flow.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_181" class="wp-caption aligncenter" style="width: 457px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-181" title="backend_driven" src="http://code.voicephp.com/samples/backend_driven.jpg" alt="Back-end driven application" width="447" height="263" /></dt>
</dl>
</div>
<p>Key steps to look at:</p>
<ul>
<li>User interacts with the VoicePHP script.</li>
<li>VoicePHP script interacts with the back-end**.</li>
<li>Back-end does a database lookup and formulates appropriate response which is then conveyed to user via VoicePHP interaction.</li>
</ul>
<p>Consider the sample code below. It is split into a front-end VoicePHP file that interacts with the user and a back-end PHP file (back-end could be anything &#8211; PHP, ASP, .NET etc.).</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;frontend.voicephp<br /><br />//&nbsp;...&nbsp;<br /><br /></span><span style="color: #0000BB">$pin&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Enter&nbsp;Your&nbsp;Pin&nbsp;Number"</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//&nbsp;Back-end&nbsp;can&nbsp;use&nbsp;<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">notify</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://backend.myserver.com/authenticate.php?pin=$pin"</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #DD0000">"You&nbsp;name&nbsp;is&nbsp;$result"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;...<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/frontend.voicephp>Download source code</a></p></downloadlink></p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;backend.php<br /><br />//PIN&nbsp;used&nbsp;to&nbsp;validate&nbsp;the&nbsp;user.<br /></span><span style="color: #0000BB">$pin&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$_REQUEST</span><span style="color: #007700">[</span><span style="color: #DD0000">'pin'</span><span style="color: #007700">];<br /><br /></span><span style="color: #FF8000">//&nbsp;...&nbsp;assuming&nbsp;database&nbsp;is&nbsp;connected&nbsp;..&nbsp;<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"select&nbsp;*&nbsp;from&nbsp;user_info&nbsp;where&nbsp;userpin&nbsp;=&nbsp;'$pin'"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_row</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">//&nbsp;...&nbsp;do&nbsp;other&nbsp;processing&nbsp;and&nbsp;return&nbsp;...<br /><br />//&nbsp;$row[1]&nbsp;-&gt;&nbsp;User&nbsp;Name<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"$row[1]"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/backend.txt>Download source code</a></p></downloadlink></p>
<p>As you can see, in the front-end VoicePHP file,</p>
<ul>
<li>The user is asked to enter the PIN number.</li>
<li>Using <a href="http://voicephp.com/api/notify.html">notify</a>, the application passes the information to the back-end script.</li>
<li>It uses the response from notify to echo the output to user.</li>
</ul>
<p>In the back-end script,</p>
<ul>
<li>The PIN number is used to do a database lookup.</li>
<li>Relevant information (name, in this case) is returned back.</li>
</ul>
<p><em>** Note:  If one was using the &#8220;premise model&#8221;, the VoicePHP script could interact with the database directly.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/back-end-driven-voicephp-application/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Get your Caller Id</title>
		<link>http://code.voicephp.com/get-your-caller-id/</link>
		<comments>http://code.voicephp.com/get-your-caller-id/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 09:54:54 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Caller-id]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=157</guid>
		<description><![CDATA[In this example, we show you how easy it is to retrieve caller-id using VoicePHP.  Being able to use caller-id can open doors to interesting usage for identifying the user and customizing the application content/behavior.

&#60;?phpecho&#160;"Welcome&#160;to&#160;VoicePHP&#160;Caller&#160;ID&#160;Demo";&#160;setvoiceoption("autospellnumbers",&#160;7);echo&#160;"Your&#160;caller&#160;ID&#160;is&#160;{$_VOICEPHP['callerid']}";&#160;?&#62;
Download source code
Try It Now!Call +15672449992 to run the application.
]]></description>
			<content:encoded><![CDATA[<p>In this example, we show you how easy it is to retrieve caller-id using VoicePHP.  Being able to use caller-id can open doors to interesting usage for identifying the user and customizing the application content/behavior.</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Welcome&nbsp;to&nbsp;VoicePHP&nbsp;Caller&nbsp;ID&nbsp;Demo"</span><span style="color: #007700">;&nbsp;<br /></span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"autospellnumbers"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">7</span><span style="color: #007700">);<br />echo&nbsp;</span><span style="color: #DD0000">"Your&nbsp;caller&nbsp;ID&nbsp;is&nbsp;{$_VOICEPHP['callerid']}"</span><span style="color: #007700">;&nbsp;<br /></span><span style="color: #0000BB">?&gt;<br /></span><br /></span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/callerid.voicephp>Download source code</a></p></downloadlink></p>
<p><h3>Try It Now!</h3><p>Call <strong>+15672449992</strong> to run the application.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/get-your-caller-id/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Voice Twitter &#8211; Access your tweets over phone &#8211; Part I</title>
		<link>http://code.voicephp.com/voice-twitter-part-i/</link>
		<comments>http://code.voicephp.com/voice-twitter-part-i/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 15:32:07 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Beginners]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[speak]]></category>
		<category><![CDATA[tweet]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=124</guid>
		<description><![CDATA[Do you Twitter? Would&#8217;t it be convenient to hear and reply back to tweets using your phone? Here is the code that makes it all possible.
In this code sample, we show you an easy way to retrieve twitter feeds and play them using VoicePHP. This code example also shows how to use JSON (JavaScript Object Notation) within [...]]]></description>
			<content:encoded><![CDATA[<p>Do you Twitter? Would&#8217;t it be convenient to hear and reply back to tweets using your phone? Here is the code that makes it all possible.</p>
<p>In this code sample, we show you an easy way to retrieve twitter feeds and play them using VoicePHP. This code example also shows how to use <a href="http://json.org">JSON</a> (JavaScript Object Notation) within VoicePHP.</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;The&nbsp;twitter&nbsp;feed&nbsp;you&nbsp;are&nbsp;interested&nbsp;in<br /></span><span style="color: #0000BB">$tweetname&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'CNN'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$tweeturl&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'http://twitter.com/statuses/user_timeline/cnn.json'</span><span style="color: #007700">;<br /><br />echo&nbsp;</span><span style="color: #DD0000">"&nbsp;Welcome&nbsp;To&nbsp;The&nbsp;Voice&nbsp;PHP&nbsp;Tweet&nbsp;Reader&nbsp;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$response&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Fetch</span><span style="color: #007700">(</span><span style="color: #0000BB">$tweeturl</span><span style="color: #007700">);&nbsp;</span><span style="color: #FF8000">//Get&nbsp;all&nbsp;the&nbsp;tweets&nbsp;<br /></span><span style="color: #007700">if&nbsp;(empty(</span><span style="color: #0000BB">$response</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'No&nbsp;Tweets'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return;<br />}<br /><br />echo&nbsp;</span><span style="color: #DD0000">"Reading&nbsp;$tweetname&nbsp;Tweets"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$json_res&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">json_decode&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">$response</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$number_msg&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$json_res</span><span style="color: #007700">);<br />while(</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">$number_msg</span><span style="color: #007700">){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$text&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$json_res</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">][</span><span style="color: #DD0000">'text'</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//Eat&nbsp;any&nbsp;URL&nbsp;we&nbsp;encounter&nbsp;in&nbsp;the&nbsp;tweet<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"^((http://)([a-zA-Z0-9?&amp;%.;:/=+_-]*))^"</span><span style="color: #007700">,</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$text</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">speak</span><span style="color: #007700">(</span><span style="color: #DD0000">"Reading&nbsp;Tweet&nbsp;$i&nbsp;"</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">speak</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">,</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br />}<br /><br />echo&nbsp;</span><span style="color: #DD0000">"Thank&nbsp;you&nbsp;for&nbsp;trying&nbsp;Voice&nbsp;PHP&nbsp;Tweet&nbsp;Reader"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/tweetreader.voicephp>Download source code</a></p></downloadlink></p>
<p>In part 2 of this, we will also show how easy it is to Tweet back using voice.</p>
<p><h3>Try It Now!</h3><p>Click the button below or call <strong>+15672449921</strong> to run the application.</p>
		<div id="tringme87624"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tf592tka4t35az331afv29dmb33it1&name=Tweet+Reader&wtype=1&divid=tringme87624&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/voice-twitter-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Voice RSS &#8211; Let your blog speak &#8211; Part I</title>
		<link>http://code.voicephp.com/voice-rss-let-your-blog-speak-part-i/</link>
		<comments>http://code.voicephp.com/voice-rss-let-your-blog-speak-part-i/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 16:15:25 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=23</guid>
		<description><![CDATA[How often have you thought that it would be a cool idea to hear your favorite RSS feeds? If you are a blogger or a webmaster, wouldn&#8217;t it be a nice addition to have your blogs be spoken to the reader?
Well, think no more. Code below shows a simple implementation of an Voice RSS Reader.
Here [...]]]></description>
			<content:encoded><![CDATA[<p>How often have you thought that it would be a cool idea to hear your favorite RSS feeds? If you are a blogger or a webmaster, wouldn&#8217;t it be a nice addition to have your blogs be spoken to the reader?</p>
<p>Well, think no more. Code below shows a simple implementation of an Voice RSS Reader.<br />
Here are the key steps of this application:</p>
<ul>
<li>Specify the URL for the RSS feeds you are interested in.</li>
<li>Ask the user to select a feed by pressing the appropriate keys on the keypad</li>
<li>Fetch the RSS feeds using a helper function</li>
<li>Speak the title of the feeds and if user is interested, the description of that feed</li>
</ul>
<p><span id="more-23"></span><br />
This example demonstrates advanced usage of the <a href="http://voicephp.com/api/prompt.html">prompt</a> API. In particular, check out:</p>
<ul>
<li>Usage of timeout to control the duration within which a user input is requested.</li>
<li>Usage of barge_in to specify if the user can interrupt the prompt being played.</li>
<li>Finally, a simple way to specify dtmf grammar of expecting a single digit dtmf input</li>
</ul>
<p>Enjoy the simplicity of VoicePHP. In Part II, we will enhance this application using ASR (automatic speech recognition).</p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">include_once&nbsp;(</span><span style="color: #DD0000">"rssutils.php"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">//&nbsp;Feed&nbsp;Provider&nbsp;Name&nbsp;&amp;&nbsp;URL&nbsp;(Below&nbsp;list&nbsp;in&nbsp;alphabetical&nbsp;order)<br /></span><span style="color: #0000BB">$rss&nbsp;</span><span style="color: #007700">=&nbsp;array&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'Giga&nbsp;Om'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'http://feedproxy.google.com/ommalik'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'New&nbsp;York&nbsp;Times'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'http://www.nytimes.com/services/xml/rss/nyt/Americas.xml'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'Plugged&nbsp;In'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'http://feedproxy.google.com/pluggd'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'Read&nbsp;Write&nbsp;Web'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'http://feeds2.feedburner.com/readwriteweb'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'Tech&nbsp;Crunch'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'http://feedproxy.google.com/TechCrunch'</span><span style="color: #007700">),<br />&nbsp;&nbsp;&nbsp;&nbsp;array(</span><span style="color: #DD0000">'USA&nbsp;Today'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'http://rssfeeds.usatoday.com/usatoday-NewsTopStories'</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;);<br /><br /></span><span style="color: #0000BB">$feedcount&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$rss</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$prompttext&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />for(</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">&lt;=&nbsp;</span><span style="color: #0000BB">$feedcount</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$i</span><span style="color: #007700">++)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$prompttext&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">"press&nbsp;$i&nbsp;to&nbsp;hear&nbsp;news&nbsp;from&nbsp;{$rss[$i-1][0]},&nbsp;"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$prompttext&nbsp;</span><span style="color: #007700">.=&nbsp;</span><span style="color: #DD0000">'press&nbsp;0&nbsp;to&nbsp;exit'</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #DD0000">"Welcome&nbsp;to&nbsp;the&nbsp;Voice&nbsp;PHP&nbsp;demo&nbsp;of&nbsp;voice&nbsp;RSS&nbsp;reader."</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$loop_count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;<br />while(</span><span style="color: #0000BB">$loop_count</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"voicetype"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'female'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #0000BB">$prompttext</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'0'</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">&gt;&nbsp;</span><span style="color: #0000BB">$feedcount</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"Invalid&nbsp;choice,&nbsp;try&nbsp;again"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$loop_count</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">speak_rss</span><span style="color: #007700">(</span><span style="color: #0000BB">$rss</span><span style="color: #007700">[</span><span style="color: #0000BB">$choice</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">][</span><span style="color: #0000BB">0</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">$rss</span><span style="color: #007700">[</span><span style="color: #0000BB">$choice</span><span style="color: #007700">-</span><span style="color: #0000BB">1</span><span style="color: #007700">][</span><span style="color: #0000BB">1</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;break;<br />}<br /><br />echo&nbsp;</span><span style="color: #DD0000">"Thank&nbsp;you&nbsp;for&nbsp;trying&nbsp;out&nbsp;Voice&nbsp;PHP&nbsp;demo."</span><span style="color: #007700">;<br /><br />function&nbsp;</span><span style="color: #0000BB">speak_rss&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">$name</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$url</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Get&nbsp;RSS&nbsp;feeds&nbsp;from&nbsp;the&nbsp;selected&nbsp;feed&nbsp;using&nbsp;a&nbsp;helper&nbsp;function<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">false&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #0000BB">get_rss</span><span style="color: #007700">(</span><span style="color: #0000BB">$url</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">5</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">512</span><span style="color: #007700">,&nbsp;&amp;</span><span style="color: #0000BB">$result</span><span style="color: #007700">))&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$loop_count&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(</span><span style="color: #0000BB">$loop_count</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"voicetype"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'female'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo(</span><span style="color: #DD0000">"Reading&nbsp;news&nbsp;title&nbsp;from&nbsp;$name&nbsp;now.&nbsp;At&nbsp;any&nbsp;time,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;press&nbsp;1&nbsp;to&nbsp;get&nbsp;details&nbsp;on&nbsp;the&nbsp;news,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;press&nbsp;0&nbsp;to&nbsp;exit."</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">$count</span><span style="color: #007700">=</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$count&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">$count</span><span style="color: #007700">++)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$voicetype&nbsp;</span><span style="color: #007700">=&nbsp;(</span><span style="color: #0000BB">$count</span><span style="color: #007700">&amp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)?</span><span style="color: #DD0000">"female"</span><span style="color: #007700">:</span><span style="color: #DD0000">"male"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">setvoiceoption</span><span style="color: #007700">(</span><span style="color: #DD0000">"voicetype"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$voicetype</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #0000BB">$count</span><span style="color: #007700">][</span><span style="color: #DD0000">'title'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'1'</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #0000BB">$count</span><span style="color: #007700">][</span><span style="color: #DD0000">'description'</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"dtmf:1"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(</span><span style="color: #0000BB">$choice&nbsp;</span><span style="color: #007700">==&nbsp;</span><span style="color: #DD0000">'0'</span><span style="color: #007700">)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sleep</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$loop_count</span><span style="color: #007700">--;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}&nbsp;</span><span style="color: #FF8000">//&nbsp;End&nbsp;of&nbsp;function&nbsp;speak_rss<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/rssreader.voicephp>Download source code</a></p></downloadlink><br />
<h3>Try It Now!</h3><p>Click the button below or call <strong>+15672449192</strong> to run the application.</p>
		<div id="tringme69854"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tf4aet6j16bofmdy7vu1h78124mwbo&name=Voice+RSS+Reader&wtype=1&divid=tringme69854&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/voice-rss-let-your-blog-speak-part-i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create your first IVR application using VoicePHP</title>
		<link>http://code.voicephp.com/create-your-first-ivr-application-using-voicephp/</link>
		<comments>http://code.voicephp.com/create-your-first-ivr-application-using-voicephp/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 08:21:38 +0000</pubDate>
		<dc:creator>coder</dc:creator>
				<category><![CDATA[Beginners]]></category>
		<category><![CDATA[DTMF]]></category>
		<category><![CDATA[IVR]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/?p=15</guid>
		<description><![CDATA[In this example, we will show you how easy it is to implement an IVR application using VoicePHP in merely a few lines of code. The code is commented and self explanatory. Leave us a comment if you have any questions. 

&#60;?php//&#160;Welcome&#160;the&#160;user&#160;to&#160;the&#160;world&#160;of&#160;VoicePHPecho&#160;"This&#160;is&#160;a&#160;demonstration&#160;of&#160;Voice&#160;PHP.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;You&#160;can&#160;make&#160;calls&#160;and&#160;send&#160;messages&#160;right&#160;away.";//&#160;Lets&#160;ask&#160;him&#160;to&#160;type&#160;in&#160;the&#160;destination,&#160;bargein&#160;is&#160;enabled$destination&#160;=&#160;prompt("Dial&#160;the&#160;destination&#160;phone&#160;number",&#160;1);echo&#160;"You&#160;dialed,&#160;&#160;$destination";//&#160;Get&#160;user's&#160;input.&#160;Note&#160;that&#160;bargein&#160;is&#160;disabled$action&#160;=&#160;prompt("Press&#160;1&#160;to&#160;send&#160;a&#160;message,&#160;2&#160;to&#160;make&#160;a&#160;call&#160;or&#160;3&#160;to&#160;exit");switch&#160;($action)&#160;{&#160;&#160;&#160;&#160;case&#160;1:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo&#160;"I&#160;am&#160;sending&#160;a&#160;message&#160;to,&#160;$destination";&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sms($destination,"From&#160;VoicePHP(http://voicephp.com)&#160;demo");&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case&#160;2:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo&#160;"I&#160;am&#160;transfering&#160;you&#160;to,&#160;$destination";&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;transfer($destination,&#160;0,&#160;'',&#160;10);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case&#160;3:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo&#160;"$action&#160;is&#160;not&#160;a&#160;valid&#160;option.";&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;}echo&#160;"Good&#160;bye,&#160;Thank&#160;you&#160;for&#160;trying&#160;Voice&#160;PHP";?&#62;

Download source code
Try It Now!Click the button below or call +15672449239 to run the application.
		 [...]]]></description>
			<content:encoded><![CDATA[<p>In this example, we will show you how easy it is to implement an IVR application using VoicePHP in merely a few lines of code. The code is commented and self explanatory. Leave us a comment if you have any questions. <span id="more-15"></span></p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">//&nbsp;Welcome&nbsp;the&nbsp;user&nbsp;to&nbsp;the&nbsp;world&nbsp;of&nbsp;VoicePHP<br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;a&nbsp;demonstration&nbsp;of&nbsp;Voice&nbsp;PHP.&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;can&nbsp;make&nbsp;calls&nbsp;and&nbsp;send&nbsp;messages&nbsp;right&nbsp;away."</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Lets&nbsp;ask&nbsp;him&nbsp;to&nbsp;type&nbsp;in&nbsp;the&nbsp;destination,&nbsp;bargein&nbsp;is&nbsp;enabled<br /></span><span style="color: #0000BB">$destination&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Dial&nbsp;the&nbsp;destination&nbsp;phone&nbsp;number"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br />echo&nbsp;</span><span style="color: #DD0000">"You&nbsp;dialed,&nbsp;&nbsp;$destination"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//&nbsp;Get&nbsp;user's&nbsp;input.&nbsp;Note&nbsp;that&nbsp;bargein&nbsp;is&nbsp;disabled<br /></span><span style="color: #0000BB">$action&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">prompt</span><span style="color: #007700">(</span><span style="color: #DD0000">"Press&nbsp;1&nbsp;to&nbsp;send&nbsp;a&nbsp;message,&nbsp;2&nbsp;to&nbsp;make&nbsp;a&nbsp;call&nbsp;or&nbsp;3&nbsp;to&nbsp;exit"</span><span style="color: #007700">);<br /><br />switch&nbsp;(</span><span style="color: #0000BB">$action</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"I&nbsp;am&nbsp;sending&nbsp;a&nbsp;message&nbsp;to,&nbsp;$destination"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">sms</span><span style="color: #007700">(</span><span style="color: #0000BB">$destination</span><span style="color: #007700">,</span><span style="color: #DD0000">"From&nbsp;VoicePHP(http://voicephp.com)&nbsp;demo"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"I&nbsp;am&nbsp;transfering&nbsp;you&nbsp;to,&nbsp;$destination"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">transfer</span><span style="color: #007700">(</span><span style="color: #0000BB">$destination</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">''</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;</span><span style="color: #0000BB">3</span><span style="color: #007700">:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;default:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"$action&nbsp;is&nbsp;not&nbsp;a&nbsp;valid&nbsp;option."</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />}<br />echo&nbsp;</span><span style="color: #DD0000">"Good&nbsp;bye,&nbsp;Thank&nbsp;you&nbsp;for&nbsp;trying&nbsp;Voice&nbsp;PHP"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/ivrdemo.voicephp>Download source code</a></p></downloadlink></p>
<p><h3>Try It Now!</h3><p>Click the button below or call <strong>+15672449239</strong> to run the application.</p>
		<div id="tringme42894"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tf47bt99bedv96f896bt896y9n2fcg&name=IVR+Demo&wtype=1&divid=tringme42894&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/create-your-first-ivr-application-using-voicephp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hello world! &#8211; First VoicePHP Application</title>
		<link>http://code.voicephp.com/hello-world-first-voicephp-application/</link>
		<comments>http://code.voicephp.com/hello-world-first-voicephp-application/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 09:43:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Beginners]]></category>
		<category><![CDATA[Hello World]]></category>

		<guid isPermaLink="false">http://code.voicephp.com/hello-world-first-voicephp-application/</guid>
		<description><![CDATA[Welcome to VoicePHP!!!
In the tradition of demonstrating a &#8220;hello world&#8221; application, this script shows how to speak hello world using VoicePHP. Simple, eh? 

&#60;?phpecho&#160;"Hello!&#160;Welcome&#160;to&#160;the&#160;world&#160;of&#160;Voice&#160;PHP&#160;....&#160;";?&#62;

Download source code
Try It Now!Click the button below or call +15672480117 to run the application.
		                  [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to VoicePHP!!!</p>
<p>In the tradition of demonstrating a &#8220;hello world&#8221; application, this script shows how to speak hello world using VoicePHP. Simple, eh? <span id="more-66"></span></p>
<p><blockquote><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"Hello!&nbsp;Welcome&nbsp;to&nbsp;the&nbsp;world&nbsp;of&nbsp;Voice&nbsp;PHP&nbsp;....&nbsp;"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;<br /></span>
</span>
</code></blockquote><downloadlink><p><a href=http://code.voicephp.com/samples/helloworld.voicephp>Download source code</a></p></downloadlink><br />
<h3>Try It Now!</h3><p>Click the button below or call <strong>+15672480117</strong> to run the application.</p>
		<div id="tringme14177"><script type="text/javascript" src="http://login.tringme.com/widget.php?channel=tf4cdt3n0x8f818ecd1adee1s6p518&name=Hello+World&wtype=1&divid=tringme14177&swf=tringme-pt-beta"></script></div>                                               
</p>
]]></content:encoded>
			<wfw:commentRss>http://code.voicephp.com/hello-world-first-voicephp-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- uncached -->