<br><br><div class="gmail_quote">On Tue, May 25, 2010 at 8:40 AM, Phone <span dir="ltr">&lt;<a href="mailto:phone.bytes@gmail.com" target="_blank">phone.bytes@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

As I mentioned...I am a bit confused now...I guess your reply confirms<br>
that...sorry...I have been scouring the web to learn what route to<br>
take...I guess I should stay closer to the source.   I don&#39;t mean to ask<br>
stupid questions...I am just trying to build an app with this great tool<br>
FreeSWITCH...and it is new to me.<br></blockquote><div>It&#39;s okay. You just happened to have picked an advanced project for someone knew to FreeSWITCH and also relatively new to programming.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


<br>
My understanding is that I will need to use a threaded app. I am checkng<br>
a DB for pending calls, placing multiple calls<br>
simultaneously....watching for them to be answered and then take action<br>
based upon dtmf or other response.  Am I correct that I will use<br>
threading and events for this?<br></blockquote><div>The term &quot;threaded&quot; might be misleading. Yes, a threaded app would probably work, but depending on your needs it isn&#39;t strictly necessary. Perl&#39;s POE is not a &quot;threaded&quot; app but it is an advanced event loop that allows many things to be happening at once. (Strictly speaking it just quickly switches between tasks.) You just need things to be asynchronous, aka &quot;non-blocking&quot; so that your program doesn&#39;t do stuff like submit an originate and sit there for 20 seconds doing nothing else while it waits for the originate to succeed or fail. (That&#39;s why you use &quot;bgapi&quot; like I mentioned before.) <br>

 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Sounds like perl for a threaded app is not a good idea. I have not<br>
really got very far threading in perl. I was just wondering if it was a<br>
viable solution to build from the perl client example by expanding the<br>
event loop there or if I was way off and should be going a different<br>
direction.  What do you suggest?<br></blockquote><div>We suggest you use ESL and whichever programming language you are most comfortable with, assuming that you are comfortable with any of those that support ESL. :)  Perl has POE. Python was Twisted (and the fiorix framework). C has, of course, the ESL itself. <br>
 </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Thanks again for your help...I will ask smarter questions when I get going.<br></blockquote><div>My advice to you is to get out the pencil and paper and sketch this out if you haven&#39;t already done so. Last year at ClueCon Tony talked about the thinking process that he went through prior to coding a single line of FreeSWITCH. He went of to a little Zen place and thought things through. It&#39;s much easier to fix things that are broken before you start coding. The next step for you is to familiarize yourself with the various tools at your disposal. You have FreeSWITCH, ESL, a scripting language, a database, and probably some sort of UI to interface with that database. Frankly, FS is the least of your problems. Oh, and did I mention CDRs? :) You have to do something with the call results, no? And will people want to know what happened to all of those calls that were made? (Reporting.) Like Tony says, make your mistakes while you are thinking things through - they will be much easier to fix if you haven&#39;t started coding yet.<br>
<br>You&#39;ve taken on an ambitious project. We are not trying to discourage you from doing it - we just want to make sure that you know what you&#39;re getting into. <br><br>-MC<br>
</div></div><br>