<?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>VoIP Tech Chat &#187; Adhersion</title>
	<atom:link href="http://www.voiptechchat.com/tag/adhersion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.voiptechchat.com</link>
	<description>Patrick and Fred Chat... sometimes about VoIP</description>
	<lastBuildDate>Sat, 19 Jun 2010 18:59:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Asterisk 101 Uses: Telemarketer Torture</title>
		<link>http://www.voiptechchat.com/voip/286/asterisk-101-uses-telemarketer-torture/</link>
		<comments>http://www.voiptechchat.com/voip/286/asterisk-101-uses-telemarketer-torture/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 00:30:28 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Adhersion]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[Digium]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[telemarketers]]></category>
		<category><![CDATA[telephone]]></category>
		<category><![CDATA[torture]]></category>
		<category><![CDATA[Twilio]]></category>

		<guid isPermaLink="false">http://www.voiptechchat.com/?p=286</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F286%2Fasterisk-101-uses-telemarketer-torture%2F", "style": "big", "title": "Asterisk 101 Uses: Telemarketer Torture" }); Note: You can play or download the MP3 audio of the &#8220;Telemarketer Torture&#8221; calls towards the end of the article. // When I first started working with VoIP, I began to hate telephony, and any and all things telephone related. This bothered me [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.voiptechchat.com%252Fvoip%252F286%252Fasterisk-101-uses-telemarketer-torture%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Asterisk%20101%20Uses%3A%20Telemarketer%20Torture%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F286%2Fasterisk-101-uses-telemarketer-torture%2F", "style": "big", "title": "Asterisk 101 Uses: Telemarketer Torture" });</script></div>
<p class="note"><strong>Note:</strong> You can play or download the MP3 audio of the &#8220;Telemarketer Torture&#8221; calls towards the end of the article.</p>
<div style="float: right; padding: 10px;"><script type="text/javascript">// <![CDATA[
 digg_url = 'http://www.voiptechchat.com/voip/286/asterisk-101-uses-telemarketer-torture/';
// ]]&gt;</script><br />
<script src="http://digg.com/tools/diggthis.js" type="text/javascript"></script></div>
<p>When I first started working with VoIP, I began to hate telephony, and any and all things telephone related. This bothered me on many levels. You see, as a kid, I loved telephones. Growing up in the “big city,” pay phones seemed to be on every corner. Family stories talk about walking several blocks extra, just to avoid me seeing and wanting to play with a phone. But, as usual, I digress&#8230;</p>
<p>When I worked with an unnamed switch (let’s just say it rhymed with Broadmoft), I hated working with VoIP. I knew there had to be a better way and started playing with <a href="http://www.asterisk.org/" onclick="pageTracker._trackPageview('/outgoing/www.asterisk.org/?referer=');">Asterisk</a>. Soon, my memories of playing with phones started coming back and my love rekindled. Now, I look forward to working with phone systems, only because I truly feel that the use of a phone can only be limited by your imagination. And with companies like <a href="http://www.twilio.com/" onclick="pageTracker._trackPageview('/outgoing/www.twilio.com/?referer=');">Twilio</a>, <a href="http://www.adhearsion.com/" onclick="pageTracker._trackPageview('/outgoing/www.adhearsion.com/?referer=');">Adhearsion</a>, and <a href="http://www.digium.com/" onclick="pageTracker._trackPageview('/outgoing/www.digium.com/?referer=');">Digium</a>, the community of telephone developers seems only to grow.</p>
<p>With that long winded introduction, let’s discuss today’s topic — telemarketer torture. <span id="more-286"></span>I, like every other person I know, receives the random yet continual undesired telemarketer call (yes, I’m on the DND databases and let’s not get into that). Thanks to Asterisk, I can send my telemarketers to a little place I call the Annoyatron.</p>
<p>Now, many developers and users implement their own version of Telemarketer Torture. Some like using IVR’s. Some like endless ringing. Personally, I like to keep them on the line for a long time. You see, since I add numbers to the Annoyatron after they call me, by the time they reach the Annoyatron they have already called and wasted my time at least once before. So, instead of just having them hang up and move on to the next home, I like to see if I can keep them talking for a while. My Goal? At least 2 minutes.</p>
<p>I use Asterisk’s “WaitForSilence” command to keep my torture conversational. When there’s a pause, the Annoyatron will play a file. While the telemarketer speaks, the Annoyatron will patiently wait. You put it all together, and wala — the Annoyatron Telemarketer Torture.</p>
<p>Today, I received unwanted calls regarding long distance to India. I added the number to the Annoyatron and well, the results of their continued calls no longer annoy me. Here are two examples:</p>
<p>Listen to Call 1:<br />
<a href="http://www.voiptechchat.com/annoyatron.mp3">Download audio file (annoyatron.mp3)</a><br />
(<a href="http://www.voiptechchat.com/annoyatron.mp3">or you can download the MP3</a>)</p>
<p>Listen to Call 2:<br />
<a href="http://www.voiptechchat.com/annoyatron2.mp3">Download audio file (annoyatron2.mp3)</a><br />
(<a href="http://www.voiptechchat.com/annoyatron2.mp3">or you can download this MP3, too</a>)</p>
<p>Ok, so here’s an example of how you would write the dialplan in Asterisk:</p>
<pre class="brush: plain;">[annoyatron]
exten =&gt; s,1,Answer()
exten =&gt; s,n,Wait(2)
exten =&gt; s,n,Playback(annoy/annoy-hello)
exten =&gt; s,n,WaitForSilence(2200)
;...
; record a file for &quot;your side&quot; of the conversation
; wait for silence, and then play it
; lather rinse repeat
;...
exten =&gt; s,n,Hangup()</pre>
<p>Simple, no? Just one of the reasons Asterisk allowed me to enjoy working with telephones. Awwww. <img src='http://www.voiptechchat.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>We’d love to hear about your fun examples with Asterisk. And you know, Leif Madsen is <a href="http://leifmadsen.wordpress.com/2009/07/17/howto-read-a-value-from-a-file-and-say-it-back/" onclick="pageTracker._trackPageview('/outgoing/leifmadsen.wordpress.com/2009/07/17/howto-read-a-value-from-a-file-and-say-it-back/?referer=');">requesting some ideas</a> for Asterisk Recipes himself.</p>
<p>Asterisk is free, open source software provided under the <a href="http://www.gnu.org/" onclick="pageTracker._trackPageview('/outgoing/www.gnu.org/?referer=');">GNU General Public License (GPL)</a>. Asterisk is the most popular open source software available, with the Asterisk Community being the top influencer in VoIP.</p>
<p>Why free? It’s just how <a href="http://www.digium.com" onclick="pageTracker._trackPageview('/outgoing/www.digium.com?referer=');">Digium</a> rolls. They really take that GPL open source to heart.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.voiptechchat.com/voip/286/asterisk-101-uses-telemarketer-torture/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
<enclosure url="http://www.voiptechchat.com/annoyatron.mp3" length="2944640" type="audio/mpeg" />
<enclosure url="http://www.voiptechchat.com/annoyatron2.mp3" length="1801856" type="audio/mpeg" />
		</item>
		<item>
		<title>A2DDA Blocks Asterisk Parking Data</title>
		<link>http://www.voiptechchat.com/voip/255/a2dda-blocks-asterisk-parking-data/</link>
		<comments>http://www.voiptechchat.com/voip/255/a2dda-blocks-asterisk-parking-data/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 23:03:20 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[a2dda]]></category>
		<category><![CDATA[Adhersion]]></category>
		<category><![CDATA[ann arbor]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[Digium]]></category>
		<category><![CDATA[downtown development authority]]></category>
		<category><![CDATA[government]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[telephone]]></category>

		<guid isPermaLink="false">http://www.voiptechchat.com/?p=255</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F255%2Fa2dda-blocks-asterisk-parking-data%2F", "style": "big", "title": "A2DDA Blocks Asterisk Parking Data" }); Note: There’s an intro, the DDA response, and Fred’s response in this article. Jump to the end to read Fred’s response. A few months back, we posted a nice little article on using Asterisk to get Parking Space Availability from Ann Arbor garages. [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.voiptechchat.com%252Fvoip%252F255%252Fa2dda-blocks-asterisk-parking-data%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22A2DDA%20Blocks%20Asterisk%20Parking%20Data%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F255%2Fa2dda-blocks-asterisk-parking-data%2F", "style": "big", "title": "A2DDA Blocks Asterisk Parking Data" });</script></div>
<p class="note">Note: There’s an intro, the DDA response, and Fred’s response in this article. Jump to the end to read Fred’s response.</p>
<p>A few months back, we posted<a href="http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/"> a nice little article</a> on using Asterisk to get Parking Space Availability from Ann Arbor garages. The response from the VoIP community was fantastic! We received great comments and feedback from people like <a href="http://www.adhearsion.com" onclick="pageTracker._trackPageview('/outgoing/www.adhearsion.com?referer=');">Jason Goecke</a>, <a href="http://www.a2geeks.org" onclick="pageTracker._trackPageview('/outgoing/www.a2geeks.org?referer=');">Dug Song</a>, <a href="http://pindropsoup.blogspot.com/" onclick="pageTracker._trackPageview('/outgoing/pindropsoup.blogspot.com/?referer=');">Dave Michels</a>, <a href="http://www.twilio.com/" onclick="pageTracker._trackPageview('/outgoing/www.twilio.com/?referer=');">Evan Cooke</a>, and more! People not only responded, they even showed different ways of providing access to this information. And everyone shared their work in an open forum — truly a great example of open source coding inspiring innovation (albeit with Parking Spaces).</p>
<p>Even better was the local response in Ann Arbor. <a href="http://vielmetti.typepad.com/" onclick="pageTracker._trackPageview('/outgoing/vielmetti.typepad.com/?referer=');">Edward Vielmetti</a> and <a href="http://www.fredposner.com" onclick="pageTracker._trackPageview('/outgoing/www.fredposner.com?referer=');">Fred Posner</a> were interviewed in the local papers, appeared on a radio show, and even rode the <a href="http://homelessdave.com/tt20090113fredposner.htm" onclick="pageTracker._trackPageview('/outgoing/homelessdave.com/tt20090113fredposner.htm?referer=');">teeter totter</a>. Everyone loved the idea of being able to check on parking space availability&#8230; everyone except for the DDA (insert scary music).</p>
<p>The <a href="http://a2dda.org/" onclick="pageTracker._trackPageview('/outgoing/a2dda.org/?referer=');">DDA</a> (Ann Arbor Downtown Development Authority), funded by tax dollars,  “provides a diversity of transportation and parking options to meet downtown&#8217;s [Ann Arbor’s] ever-changing needs.” The DDA does not like us making information of parking spaces available to the public via phone. Instead, the DDA wants to control this information. Seriously, they want to control parking space availability information.</p>
<p>Tyler Erickson helped Edward Vielmetti and Fred make this project even more fascinating by tracking parking space availability over time. The plan was to provide predictability of availability. For example, “We’re sorry, the lot at 4th and Washington is currently filled, we predict the parking lot will be available in 7 minutes. Press 1 to be notified…”</p>
<p>Wouldn’t that be neat? We thought so&#8230; The DDA’s response was to block Tyler’s access. Of course, since it was using Google Apps, it blocked Google, but that’s another story. We inquired as to why this blockage occurred and&#8230; well enter Susan Pollay. Susan Pollay is Executive Director of the DDA. She told us (and remember, this is a tax funded organization):<span id="more-255"></span></p>
<blockquote><p>“Hi all.   Over the last day or so I have talked about your project with a few DDA members and what arose from these conversations was a shared concern that because the project was not an initiative created by/run by the DDA there are no controls in place for this at present.  For instance, there is no DDA policy about how to allow /or even if it should allow an outside group to use the DDA’s parking data for a private enterprise.  There is a concern about how unsecure/secure the DDA website is made when sharing this data.   And finally, a concern that if the project had value to parking patrons, that the DDA itself should consider providing this service as an extension of what it is already doing on-line.”</p></blockquote>
<p>Interesting… but the story doesn’t stop there. Due to real-life concerns of all of us, we kind of let this project move to the back burner. But then, two days ago Edward Vielmetti noticed the DDA website was no longer publishing real-time parking information. The response from Susan Polly follows:</p>
<blockquote><p>From: Susan Pollay<br />
Subject: RE: DDA real time parking data via web is not working // was Fwd: parking app busted again<br />
Date: March 12, 2009 11:36:56 AM GMT-04:00<br />
To: Sabra Briere, Edward Vielmetti<br />
Cc: Margie Teall, Christopher TaylorC, Carsten Hohnke, Fred Posner, Tyler Erickson</p>
<p>Many thanks for this and other emails.  The DDA became aware of Mr. Vielmetti’s project after reading about it in the press.   Immediately a number of concerns were expressed including 1) no permission from the DDA was granted before this project got underway, 2) this project hopes to sell this software to other communities and thereby make a profit and is using DDA-generated information to accomplish this, 3) the DDA has no control over what is done with this information yet this information is attributed to the DDA, 4) persons interested in finding out about parking structure vacancies must make a toll-call out of state.</p>
<p>The DDA Operations Committee met and discussed these concerns.  Their resolve was to provide information by phone to interested members of the public using real human beings answering phones at the Republic Parking office.</p>
<p>There are several benefits to the public with this arrangement.  1) Republic Parking staff members can provide the follow up information that an automated system can’t.  e.g. You call to find out if there are vacancies at 4th &amp; Washington – and if there are no vacancies or very few, Republic Parking staff can suggest a nearby convenient alternative parking location.  They can give directions to the parking structure.  They can provide information like yes, they do take credit cards.    The automated system only tells you there are 0 spaces available.      2) Republic Parking staff members can keep track of how many people are calling, what structures they call about most often, the follow up questions, etc.   This way if we ever decide to acquire an automated phone system we know how to prioritize and provide the information most sought after by patrons.  The DDA would have retrieved none of this information from Mr. Vielmetti.       And finally 3) a call to Republic Parking is not a toll call.  It is a local office, staffed 24 hours a day, 6 days a week (Sundays all facilities are open and unlikely there are vacancy concerns).</p>
<p>Thanks again for contacting me.  I hope to be helpful, so please let me know if I can answer any additional questions about this…..</p>
<p>Best wishes.</p>
<p>Susan</p></blockquote>
<p><strong>WOW!</strong></p>
<h3>Fred’s response follows:</h3>
<p><strong>From</strong>: Fred Posner<br />
<strong>Subject</strong>: Re: DDA real time parking data via web is not working // was Fwd: parking app busted again<br />
<strong>Date</strong>: March 12, 2009 4:13:08 PM GMT-04:00<br />
<strong>To</strong>: Susan Pollay</p>
<p>Good afternoon,</p>
<p>First, my apologies to Tyler and Carsten. They both wrote exceptional, professionally toned replies. I, however, am so appalled at this email, that I must speak directly to the points mentioned.</p>
<p>Susan, the DDA is funded by tax dollars and parking fees. Perhaps you have forgotten that public money is used to fund the DDA&#8217;s mission to serve the public?  Allow me to introduce you to the concepts of open government and &#8220;public domain.&#8221; I don&#8217;t want to waste everyone&#8217;s time here, but please read up on these concepts so we can be on the same page.</p>
<p><strong>Lets take your first point:</strong></p>
<p><em>&#8220;No permission from the DDA was granted before this project got underway&#8221;</em></p>
<p>What permission should we have gotten? The DDA publishes parking space availability on the internet and on big, bright signs attached on garages. Do you believe that this is classified information that should be controlled by the government? If I asked someone if they knew how many spaces were available, should they say to me &#8220;I&#8217;m sorry Fred, I don&#8217;t have specific permission from the DDA to release that information.&#8221; Should people who release this information be considered enemies of the state and locked in Guantanamo Bay?</p>
<p>The bottom line here is that to horde this information is ridiculous. Let&#8217;s forget the tax/government/information aspect for a second. Even if this were private parking, I could never imagine an organization that would say&#8230; &#8220;Hey, I don&#8217;t want people to know that I have spaces available. They might come give money to park here.&#8221; An example of this is movie theaters. Movie theaters regularly welcome people announcing availability of shows and times. Why? Because they want to fill the seats. And if the seats are full, they want to let people know so they will plan to come back at a time when there is availability. With this in mind, there are many, many private companies that assist movie theaters with publishing this information on websites and phones.</p>
<p>This translates well to Ann Arbor Parking. I&#8217;m sure the citizens that you serve would like access to information. I&#8217;m also certain that the businesses would like people to know that parking is available. And, I&#8217;m certain they want a lot of access to that information. After all, no one suffers from having too much access to the same information. But the DDA response was completely the opposite. You actively stopped us from getting this information by blocking IP&#8217;s (such as google application server) and changing the format of the information.</p>
<p>In regards to needing your permission, I say simply, &#8220;You&#8217;re wrong. Either the information is public information on the public internet and public signs, or it&#8217;s private information that should be properly secured. Your idea that this public information must be secured is wrong. The idea is wrong, the approach is wrong, and the underlying ideology is wrong.&#8221;</p>
<p><strong>Let&#8217;s look at point number 2:</strong></p>
<p><em>&#8220;this project hopes to sell this software to other communities and thereby make a profit and is using DDA-generated information to accomplish this&#8221;</em></p>
<p>Wrong. Simply wrong. And your saying this is borderline libelous. Ed, Tyler, and I did this project to provide information. No money was thought of, and as a matter of fact, it cost me money to provide phone service for the beta project. Not only did we do this work for FREE, we also published the work, the source, and the methods online. We published the code we wrote and entered it into the public domain.</p>
<p>You know what happened when we did this? Others wrote similar code and also published it online. A discussion of open sharing of information took place with some very big names in the VoIP (voice over Internet) industry. We all shared code and provided public information to our work. Sadly, private companies and individuals are willing to share information, but the public DDA is not&#8230; that seems backwards, no?</p>
<p>Take a look at the post written on VoIP Tech Chat and the discussion that followed:</p>
<p><a href="http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/">http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/</a></p>
<p><strong>Point number 3:</strong></p>
<p><em>&#8220;the DDA has no control over what is done with this information yet this information is attributed to the DDA&#8221;</em></p>
<p>Ok. When I was in third grade I had to write a report where I researched information and cited my sources. I attributed the information I learned and gave credit to the source so that others could also get that same information. This &#8220;marvel&#8221; concept of citing sources is still used today.</p>
<p>I must ask, what control of this information is needed? &#8220;My goodness, it&#8217;s crazy. I can&#8217;t believe it&#8230; with this parking space availability information&#8230; I can unlock the secret to who killed Kennedy!!!! Eureka!&#8221;</p>
<p>Sarcasm aside, the thought of government controlling information means the end of freedom. Information is for people and there&#8217;s a reason why people need access to information. If you have thoughts of controlling information, please leave government. Also, citing the source of information is not a problem, it&#8217;s actually proper, responsible, and good practice.</p>
<p><strong>Point number 4:</strong></p>
<p><em>&#8220;persons interested in finding out about parking structure vacancies must make a toll-call out of state.&#8221;</em></p>
<p>Wrong. At one point, I had this project linked to a 212 number. Why? Because I could support unlimited callers at that number. I did this at a cost of 1.5 cents per minute from my pocket. It took me two weeks, but we received a local Ann Arbor number capable of having more than 2 simultaneous calls. So for a brief 10 day period, you needed to dial 212. Then you could dial 734. We released this information online, over the radio, and to newspapers&#8230; So basically, since January 20th, you&#8217;re wrong (and we really didn&#8217;t make this live until January 10th).</p>
<p>But let&#8217;s take this a step further&#8230; and say &#8220;So what?&#8221; Right now the DDA releases this information only online at at the garage. If people want to make this available via SMS, Phone, Twitter, Facebook, Smoke Signal, Tea Leaves, or whatever communicative method one can imagine, it&#8217;s simply another way to access the same information. After all, no one suffers from having too much access to the same information.</p>
<p>So, not only is there a local number, it shouldn&#8217;t matter if there wasn&#8217;t. I truly see implementing a Detroit number, maybe Toledo, Grand Rapids&#8230; and more. Could you imagine the possibility of people from another area calling a local number (for them) to visit Ann Arbor? I can&#8230; and wow, that would be great.</p>
<p><strong>Benefit number 1:</strong></p>
<p><em>&#8220;Republic Parking staff members can provide the follow up information that an automated system cant.  e.g. You call to find out if there are vacancies at 4th &amp; Washington  and if there are no vacancies or very few, Republic Parking staff can suggest a nearby convenient alternative parking location.  They can give directions to the parking structure.  They can provide information like yes, they do take credit cards.    The automated system only tells you there are 0 spaces available&#8221;</em></p>
<p>Our system not only can do all this, it can do more. Our system can speak many languages. Our system won&#8217;t call in sick. Our system doesn&#8217;t have attitude, ever. And here&#8217;s the best part&#8230; Our system doesn&#8217;t only say there are &#8220;0&#8243; spaces available. Our system actually calls you back when spots are available. Our system will also call you back when there are no more spots available. Are you going to have Republic Parking do that? Our system can give instructions, make recommendations, provide hours, and do much more than a staffed person and it costs you&#8230; nothing. No benefits, no salary, no cost, and yet more service.</p>
<p><strong>Benefit number 2:</strong></p>
<p><em>&#8220;Republic Parking staff members can keep track of how many people are calling, what structures they call about most often, the follow up questions, etc.   This way if we ever decide to acquire an automated phone system we know how to prioritize and provide the information most sought after by patrons.  The DDA would have retrieved none of this information from Mr. Vielmetti.&#8221;</em></p>
<p>We keep track of this information. Any time you want it, all you have to do is ask. Unlike the DDA, Mr. Vielmetti, Mr. Posner, and Mr. Erickson have demonstrated an ability and willingness to share information.</p>
<p><strong>Final Benefit number 3:</strong></p>
<p><em>&#8220;a call to Republic Parking is not a toll call.  It is a local office, staffed 24 hours a day, 6 days a week (Sundays all facilities are open and unlikely there are vacancy concerns).&#8221;</em></p>
<p>A call to Republic Parking can be a toll call for many of the users who travel from out of town or are students here in Ann Arbor  but I already addressed that above. Our system is a local call to Ann Arbor right now which you imply otherwise. Also, our system is open 24/7 and yes, you do have some availability problems on Sunday&#8230; well at least we could see that when you weren&#8217;t blocking access to the information.</p>
<p>Sometimes it helps to have other people look at information, this way we can assist you when you make incorrect statements. Your statement is a PERFECT illustration of why open access to information is needed. Open access to information corrects statements that interpret information incorrectly.</p>
<p><strong>In closing&#8230;</strong></p>
<p>Right now I wear two hats. I&#8217;m both a Florida Resident and am renting in Pittsfield Township. I also own a small business. After watching these Jeff Daniels&#8217; commercials promoting the benefits of doing business in Michigan, I was very seriously considering moving my business from Florida to Michigan. However, dealing with the DDA has really opened my eyes.</p>
<p>You see, I&#8217;ve worked for the government. And say what you want about Florida, we take public access to government very seriously in the Sunshine state. We have what is called the Sunshine Law that provides both criminal and civil penalties when public access is restricted. It&#8217;s a great law, and perhaps needed here as well. You see, I believe, as many others do, that in a government of the people and by the people, that information belongs to the people. Government agencies, such as the DDA, should help get information to the public, not wish to control it.</p>
<p>The thought of the DDA requiring permission to access public information and / or control information is not only a scary thought; it&#8217;s absolutely anti-American. After all, no one suffers from having too much access to the same information.</p>
<p>A personal hero of mine has always been Benjamin Franklin, and I leave you with this:</p>
<p>&#8220;Never trust a government that doesn&#8217;t trust its own citizens&#8230;&#8221;</p>
<p>Fred Posner</p>
<p><strong>PS&#8230;</strong></p>
<p>Wonder why the phone number can&#8217;t tell you the available spaces? We are specifically blocked and forbidden to access their website. Here&#8217;s the page we get:</p>
<pre>&lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&gt;
&lt;html&gt;&lt;head&gt;
&lt;title&gt;403 Forbidden&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;h1&gt;Forbidden&lt;/h1&gt;
&lt;p&gt;You don't have permission to access /parking__transportation/available_parking_spots/
on this server.&lt;/p&gt;
&lt;hr&gt;
&lt;address&gt;Apache/2.2.4 (Unix) mod_ssl/2.2.4 OpenSSL/0.9.7a DAV/2 mod_jk/1.2.20 PHP/5.2.1 Server at a2dda.org Port 80&lt;/address&gt;
&lt;/body&gt;&lt;/html&gt;</pre>
<p>Welcome to the new world order.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.voiptechchat.com/voip/255/a2dda-blocks-asterisk-parking-data/feed/</wfw:commentRss>
		<slash:comments>82</slash:comments>
		</item>
		<item>
		<title>Diff’rent VoIP for Diff’rent Folks</title>
		<link>http://www.voiptechchat.com/voip/230/different-voip-for-different-folks/</link>
		<comments>http://www.voiptechchat.com/voip/230/different-voip-for-different-folks/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 17:32:40 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Adhersion]]></category>
		<category><![CDATA[Alan Thicke]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Digium]]></category>
		<category><![CDATA[FreeSWITCH]]></category>
		<category><![CDATA[nortel]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[telephone]]></category>
		<category><![CDATA[Twilio]]></category>

		<guid isPermaLink="false">http://www.voiptechchat.com/?p=230</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F230%2Fdifferent-voip-for-different-folks%2F", "style": "big", "title": "Diff’rent VoIP for Diff’rent Folks" }); Yes, you guessed it correctly. In today’s article, Diff’rent Strokes will be used as a metaphor for VoIP. Why? The correct question is “Why Not?” And the answer… well that’s simple — Diff’rent Strokes is the perfect metaphor. Take for example these classic lines [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.voiptechchat.com%252Fvoip%252F230%252Fdifferent-voip-for-different-folks%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Diff%E2%80%99rent%20VoIP%20for%20Diff%E2%80%99rent%20Folks%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F230%2Fdifferent-voip-for-different-folks%2F", "style": "big", "title": "Diff’rent VoIP for Diff’rent Folks" });</script></div>
<div id="attachment_235" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-235" title="diffrent-voip" src="http://www.voiptechchat.com/wp-content/uploads/2009/01/diffrent-voip-300x225.jpg" alt="What you VoIPing 'bout Willis?" width="300" height="225" /><p class="wp-caption-text">What you VoIPing &#39;bout Willis?</p></div>
<p>Yes, you guessed it correctly. In today’s article, Diff’rent Strokes will be used as a metaphor for VoIP. Why? The correct question is “Why Not?” And the answer… well that’s simple — Diff’rent Strokes is the <strong><em>perfect</em></strong> metaphor. Take for example these classic lines from the show’s theme song:</p>
<blockquote><p><em>Now, the world don’t move to the beat of just one drum,<br />
What might be right for you, may not be right for some.</em></p></blockquote>
<p>Classic. Pausing for Trivia… do you know which 80’s sitcom star wrote these lyrics? If you said Growing Pains actor and Canadian sensation Alan Thicke, you’d be right… but, as usual, we digress.</p>
<p>Those working within VoIP, and contrary to many medical reports there are people still working in the industry, have many flavors and styles of VoIP products to choose from. Although opinions vary, there really is no “right” or “wrong” product line. Selecting your VoIP implementation is an individual choice that is determined simply by what works best for you.<span id="more-230"></span></p>
<h3>Asterisk versus FreeSWITCH versus Closed Source</h3>
<p><a href="http://www.asterisk.org" onclick="pageTracker._trackPageview('/outgoing/www.asterisk.org?referer=');">Asterisk</a>, by <a href="http://www.digium.com" onclick="pageTracker._trackPageview('/outgoing/www.digium.com?referer=');">Digium</a>, provides full PBX (private branch exchange) functionality in a (reasonably) small footprint, software package. Created by Mark Spencer in 1999, Asterisk provides itself to the VoIP community free of charge through the GNU General Public License. Asterisk does not require “per seat” licensing fees, maintains a very active community of developers, and requires no additional hardware for a strict VoIP deployment (although grabbing a Digium hardware card to connect to the <a href="http://www.voiptechchat.com/voip/27/what-is-pots/">PSTN</a> makes this software very versatile).</p>
<p><a href="http://www.freeswitch.org" onclick="pageTracker._trackPageview('/outgoing/www.freeswitch.org?referer=');">FreeSWITCH</a>, also an open source telephony software program, was developed after Asterisk, by people actively engaged in the Asterisk community. Much like the Facts of Life spun off from Diff’rent Strokes, FreeSWITCH developers thought that new software would be better for telephony; based on their experiences working with Asterisk. They worked hard and created a system that more suited their needs — and like Digium, they have shared this software with the world. The FreeSWITCH site posts a well-written, detailed explanation of “<a href="http://freeswitch.org/node/117" onclick="pageTracker._trackPageview('/outgoing/freeswitch.org/node/117?referer=');">How does FreeSWITCH compare to Asterisk?</a>” on their website (and keeping with the Facts of Life theme… FreeSWITCH approached the software with a “you take the good, you take the bad” approach).</p>
<p>Closed source systems, such as <a href="http://broadsoft.com/broadworks-application/index.htm" onclick="pageTracker._trackPageview('/outgoing/broadsoft.com/broadworks-application/index.htm?referer=');">Broadworks</a>, <a href="http://www.cisco.com/en/US/products/sw/voicesw/ps556" onclick="pageTracker._trackPageview('/outgoing/www.cisco.com/en/US/products/sw/voicesw/ps556?referer=');">Cisco Call Manager</a>, and <a href="http://www.notel.com" onclick="pageTracker._trackPageview('/outgoing/www.notel.com?referer=');">Nortel</a> IP Telephony solutions also provide VoIP software and hardware. Closed source systems pride themselves on providing “carrier” class solutions with dedicated support personnel. They also offer licensing fees, fancy logos, and lots of printed documentation.</p>
<h3>So which is the best choice? </h3>
<p>Remember: “<em>The world don’t move to the beat of just one drum</em>.”</p>
<p>Choosing a VoIP solution demands thought. Yes, Virginia, you truly have to warm up the water and boil the brain noodle for a while. Is Asterisk best suited for this deployment? <a href="http://www.freeswitch.org" onclick="pageTracker._trackPageview('/outgoing/www.freeswitch.org?referer=');">Brian West</a> would say that FreeSWITCH would be better in all situations. Others would say, “Hey, use Cisco in large deployments” (<a href="http://www.asteriskvoipnews.com/asterisk_case_studies/university_dumps_cisco_call_manager_for_asterisk_pbx.html" onclick="pageTracker._trackPageview('/outgoing/www.asteriskvoipnews.com/asterisk_case_studies/university_dumps_cisco_call_manager_for_asterisk_pbx.html?referer=');">although Sam Houston State University might say otherwise</a>).</p>
<p>There simply is no right or wrong answer. <strong>As long as you keep well informed of the products out there, the different tools available, and can approach your needs by selecting from your set of tools, you’ll be making the right choice.</strong> Fred uses Asterisk. Why? It works for him, and he’s comfortable with it, and he can deploy solutions quickly. Others use FreeSWITCH for the same reason. And who’s right? Simply put, everyone is.</p>
<p>This same discussion can be applied to coding within the VoIP platform of your choice. Recently, when we discussed <a href="http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/">using Asterisk, Cepstral, and Perl to Get Parking and Weather Updates</a>, we received many, many comments from people with different approaches.</p>
<p><a href="http://a2geeks.org/" onclick="pageTracker._trackPageview('/outgoing/a2geeks.org/?referer=');">Dug Song</a> commented how <a href="http://twilio.com" onclick="pageTracker._trackPageview('/outgoing/twilio.com?referer=');">Twilio</a> could be used in this situation while Jason Goeke demonstrated how <a href="http://adhearsion.com/" onclick="pageTracker._trackPageview('/outgoing/adhearsion.com/?referer=');">Adhersion</a> could also be used. Within the comments we can see that some coders like jumping into the programming interface (and staying there) whereas Fred likes the “get in, get out” approach and stay in the Asterisk dial plan as much as possible.</p>
<h3>So, again, who is right?</h3>
<p>We turn once more, to the wise Alan Thicke and Diff’rent Strokes:</p>
<blockquote><p>Everybody&#8217;s got a special kind of story<br />
Everybody finds a way to shine,<br />
It don&#8217;t matter that you got not a lot <br />
So what,<br />
They&#8217;ll have theirs, and you&#8217;ll have yours, and I&#8217;ll have mine.<br />
And together we&#8217;ll be fine…<br />
Because it takes, Diff&#8217;rent Strokes to move the world.<br />
Yes it does.<br />
It takes, Diff&#8217;rent Strokes to move the world.</p></blockquote>
<p>roll credits</p>

]]></content:encoded>
			<wfw:commentRss>http://www.voiptechchat.com/voip/230/different-voip-for-different-folks/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Use Asterisk, Cepstral, and Perl to Get Parking and Weather Updates</title>
		<link>http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/</link>
		<comments>http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 23:39:13 +0000</pubDate>
		<dc:creator>Fred</dc:creator>
				<category><![CDATA[VoIP]]></category>
		<category><![CDATA[Adhersion]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[Digium]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[telephone]]></category>

		<guid isPermaLink="false">http://www.voiptechchat.com/?p=218</guid>
		<description><![CDATA[topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F218%2Fuse-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates%2F", "style": "big", "title": "Use Asterisk, Cepstral, and Perl to Get Parking and Weather Updates" }); Note: For information on Ann Arbor DDA blocking this application, click here. Patrick and Fred eat, breathe, and live telecommunication. So, when the chance to make fun little phone applications come around, we like to jump on [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.voiptechchat.com%252Fvoip%252F218%252Fuse-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Use%20Asterisk%2C%20Cepstral%2C%20and%20Perl%20to%20Get%20Parking%20and%20Weather%20Updates%22%20%7D);"><script type="text/javascript">topsyWidgetPreload({ "url": "http%3A%2F%2Fwww.voiptechchat.com%2Fvoip%2F218%2Fuse-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates%2F", "style": "big", "title": "Use Asterisk, Cepstral, and Perl to Get Parking and Weather Updates" });</script></div>
<p class="note"><strong>Note:</strong> For information on Ann Arbor DDA blocking this application, <a href="http://www.voiptechchat.com/voip/255/a2dda-blocks-asterisk-parking-data/">click here</a>.</p>
<div id="attachment_24" class="wp-caption alignright" style="width: 248px"><img class="size-medium wp-image-24" title="VoIP-Information" src="http://www.voiptechchat.com/wp-content/uploads/2008/05/voip-retro-icon-238x300.gif" alt="VoIP is Fun" width="238" height="300" /><p class="wp-caption-text">VoIP is Fun</p></div>
<p>Patrick and Fred eat, breathe, and live telecommunication. So, when the chance to make fun little phone applications come around, we like to jump on it. Recently, while discussing parking issues with Ann Arbor’s <a href="http://vielmetti.typepad.com/" onclick="pageTracker._trackPageview('/outgoing/vielmetti.typepad.com/?referer=');">Edward Vielmetti</a>, and idea came to mind. Mr. Vielmetti is active within the Ann Arbor community and among the many hats he wears, one seeks to provide access to accurate information concerning downtown transportation and parking (wow that was a mouthful). While discussing the lack of accurate bus information in Ann Arbor, the conversation took a tangent (yes, how odd that conversations with Fred or Patrick take tangents) on the area of parking.</p>
<p>The parking garages in Ann Arbor provide nice signs in front displaying in brightly lit numbers, the amount of available spaces remaining. Ann Arbor also posts this information on the web at the <a href="http://www.a2dda.org/parking__transportation/available_parking_spots/" onclick="pageTracker._trackPageview('/outgoing/www.a2dda.org/parking_transportation/available_parking_spots/?referer=');">A2DDA</a> website. An idea came to mind that basically, you can tell the available spots either from the website or right when you reach the garage — but what if you wanted to know while driving to the garage?</p>
<p>So, with that long introduction, we present “using asterisk, cepstral, and perl to get parking and weather updates.” Ok, for the non-techs, don’t panic! We’ll talk about the techie stuff in a little bit. The bottom line is using Asterisk, Cepstral, and Perl, you can check the internet for the spaces available and let the caller know — all in real time. For a working example, call <span style="text-decoration: line-through;">+1 (212) 937-7844 and </span><strong><span style="text-decoration: line-through;"><span style="font-weight: normal;">press 6 </span></span>+1 (<span style="font-weight: normal;"><strong>734) 272-0909 <span style="font-weight: normal;">(this is not a toll-free number)</span><span style="font-weight: normal;"><span style="font-weight: normal;">.</span></span></strong></span></strong></p>
<p><span id="more-218"></span></p>
<p>First, let’s talk about the three major components here: Asterisk, Cepstral, and Perl.</p>
<h4>Asterisk</h4>
<p><a href="http://www.asterisk.org" onclick="pageTracker._trackPageview('/outgoing/www.asterisk.org?referer=');">Asterisk</a> (by <a href="http://www.digium.com" onclick="pageTracker._trackPageview('/outgoing/www.digium.com?referer=');">Digium</a>) is the world’s leading open source telephony engine and tool kit. Asterisk empowers communication with it’s flexibility. Whether working as a simple office telephone system, a robust Call Center platform, or anything in-between, Asterisk provides advanced features at a very low deployment cost.</p>
<p>Asterisk is free, open source software provided under the <a href="http://www.gnu.org/" onclick="pageTracker._trackPageview('/outgoing/www.gnu.org/?referer=');">GNU General Public License</a> (GPL). Asterisk is the most popular open source software available, with the Asterisk Community being the top influencer in VoIP.</p>
<p>Why free? “<a href="http://www.digium.com" onclick="pageTracker._trackPageview('/outgoing/www.digium.com?referer=');">It’s just how Digium rolls.</a>” They really take that GPL open source to heart.</p>
<h4>Cepstral</h4>
<p><a href="http://cepstral.com" onclick="pageTracker._trackPageview('/outgoing/cepstral.com?referer=');">Cepstral</a> provides speech technologies and services for the spoken delivery of information. They build high quality, natural sounding voices for hand-held, desktop, and server applications. Their technology is easy to incorporate and operates in a small memory footprint with low computing resources. Cepstral is not free, however a full user’s license can cost under $30.00 (as of January 2009 at least).</p>
<p>If you are looking for a free alternative to Cepstral, try <a href="http://festvox.org/festival/" onclick="pageTracker._trackPageview('/outgoing/festvox.org/festival/?referer=');">Festival</a>. Festival is free, but sounds very “machine” like. Cepstral is a little more human.</p>
<h4>Perl</h4>
<p><a href="http://www.perl.org/" onclick="pageTracker._trackPageview('/outgoing/www.perl.org/?referer=');">Perl</a> is a stable, cross platform programming language. Perl is open-source and is sometimes called the “duct tape of the internet.” If MacGyver programmed, he would have used Perl.</p>
<p>Ok, with our introductions in hand, let’s get on with the show. First step was to get the information from the A2DDA website using a perl script. the perl code for that was:</p>
<pre>my $ua = LWP::UserAgent-&gt;new( timeout =&gt; 45);
my $URL = 'http://www.a2dda.org/parking.php';
$ua-&gt;agent('AsteriskAGIQuery/1');
my $req = new HTTP::Request GET =&gt; $URL;
my $res = $ua-&gt;request($req);
if ($res-&gt;is_success()) {
 if ($res-&gt;content =~ /4th and Washington&lt;/td&gt;&lt;td&gt;(.*)&lt;/td&gt;&lt;/tr&gt;/) {
  my $spaces = $1;
  if($spaces =~ m/(d+)/) {
			$spaces = $1;
			return $spaces;
		}
 }
}</pre>
<p>Sure, it could be nicer, but it works.</p>
<p>Ok, next was to resign the script so that it would work with the <a href="http://www.voip-info.org/wiki-Asterisk+AGI" onclick="pageTracker._trackPageview('/outgoing/www.voip-info.org/wiki-Asterisk+AGI?referer=');">Asterisk AGI</a> (the gateway interface of Asterisk). We modified the script slightly to read the amount of parking spaces at 4th and Washington and if we’re unable to get a number, report an ERROR.</p>
<pre>#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
$|=1;
sub trim($);

my %AGI;

while(&lt;STDIN&gt;) {
	chomp;
	last unless length($_);
	if (/^agi_(w+):s+(.*)$/) {
		$AGI{$1} = $2;
	}
}

print qq(VERBOSE "STATUS: checking a2dda.org for spaces available" 2n);

my $spacesavail = "";

if ($spacesavail = &amp;parking_lookup) {
	print qq(VERBOSE "There are $spacesavail spaces at 4th and Washington" 2n);
	print qq(SET VARIABLE SPACESAVAIL "$spacesavail"n);
	exit(0);
	}
else {
	print qq(VERBOSE "STATUS: unable to determine spaces" 2n);
}

print qq(SET VARIABLE SPACESAVAIL "ERROR"n);
exit(0); 

sub parking_lookup {
  my $ua = LWP::UserAgent-&gt;new( timeout =&gt; 45);
  my $URL = 'http://www.a2dda.org/parking.php';
  $ua-&gt;agent('AsteriskAGIQuery/1');
  my $req = new HTTP::Request GET =&gt; $URL;
  my $res = $ua-&gt;request($req);
  if ($res-&gt;is_success()) {
  		if ($res-&gt;content =~ /4th and Washington&lt;/td&gt;&lt;td&gt;(.*)&lt;/td&gt;&lt;/tr&gt;/) {
      my $spaces = $1;
      if($spaces =~ m/(d+)/) {
							$spaces = $1;
							return $spaces;
						}
     }
  }
  return "";
}</pre>
<p>Now, we have a number of available spaces, and integrating it was as easy as:</p>
<pre>exten =&gt; s,1,NoOp(checking parking)
exten =&gt; s,n,playback(/tmp/spaces-greet)
exten =&gt; s,n,AGI(getspaces.pl)
exten =&gt; s,n,GotoIf($["${SPACESAVAIL}" = "ERROR" ]?error)
exten =&gt; s,n,SayNumber(${SPACESAVAIL})
exten =&gt; s,n,playback(/tmp/spaces-avail)</pre>
<p>So why do we need Cepstral?</p>
<p>Good question! During testing of the script, we noticed that the number of spaces was always 130. No matter what we did, we kept getting back 130. Fred was pulling out what little hair he has&#8230; checking the asterisk&#8230; checking the code&#8230; couldn’t figure it out. Then, after checking the website, realized that <strong>Ann Arbor’s garages weren’t updating the spaces available</strong>. Perhaps a glitch, perhaps they don’t care, perhaps the information is being held hostage. No one knows for sure, but as of this moment, it’s pinned at 130.</p>
<p>Anyway, so enter Cepstral. Since the parking spots wouldn’t change, maybe the weather would. So, using another <a href="http://www.voiptechchat.com/voip/208/perl-script-to-put-weather-on-your-polycom-microbrowser/">script to check the weather</a>, you can modify the results and create a sound file using Cepstral (and swift), such as:</p>
<pre>my $hash = "";
$hash .= ('0'..'9', "a".."f")[int(rand(16))] for 1 .. 8;

my $text = qq(Currently &lt;break strength="weak" /&gt; it is $currtempf degrees &lt;break strength="weak" /&gt; in $city &lt;break strength="medium" /&gt; Current conditions &lt;break strength="weak" /&gt; $currcondition &lt;break strength="medium" /&gt; Rest of day predicts &lt;break strength="weak" /&gt; $todaycond &lt;break strength="medium" /&gt;);

my $sounddir = "/tmp";
my $wavefile = "$sounddir/"."tts-$hash.wav";
my $wavefileAst = "$sounddir/"."tts-$hash";
my $t2wp= "/opt/swift/bin/"; 

unless (-f $wavefile) {
       open(fileOUT, "&gt;$sounddir"."/say-text-$hash.txt");
       print fileOUT "$text";
       close(fileOUT);
							my $execf=$t2wp."swift -f $sounddir/say-text-$hash.txt -p audio/channels=1,audio/volume=70,audio/sampling-rate=8000,audio/deadair=2 -o $wavefile";
       system($execf);
       unlink($sounddir."/say-text-$hash.txt");
} 

print qq(SET VARIABLE SWIFTFILE "$wavefileAst"n);</pre>
<p>Yes, again the code could be nicer.. but in this case we create a sound file for the weather conditions and then make a sound file variable. Yes, AGI supports streaming the audio and even playing it back directly from the script&#8230; so why did we chose to exit the script and return to the dialplan? Asterisk is very versatile. We like returning to the dialplan, and that’s how we code. Life is that simple. What works for you best, can sometimes be the best solution.</p>
<p>Ok, bringing that into the asterisk dial plan, you have:</p>
<pre>exten =&gt; s,1,NoOp(checking parking)
exten =&gt; s,n,playback(/tmp/spaces-greet)
exten =&gt; s,n,AGI(testspaces.pl)
exten =&gt; s,n,GotoIf($["${SPACESAVAIL}" = "ERROR" ]?error)
exten =&gt; s,n,SayNumber(${SPACESAVAIL})
exten =&gt; s,n,playback(/tmp/spaces-avail)
exten =&gt; s,n,goto(weather)
exten =&gt; s,n(error),playback(/tmp/spaces-error)
exten =&gt; s,n(weather),AGI(current-weather.pl)
exten =&gt; s,n,GotoIf($["${CITY}" = "ERROR" ]?end)
exten =&gt; s,n,playback(${SWIFTFILE})
exten =&gt; s,n(end),goto(main,s,1)</pre>
<p>Your comments are always welcome!</p>
<h3>UPDATE — 01/10/2009</h3>
<p>Well, the system has been upgraded a little bit&#8230; if you call <strong><span style="text-decoration: line-through;">+1 (212) 937-7844</span></strong><span style="text-decoration: line-through;"> and press option </span><strong><span style="text-decoration: line-through;">6</span> +1 (<span style="font-weight: normal;"><strong>734) 272-0909</strong> you can choose your garage, and then be automatically called back (on the number you called from) when there are fewer than 10 spaces available.</span></strong></p>
<p>Comments&#8230; we love to hear them.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.voiptechchat.com/voip/218/use-asterisk-cepstral-and-perl-to-get-parking-and-weather-updates/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.812 seconds -->
