<?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>The Nir Simionovich blog &#187; AGI</title>
	<atom:link href="http://www.simionovich.com/tag/agi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.simionovich.com</link>
	<description>The rants and raves of a technogeek</description>
	<lastBuildDate>Sat, 03 Sep 2011 19:26:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Open Source, Philanthropy and Asterisk</title>
		<link>http://www.simionovich.com/2010/04/16/open-source-philanthropy-and-asterisk/</link>
		<comments>http://www.simionovich.com/2010/04/16/open-source-philanthropy-and-asterisk/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:28:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[AGI]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[economy]]></category>
		<category><![CDATA[GreenfieldTech]]></category>
		<category><![CDATA[Israel]]></category>
		<category><![CDATA[IVR]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Mark Shuttleworth]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=421</guid>
		<description><![CDATA[When I started using Open Source software, it seemed like all Open Source projects are driven by philanthropic agendas. We were all focused on "sticking it to the man" - showing all these would be software vendors that community driven projects can do just as well - if not better.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2010%2F04%2F16%2Fopen-source-philanthropy-and-asterisk%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2010%2F04%2F16%2Fopen-source-philanthropy-and-asterisk%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<div class="zemanta-img">
<div class="wp-caption alignright" style="width: 224px"><a href="http://commons.wikipedia.org/wiki/Image:Tux.png"><img class=" " title="Tux, the Linux mascot" src="http://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png" alt="Tux, the Linux mascot" width="214" height="253" /></a><p class="wp-caption-text">Image via Wikipedia</p></div>
</div>
<p>When I started using <a class="zem_slink" title="Open Source" rel="wikinvest" href="http://www.wikinvest.com/concept/Open_Source">Open Source</a> software, it seemed like all Open Source projects are driven by <a class="zem_slink" title="Philanthropy" rel="wikipedia" href="http://en.wikipedia.org/wiki/Philanthropy">philanthropic</a> agendas. We were all focused on &#8220;sticking it to the man&#8221; &#8211; showing all these would be software vendors that community driven projects can do just as well &#8211; if not better.</p>
<pre>"When I was a child I spoke as a child I
understood as a child I thought as a child;
but when I became a man I put away childish
things." - I Cor. xiii. 11.
</pre>
<p>Well, I&#8217;m not claiming that Open Source is childish &#8211; absolutely not, however, when you are a student you tend to look at things in one way, when you have a family to care for &#8211; you start looking at things differently. You remember these days in life when your dad said: &#8220;When you&#8217;ll have children you will understand&#8221; &#8211; well, now I do.</p>
<p>So, what am I rambling about exactly? I&#8217;ll tell you. The day before Passover I attended several meetings, which when I came back home had pissed me off immensely. I feel an urge to write all about these meetings, including who I met exactly, however &#8211; I won&#8217;t do that. However, I will give a rough idea of these.</p>
<h2>Meeting 1 : A world recognized Mobile application player</h2>
<p>I came into the meeting with this company, where the CTO of the company explained to me that they are looking to create an Asterisk based solution for their application&#8217;s users. My initial question was: how many users? what is your concurrency level? &#8211; The answer that I got was: &#8220;Oh, we don&#8217;t need something major, just a few lines of configurations in Asterisk config files in order to make this work&#8221;.</p>
<p>I left the meeting slightly pissed off, thinking to myself: &#8220;You bloody inconsiderate prick! You bring me to a meeting, spend my time &#8211; and then telling me that this is just a few lines of configuration. If it is that simple, why don&#8217;t you do it yourself? you have 20 developers in there, 4 IT people and god knows how many outsourced workers off-shore &#8211; if it was that simple, you would have done it already &#8211; so probably it isn&#8217;t &#8211; right?&#8221;</p>
<h2>Meeting 2 : A well established IVR services vendor</h2>
<p>The second meeting was with a well established IVR content vendor, this company runs around 16M minutes of inbound IVR traffic every month. They invited me in order to talk about expanding into new countries, wishing to get premium based access numbers in various countries. So, we started talking, and the guy indicates that he wants a certain kick-back payout, which I know is impossible &#8211; at least without charging the user more. Actually, the guy indicated that out of the interconnect fee, he wants to get almost 90% as a kick back.</p>
<h2>Meeting 3 : A start up rendering IVR content</h2>
<p>The third meeting was the most amazing one &#8211; these guys wanted to build an Asterisk system to server around 4000 concurrent channels &#8211; outsource the entire development to my company &#8211; and pay as a revenue share. When I asked for their business model, marketing plan, investors, profiles &#8211; I got a response of &#8211; we don&#8217;t yet have all of these, we only have an idea at this point that we want to implement.</p>
<p>Garage based companies are built by people who can do the work themselves, not the other way around.</p>
<div class="mceTemp">
<div class="zemanta-img zemanta-action-dragged">
<div>
<dl class="wp-caption alignleft" style="width: 133px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/Image:Mark_Shuttleworth_by_Martin_Schmitt.jpg"><img title="Photograph of Mark Shuttleworth by Martin Schm..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Mark_Shuttleworth_by_Martin_Schmitt.jpg/300px-Mark_Shuttleworth_by_Martin_Schmitt.jpg" alt="Photograph of Mark Shuttleworth by Martin Schm..." width="123" height="173" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/Image:Mark_Shuttleworth_by_Martin_Schmitt.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
</div>
<p>At this point, you are probably asking yourself: &#8220;What does this have to do with the title?&#8221; &#8211; Well, all of these meetings had one thing in common. The people I met were under the impression that Open Source is some form of philanthropy. Or to be more exact, people who deal with the Open Source market are philanthropists. My question is this: &#8220;Why are we perceived as philanthropists? don&#8217;t we have families to care for? don&#8217;t we need to pay mortgages and bills just like everybody else?&#8221;. I guess when people read about the various Open Source entrepreneurs, such as <a class="zem_slink" title="Mark Shuttleworth" rel="homepage" href="http://www.markshuttleworth.com/">Mark Shuttleworth</a> &#8211; the immediately associate Open Source with Big Exists &#8211; this is not the case.</p>
<p>At some level, this is purely our fault &#8211; we educated people that Open Source is a highly economical methodology of solving technical challenges. No where along the way, had we educated the public that behind the model there are people, people who need to make a living.</p>
<p>If you are an Open Source consultant, developer, evangelist or just someone who may have an opinion on this, I&#8217;d love to read what you say.</p>
<div class="zemanta-pixie"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/0d6b720b-e2bc-4e1f-bf59-7f5ce2ce1615/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=0d6b720b-e2bc-4e1f-bf59-7f5ce2ce1615" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2010/04/16/open-source-philanthropy-and-asterisk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Call Analytics &#8211; Closed Alpha testing group</title>
		<link>http://www.simionovich.com/2010/03/14/call-analytics-closed-alpha-testing-group/</link>
		<comments>http://www.simionovich.com/2010/03/14/call-analytics-closed-alpha-testing-group/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 09:09:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[digium]]></category>
		<category><![CDATA[Elastix]]></category>
		<category><![CDATA[Fonality]]></category>
		<category><![CDATA[FreePBX]]></category>
		<category><![CDATA[freeswitch]]></category>
		<category><![CDATA[GreenfieldTech]]></category>
		<category><![CDATA[PHPAGI]]></category>
		<category><![CDATA[sangoma]]></category>
		<category><![CDATA[TrixBox]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=397</guid>
		<description><![CDATA[Well, it's been almost a month since I've started writing about the humbug project. Now, it's time to actually get you people involved, at least in the initial levels. We are looking to add 10 additional members into the humbug call analytics suite. Currently available analytics during the alpha testing is inbound call analytics.

]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2010%2F03%2F14%2Fcall-analytics-closed-alpha-testing-group%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2010%2F03%2F14%2Fcall-analytics-closed-alpha-testing-group%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Well, it&#8217;s been almost a month since I&#8217;ve started writing about the humbug project. Now, it&#8217;s time to actually get you people involved, at least in the initial levels. We are looking to add 10 additional members into the humbug call analytics suite. Currently available analytics during the alpha testing is inbound call analytics.</p>
<p>Our aim is to gather as much information as we can and as much user requests as we can, humbug is a community oriented project, thus it relies on community oriented input and feature requests. Participating members will  be granted access to the humbug analytics portal, allowing them to gather statistical information regarding their inbound call hits and their top ten DID numbers &#8211; we are working on additional statistics. As new stats will become available, we&#8217;ll role those out into the service as soon as possible.</p>
<p>In order to participate in the closed alpha testing, please send an email to alphatest at humbuglabs.org, and we&#8217;ll send you a short piece of dialplan code to insert into your <a class="zem_slink" title="Asterisk (PBX)" rel="homepage" href="http://www.asterisk.org/">Asterisk</a> server. Technically speaking, we&#8217;ll send you a short AGI command that looks like this:</p>
<p>exten =&gt; _X.,n,AGI(agi://somehost/DataReceiver,some_unique_ident)</p>
<p>The above line needs to be inserted into any place you would like to generate call analytics from. We&#8217;ll also enclose configuration steps for <a class="zem_slink" title="FreePBX" rel="wikipedia" href="http://en.wikipedia.org/wiki/FreePBX">FreePBX</a> (and other FreePBX compatible distributions). We are hard at work for creating a FreePBX integrated module, so you can do a one-click install.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/30a0c292-bf3e-4955-a2cb-865340d13569/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=30a0c292-bf3e-4955-a2cb-865340d13569" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2010/03/14/call-analytics-closed-alpha-testing-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk and Amazon EC2 &#8211; Amoocon Presentation</title>
		<link>http://www.simionovich.com/2009/05/14/asterisk-and-amazon-ec2-amoocon-presentation/</link>
		<comments>http://www.simionovich.com/2009/05/14/asterisk-and-amazon-ec2-amoocon-presentation/#comments</comments>
		<pubDate>Wed, 13 May 2009 22:57:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[AGI]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[Dialers]]></category>
		<category><![CDATA[economy]]></category>
		<category><![CDATA[GreenfieldTech]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[PHPAGI]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMWARE]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=301</guid>
		<description><![CDATA[I recently gave a presentation at the Amoocon convention, held in Rostock, Germany &#8211; about Asterisk and Amazon EC2. Below is a medium quality video of that presentation: or you may download it here: Amazon EC2 and Asterisk video files]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2009%2F05%2F14%2Fasterisk-and-amazon-ec2-amoocon-presentation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2009%2F05%2F14%2Fasterisk-and-amazon-ec2-amoocon-presentation%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently gave a presentation at the Amoocon convention, held in Rostock, Germany &#8211; about Asterisk and Amazon EC2. Below is a medium quality video of that presentation:</p>
<p> <embed src="http://www.amoocon.de/assets/talks/27/EC2-medium.mov" width="480" height="284" href="http://www.amoocon.de/assets/talks/27/EC2-medium.mov" autohref="false">  </p>
<p>or you may download it here:<br />
<a href="http://www.amoocon.de/talks/27">Amazon EC2 and Asterisk video files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2009/05/14/asterisk-and-amazon-ec2-amoocon-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.amoocon.de/assets/talks/27/EC2-medium.mov" length="201098713" type="video/quicktime" />
		</item>
		<item>
		<title>GreenfieldTech announces the general availability of app_cashmaker for Asterisk</title>
		<link>http://www.simionovich.com/2009/04/01/greenfieldtech-announces-the-general-availability-of-app_cashmaker-for-asterisk/</link>
		<comments>http://www.simionovich.com/2009/04/01/greenfieldtech-announces-the-general-availability-of-app_cashmaker-for-asterisk/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 12:53:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[AGI]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[ami]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[CONTENT]]></category>
		<category><![CDATA[digium]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[MOBILE]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[STREAMING]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=283</guid>
		<description><![CDATA[Udim, Israel. April 1, 2009 -GreenfieldTech Ltd., a leading provider of Asterisk solutions of training services in Israel, today announced the availability of it's patented app_cashmaker application for the Asterisk Open Source PBX system. The CashMaker application is intended to be used by various content suppliers, wishing to distribute Audio and Video based content, utilizing their Asterisk server. ]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2009%2F04%2F01%2Fgreenfieldtech-announces-the-general-availability-of-app_cashmaker-for-asterisk%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2009%2F04%2F01%2Fgreenfieldtech-announces-the-general-availability-of-app_cashmaker-for-asterisk%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Udim, Israel. April 1, 2009 -</strong>GreenfieldTech Ltd., a leading provider of Asterisk solutions and Asterisk training services in Israel, today announced the availability of it&#8217;s patented app_cashmaker application for the Asterisk Open Source PBX system. The CashMaker application is intended to be used by various content suppliers, wishing to distribute Audio and Video based content, utilizing their Asterisk server.</p>
<p>The application is built to accept an inbound call into it, then, according to various information gathered in correlation to the callers caller ID and/or inbound DID number, will correlate a relevant content stream directly to the caller. The content distributor doesn&#8217;t even have to care about what content to distribute, as the application will connect directly, via the Internet, to a remotely available RTBSP streaming server at GreenfieldTech data center.</p>
<p>&#8220;The app_cashmaker application is the result of the cumulative work of over 3 years in the making, testing various content business models and applications. The main problems most content distributors have is how to gather the content and manage it, with app_cashmaker, this requirement is negated, thus allowing the distributor to concentrate on what they do best &#8211; flooding the newpapers with ads and marketing material to promote their content delivery service&#8221;, says Nir Simionovich, CEO and Founder of GreenfieldTech.</p>
<p>Simionovich indicated that the central content distribution facility is managed via a GTBS cluster environment, implemented partially utilizing Amazon&#8217;s EC2 and S3 structures, while utilizing GreenfieldTech&#8217;s proprietary streaming and clustering technologies. Currently, GreenfieldTech had submitted 10 different provisional patents, relating to the technologies comprising the app_cashmaker application and service. GreenfieldTech marketing team had indicated that initial beta trials had showed an increase in content availability, via the GreenfieldTech BSC Cloud facilityof over 40% with an increase of almost 80% in content delivery success.</p>
<p>Simionovich estimates that by the year 2010, over 20,000,000 will use the GreenfieldTech app_cashmaker facility, disrupting completely the way mobile, audio and video content is distributed around the world.</p>
<p><strong>Asterisk</strong> is the world&#8217;s leading open source PBX telephony engine, and telephony applications solution. It offers unmatched flexibility in a world previously dominated by expensive proprietary communications systems. The Asterisk solution offers a rich and flexible voice infrastructure that integrates seamlessly with both traditional and advanced VoIP telephony systems. For more information on Asterisk visit <a href="http://www.asterisk.org">http://www.asterisk.org</a> </p>
<p>For more information, please refer to the GreenfieldTech website at <a href="http://www.greenfieldtech.net" target="_blank">http://www.greenfieldtech.net</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2009/04/01/greenfieldtech-announces-the-general-availability-of-app_cashmaker-for-asterisk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk AGI Programming &#8211; New Book</title>
		<link>http://www.simionovich.com/2009/02/18/asterisk-agi-programming-new-book/</link>
		<comments>http://www.simionovich.com/2009/02/18/asterisk-agi-programming-new-book/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 23:08:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[Asterisk Book]]></category>
		<category><![CDATA[Asterisk Developers]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[Packt Publishing]]></category>
		<category><![CDATA[PHPAGI]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=254</guid>
		<description><![CDATA[Well, it&#8217;s finally out &#8211; my new book that is Some of you already know, but over the past year I&#8217;ve been busy writing a new book. This time it&#8217;s a book for Asterisk developers, especially tailored to PHP developers wishing to utilizing the PHPAGI framework. The book is out from Packt Publishing (Like my]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2009%2F02%2F18%2Fasterisk-agi-programming-new-book%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2009%2F02%2F18%2Fasterisk-agi-programming-new-book%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Well, it&#8217;s finally out &#8211; my new book that is <img src='http://www.simionovich.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Some of you already know, but over the past year I&#8217;ve been busy writing a new book. This time it&#8217;s a book for Asterisk developers, especially tailored to PHP developers wishing to utilizing the PHPAGI framework. The book is out from Packt Publishing (Like my old AsteriskNOW book) and is updated with all the recent changes in Asterisk &#8211; including version 1.6.X and DAHDI.</p>
<div class="wp-caption aligncenter" style="width: 550px"><a href="http://www.packtpub.com/asterisk-gateway-interface-programming/book"><img title="Asterisk Developers Book" src="http://images.packtpub.com/images/full/184719446X.jpg" alt="Asterisk Developers Book" width="540" height="666" /></a><p class="wp-caption-text">Asterisk Developers Book</p></div>
<p>If you like my work with Asterisk and would like to read more of my work, go ahead and get an electronic version of this book. I know it&#8217;s a little self promoting, by hey, it never hurts does it?</p>
<p>I&#8217;ve included a chapter on how to build a complete project from scratch, detailing the various analysis steps and various paradigms required to develop a fully functional Asterisk based application. I believe that even experienced Asterisk developers will benefit from this book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2009/02/18/asterisk-agi-programming-new-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts of Virtualization &#8211; Part III &#8211; Multiple Asterisk Gateways</title>
		<link>http://www.simionovich.com/2008/12/15/thoughts-of-virtualization-part-iii-multiple-asterisk-gateways/</link>
		<comments>http://www.simionovich.com/2008/12/15/thoughts-of-virtualization-part-iii-multiple-asterisk-gateways/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 12:17:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[Virtual Server]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[VMWARE]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=180</guid>
		<description><![CDATA[While this post is titled &#8220;Thoughts of Virtualizaiton&#8221;, the applications described can be easily applied to non-VM type installations. Virtualization is a wonderful tool, it enables rapid growth and rapid deployment of new servers and services. However, just like any other platform that tends to grow across the time line, it poses the same annoying]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F12%2F15%2Fthoughts-of-virtualization-part-iii-multiple-asterisk-gateways%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F12%2F15%2Fthoughts-of-virtualization-part-iii-multiple-asterisk-gateways%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>While this post is titled &#8220;Thoughts of Virtualizaiton&#8221;, the applications described can be easily applied to non-VM type installations.</p>
<p>Virtualization is a wonderful tool, it enables rapid growth and rapid deployment of new servers and services. However, just like any other platform that tends to grow across the time line, it poses the same annoying issue of managing a large system, especially when dealing with Asterisk based installations.</p>
<p>Let us imagine the following scenario: A Calling Card company while utilizes 8 different Asterisk application servers, are utilizing a single Database servers cluster and are receiving inbound calls from various sources and load balanced across all Asterisk application servers. What I&#8217;ve described above is more or less the practice most (if not) all calling card operators deploy. No matter if the usage is A2Billing, MOR, ASTBILL &#8211; the methodology is more or less the same.</p>
<p>One of the bigger issues with such an installation is debugging of a running session, more over, the ability to debug a session after it is finished. This situation is caused by a simple, yet annoying issue, we are operating within a &#8220;zero-knowledge&#8221; system, where we have no precognition of where a specific call will be handled utilizing our cluster. Now, if you are an experienced sysadmin, you would most probably do the following:</p>
<ol>
<li>SSH to all your Asterisk servers.</li>
<li>Tile all consoles on your desktop.</li>
<li>Start the test &#8211; and hope your eyes are fast enough to capture the right gateway.</li>
</ol>
<p>Well, this is the normal practice with most people &#8211; but I have to admit it&#8217;s kind of annoying. Now, let&#8217;s imagine that we are now building our system from scratch, we&#8217;re not using A2Billing or any of the other Open Source products, we simply build our own application framework. So, what do we need to do in order to keep track of our system correctly?</p>
<p><strong>Step 1: Consolidate</strong></p>
<p>Consolidate the messages coming from each of your gateways to a single logging facility. The best track would be to utilize some form of Syslog facility. For example, all the scripts and network services that I develop utilize a clear and concise interface to syslog. I usually re-direct the syslog facility that I use to an external server, thus, I get all the logs on a single syslog file system.</p>
<p>If you are worried about I/O issues on the syslog server, you can always create a &#8220;syslog-proxy&#8221; using tools such as memcached or others.</p>
<p><strong>Step 2: Identify</strong></p>
<p>Your syslog write function should always include a prefix indicating the name of the generating Asterisk server. For example, have something like the following prefix your syslog entry:</p>
<h5>Dec 14 21:51:32 pbx [PBX01/6d6d6423a2244aa71980e5a5b437919e/check_pincode[22537]: agiParameters: check_pincode</h5>
<p>While the syslog facility will include your generating hostname, when duplication VM&#8217;s, this would be a really good practice.</p>
<p><strong>Step 3: Analyse</strong></p>
<p>Once your logs are consolidated to a single environment, it should be fairly simple for you to go about and analyse these in a pre-defined routine. There is little to gain from analysing the logs on-the-fly, but analysing it every 5/10/15 minutes will prove worthwhile.</p>
<p><strong>Step 4: Audit</strong></p>
<p>Auditing is good &#8211; as long as you keep a clear view of what you audit and what you don&#8217;t. Audit key points in your application to a database can save you a whole lot of time of debugging &#8211; just make sure your audit is clear.</p>
<p>Keep the above in mind and you should be just fine creating any scale of platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2008/12/15/thoughts-of-virtualization-part-iii-multiple-asterisk-gateways/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working on a new book &#8230;.</title>
		<link>http://www.simionovich.com/2008/08/05/working-on-a-new-book/</link>
		<comments>http://www.simionovich.com/2008/08/05/working-on-a-new-book/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 11:14:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[AsteriskNOW]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[CTI]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PacktPublishing]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=52</guid>
		<description><![CDATA[As most of you reading this blog, you must know that I&#8217;ve published an AsteriskNOW book early this year. I&#8217;m happy to say that I&#8217;ve received numerous emails since the publication of the book, all asking various questions about Asterisk in general and AsteriskNOW in particular. Most of the questions that I received were related]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F08%2F05%2Fworking-on-a-new-book%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F08%2F05%2Fworking-on-a-new-book%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>As most of you reading this blog, you must know that I&#8217;ve published an <a href="http://www.asterisknow.org">AsteriskNOW</a> <a href="http://www.amazon.com/AsteriskNOW-Nir-Simionovich/dp/1847192882/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1217936695&#038;sr=1-1">book</a> early this year. I&#8217;m happy to say that I&#8217;ve received numerous emails since the publication of the book, all asking various questions about Asterisk in general and AsteriskNOW in particular.</p>
<p>Most of the questions that I received were related to the development of AGI and AMI scripts, and how to utilize Asterisk as an application layer platform. This inspired me to work on additonal title, to complete my previous book. I&#8217;m currently working on an Asterisk Developers guide, for AGI/CTI development with Asterisk. The book serves as a complete guide, summarizing the various aspects of developing AGI/CTI applications with Asterisk, while, enjoying various additions from my day-to-day experience with AGI/CTI development with Asterisk. The book is written as an eye-opener for experienced developers, wishing to make their transition to AGI/CTI development, and teaches them how to avoid the most common mistakes of early day AGI developers.</p>
<p>I&#8217;ll be be updating the blog with my progress. Currently, chapters 1 through 5 are complete, covering the basic aspects of dial-plan and AGI development. More information will be released soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2008/08/05/working-on-a-new-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We are to blame&#8230;</title>
		<link>http://www.simionovich.com/2008/07/09/we-are-to-blame/</link>
		<comments>http://www.simionovich.com/2008/07/09/we-are-to-blame/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 09:13:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Magic]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[SIPP]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=49</guid>
		<description><![CDATA[Lately I&#8217;ve come to the realization, that we are to blame for our own inability to promote Open Source and the adaptation of Open Source proficiency. Being an Open Source evangelist and consultant, this is very weird to be said by one like myself, however, this is my realization &#8211; and I will explain. In]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F07%2F09%2Fwe-are-to-blame%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F07%2F09%2Fwe-are-to-blame%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Lately I&#8217;ve come to the realization, that we are to blame for our own inability to promote Open Source and the adaptation of Open Source proficiency. Being an Open Source evangelist and consultant, this is very weird to be said by one like myself, however, this is my realization &#8211; and I will explain.</p>
<p>In the early days of Open Source adaptations (late 90&#8242;s, early 2000), Open Source software was a somewhat magical solution that meant: pay nothing, get more. Software packages like Linux, Apache, mySQL, PostgreSQL and programming languages like PERL and PHP had lowered the bar on the adaptation of new technologies, and enabled a prolific number of solutions and services.</p>
<p>I still remember the early days, when a Windows based Mail Relay would cost anything between 800$ to 1200$, and I would come in with a Linux based solution that would do the same thing for FREE &#8211; amazing. As time progressed, so did the technology and the penetration of Open Source into new fields. CRM, ERP, Telecoms, management &#8211; all of these now enjoy a diverse number of Open Source solutions. However, the original concept of &#8216;Open Source = Magical FREE Solution&#8217; had still remained in the minds of managers and business people.</p>
<p>Today we are confronted with &#8216;would-be&#8217; Open Source solution experts, which adopt and develop upon Open Source products and project various applications. In example, let&#8217;s take a look at Asterisk. Asterisk has a multitude of Open Source solutions, ranging from PBX system, Prepaid calling cards, Wholesale routing platforms, Attendance system, Presence systems &#8211; and even a plant watering solution. The problem with this ever growing number of solutions is that Asterisk is immediately considered to be: &#8220;A magical solution&#8221; capable of solving any problem &#8211; when it&#8217;s not even remotely related to Asterisk. For example, a friend of mine had been asked to develop an Asterisk based solution, that would support a total of 250 concurrent call initiations and up-to 3000 concurrent calls on the system. Any Asterisk developer would take a look at this, and would immediately say: &#8220;Hmmm&#8230;. this requires several servers, but hey, what about the application itself? that would also have an impact&#8221;. Now, the customer of the project has a &#8216;would-be&#8217; Asterisk tech in his company which said: &#8220;I was able to initiate 200 concurrent SIP invites to Asterisk via SIPP, no problem&#8217; &#8211; HELLO! STUPID! where&#8217;s the application? where&#8217;s the database? where&#8217;s the user information flow? comm&#8217;on, are you listening to yourself speak? or simply are filled with the gasses coming out of your ass that are affecting your brain?</p>
<p>Now, once the customer learns that Asterisk is most probably not the right solution for the problem, he becomes angry. Why? because he now learns that he needs to spend about 10 times more money than he anticipated for the creation of this tool &#8211; well, that&#8217;s life when you have no idea what you are doing/saying, and you believe in magical solutions. However, we &#8211; &#8220;The Open Source Community &#8211; is the one to blame for this scenario, because we got the world accustomed to the idea that Open Source is like magic &#8211; flip the Linux magic wand, and the rest will solve itself.</p>
<p>I&#8217;d like to open the floor for discussion on this, as I believe most of you will have something to say about this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2008/07/09/we-are-to-blame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The world&#8217;s fastest Asterisk based Dialer</title>
		<link>http://www.simionovich.com/2008/03/02/the-worlds-fastest-asterisk-based-dialer/</link>
		<comments>http://www.simionovich.com/2008/03/02/the-worlds-fastest-asterisk-based-dialer/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 09:23:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[advertizing]]></category>
		<category><![CDATA[ami]]></category>
		<category><![CDATA[dialer]]></category>
		<category><![CDATA[digium]]></category>
		<category><![CDATA[freeswitch]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[openpbx]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[sangoma]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=26</guid>
		<description><![CDATA[As most of you already know, I&#8217;m heavily involved within the Asterisk Open PBX project. Over the course of the past 5 years of my dealing with Asterisk, Asterisk had always suffered a serious flaw, and that is, a single-threaded Manager interface &#8211; which usually led to serious dead-locks when writing a multi-threaded server that]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F03%2F02%2Fthe-worlds-fastest-asterisk-based-dialer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2008%2F03%2F02%2Fthe-worlds-fastest-asterisk-based-dialer%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>As most of you already know, I&#8217;m heavily involved within the Asterisk Open PBX project. Over the course of the past 5 years of my dealing with Asterisk, Asterisk had always suffered a serious flaw, and that is, a single-threaded Manager interface &#8211; which usually led to serious dead-locks when writing a multi-threaded server that connects to it.</p>
<p>One of my long time challenges was to surpass the 4-5 originate requests to the Asterisk Manager interface, enabling me to automatically dial more than 4-5 calls at the same second. My initial work had began with the idea of increasing that by a factor of 50%, going up to around 7-8 calls per second &#8211; I had achieved that using a combination of smart synchronization between the manager interface and my originating server &#8211; and also enabling asynchronous originate requests &#8211; however, that methodology had proved to be problematic &#8211; in terms of reliability.</p>
<p>I understood that something else had to be devised, something that doesn&#8217;t rely completely on the manager interface, and that will allow me to originate calls freely, without clogging up the manager interface. So, I decided to move my interest from the Manager interface, and concentrate on understanding Asterisk&#8217;s channel handling, especially, how do calls originating from the manager interface are handled by the Asterisk spooler and the Asterisk channel drivers.</p>
<p>more will follow&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2008/03/02/the-worlds-fastest-asterisk-based-dialer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPAGI Annoyances or maybe&#8230;</title>
		<link>http://www.simionovich.com/2007/11/29/phpagi-annoyances-or-maybe/</link>
		<comments>http://www.simionovich.com/2007/11/29/phpagi-annoyances-or-maybe/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 21:18:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AGI]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[technnology]]></category>
		<category><![CDATA[Asterisk Gateway Interface]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[PHPAGI]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://www.simionovich.com/?p=21</guid>
		<description><![CDATA[OK, if there is one thing I really hate, is that when something so little as a small configuration change from one version to another causes things not to function properly. It is one thing to make sure that your code is backward compatible, no one really expects that your scripting language will suddenly start]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.simionovich.com%2F2007%2F11%2F29%2Fphpagi-annoyances-or-maybe%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.simionovich.com%2F2007%2F11%2F29%2Fphpagi-annoyances-or-maybe%2F&amp;source=nirsimionovich&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>OK, if there is one thing I really hate, is that when something so little as a small configuration change from one version to another causes things not to function properly. It is one thing to make sure that your code is backward compatible, no one really expects that your scripting language will suddenly start behaving differently, just because you upgraded to a new minor version &#8211; right?<span id="more-21"></span></p>
<p>So, here is the case, over the course of the past 2 years, I&#8217;ve done some extensive AGI programming with the PHP programming language &#8211; hell, I think that if I&#8217;ll sit down and write a book about AGI programming with PHP, it would be one of the most complete ones. I remember that when I started writing AGI scripts, I used to simply write everything by myself, each script was a self contained unit, everything was working hunky-dory. Shortly later, I discovered the PHPAGI class, a nicely wrapped AGI class for AGI, FastAGI and Asterisk Manager interaction, that made my life really easy. When Asterisk evolved to version 1.2, most of my PHPAGI scripts kept on working, apart from a small part of the Manager interface, however, that was easily worked around &#8211; and we&#8217;re back hunky dory. Even Asterisk 1.4 and Asterisk TRUNK liked PHPAGI, no problem there &#8211; till a week ago.</p>
<p>So here I am, working on a new project, and I&#8217;m working on my new snazzy development kit, that is installed according to the following:</p>
<p>CentOS 5.0 x86_64 with Kernel 2.6.18-8.1.4.el5<br />
Asterisk stable 1.4.14<br />
php version 5.1.6 (RPM package: php-5.1.6-12.el5)</p>
<p>At this point, all hell broke loss! All of my old PHPAGI scripts had simply gone crazy on me, causing each of the AGI &#8220;GET VARIABLE&#8221; commands to fail, always returning variables which are not there at all. That was fairly annoying, I&#8217;m issuing a command, getting an error response, issue the same command again, get a proper response only with the wrong variable, issue the command again &#8211; get the proper value. How annoying! &#8211; All these scripts used to work perfectly in the past, what happened? So, I deploy an older code of mine, guess what, that code doesn&#8217;t work either &#8211; at this point, I start pulling hairs off my head (not that I have much to pull on, my hair is very short).</p>
<p>So, what does any good Open Source programmer do when confronted with such a problem? &#8220;Use the source Luke, use the source!&#8221; &#8211; lets dig into the Asterisk code. Adding some AST_LOG functions here and there, doing some more debugging using valgrind, everything within Asterisk looks nice. Just to make sure, lets downgrade the Asterisk version and run the test again &#8211; same results. Conclusion: Asterisk isn&#8217;t the problem, doesn&#8217;t really matter what version I use.</p>
<p>OK, lets check the PHP scripts &#8211; some PHPAGI class hacking, more debug here, mode debug there, a few more syslog calls &#8211; everything looks on the PHPAGI script as if the input from Asterisk is messed up. Conclusion: something in the middle is fucking up royally!</p>
<p>Now, being a good programmer I said to myself: &#8220;OK, so one said that PHPAGI is the only language out there, lets go Python &#8211; besides, I always wanted to learn Python&#8221;. So I spend a day learning some Python, just so I would be able to re-write my script into Python. Ran the script &#8211; holly shit! &#8211; it works, as if nothing happened. Conclusion: something in the PHP environment is screwing up the environment. So, I decide to modify my execution from using php-cli to php-cgi, for all practical matters (at least from the script side) &#8211; it should behave identically. Modified it to work with php-cgi, suddenly the $argv variable isn&#8217;t being passed to the script! &#8211; Hmmmm&#8230;. that&#8217;s odd, it was there a minute ago. Lets dig into php.ini and see what&#8217;s wrong:</p>
<p>; This directive tells PHP whether to declare the argv&amp;argc variables (that<br />
; would contain the GET information).  If you don&#8217;t use these variables, you<br />
; should turn it off for increased performance.<br />
register_argc_argv = Off</p>
<p>Dear god, why would $argv and $argc be turned off? just for performance sake? how would I run the AGI scripts that I want to run, after all, I am using the $argv variable. Turn the parameter back to &#8220;On&#8221; &#8211; JOY! Everything is back working as it should. So the question that remains is: &#8220;What is the main difference between php-cli and php-cgi that had caused this issue?&#8221; According to the voip-info.org website, there is some form of difference, however, it doesn&#8217;t really say how it is exhibited in the operation of AGI scripts.</p>
<p>Well, at least I solved my problem for the mean while, I&#8217;ll work on getting the proper explanation of php-cli vs. php-cgi later on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simionovich.com/2007/11/29/phpagi-annoyances-or-maybe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

