<div>Hi Nir,</div>
<div> </div>
<div>thanks for your comments.</div>
<div> </div>
<div>My outbound campaigns are strutured as a set of CONTEXTS - including IVR options.</div>
<div> </div>
<div>Each action in the campaign is transformed into a CONTEXT. My end-users program each campaingn as follow</div>
<div> </div>
<div>ACTION: 010_START                            NEXT_ACTION: 020_PLAY_WELCOME</div>
<div>ACTION: 020_PLAY_WELCOME           NEXT_ACTION: 030_IVR</div>
<div>ACTION: 030_IVR                                 NEXT_ACTION: NONE                                1_ACTION: ...., #_ACTION: ....</div>
<div> </div>
<div>Every action I transform into a CONTEXT that executes some asterisk app and finally branchs to the next one - some what like this:</div>
<div> </div>
<div>[010_START]</div>
<div> </div>
<div>exten =&gt; s,1,agi(callprogress, &#39;success&#39;)</div>
<div>exten =&gt; s,n,goto(020_PLAYWELCOME, s,1)</div>
<div>exten =&gt; s,n,hangup()</div>
<div> </div>
<div>exten =&gt; failed,1,agi(callprogress,&#39;failed&#39;)</div>
<div>exten =&gt; failed,n,hangup()</div>
<div> </div>
<div>[020_PLAYWELCOME]</div>
<div> </div>
<div>exten =&gt; s,1,agi(callprogress, &#39;playback&#39;, filename)</div>
<div>exten =&gt; s,n,playbakc(filename)</div>
<div>exten =&gt; s,n,goto(030_IVR,s,1)</div>
<div> </div>
<div>[030_IVR]</div>
<div> </div>
<div>exten =&gt; s,1,agi(callprogress,&#39;ivr&#39;)</div>
<div>exten =&gt; s,n,waitexten()</div>
<div> </div>
<div>exten =&gt; 1,1,goto(.......)</div>
<div> </div>
<div>When I originate the call using a ZAP channel and I direct it to extension 010_START, s, 1 - if originate fails it leads automatically to 010_START, failed, 1</div>
<div> </div>
<div>This way I was able to produce manually elaborated campaigns using just extension.conf and a python script that generated callfiles.</div>
<div> </div>
<div>Now I am going a step further making all that things automatically</div>
<div> </div>
<div>Thanks,</div>
<div> </div>
<div>Valter</div>
<div><br> </div>
<div class="gmail_quote">2009/5/31 Nir Simionovich <span dir="ltr">&lt;<a href="mailto:nir.simionovich@gmail.com">nir.simionovich@gmail.com</a>&gt;</span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Hi Valter,<br><br>  Welcome to the DEV list, please find my comments below:<br>
<div class="im"><br>Valter Nogueira wrote:<br>&gt; Hi people,<br>&gt;<br>&gt; I am a wanna be asterisk-dev, but the learning curve is somewhat hard.<br>&gt;<br><br></div>  As a newbie developer myself, I agree that the learning curve is<br>
steep and hard. The best way to learn is to read various code snippets<br>and try to extrapolate what they do. That&#39;s what I did when I started<br>working on adding Hebrew to app_voicemail.c and say.c<br>
<div class="im"><br>&gt; Do you have any clues such &quot;IDE&quot;, debugging tools and what ever could help?<br>&gt;<br><br></div>  Well, I&#39;m using a mixture of Eclipse with the CDT plugins and VIM.<br>Debugging is always done with GDB - other than that, just follow the<br>
Digium coding guidelines.<br>
<div class="im"><br>&gt; Should I start on 1.4 or 1.6 version - I am using 1.4 as user so I think<br>&gt; it is most apropriate stick with it as dev.<br>&gt;<br><br></div>  Actually, the best choice will be SVN. If you write a new feature, it<br>
will only be evaluated on the SVN. If you fix a bug for 1.6 or 1.4, that<br> can be done directly on the version, however, still needs to be ported<br>to the SVN version. Just like you, I started working on the 1.4 version,<br>
quickly to realize that I need to do my work twice each time - so I<br>migrated to SVN version.<br>
<div class="im"><br>&gt; I am developing an Asterisk based dialer. My first version write down an<br>&gt; extension.conf - so I reload it every time config changes.<br>&gt;<br>&gt; So, I thought: What if I create extensions on the fly: &quot;DIALPLAN ADD<br>
&gt; EXTENSION 1111,1,COMMAND INTO MYCONTEXT&quot;<br>&gt;<br>&gt; It sounded great, but just worked if MYCONTEXT is already present (what<br>&gt; is not always the case).<br>&gt;<br>&gt; I thought again (what is not usual): Source code can answer it to me.<br>
&gt;<br>&gt; Now the hard part where in the damn giant source code DIAL PLAN ADD<br>&gt; EXTENSION is handled.<br>&gt;<br>&gt; Few greps after I found it -&gt; pbx_config.c - where I found 2 function -<br>&gt; one marked as deprecated<br>
&gt;<br>&gt; How should I debug asterisk to get here and understand what is happening?<br>&gt;<br>&gt; Should asterisk create a new dialplan context when adding an extension?<br>&gt;<br>&gt; Is there some other way to dynamically add or remove CONTEXTS?<br>
&gt;<br>&gt; Do you have any tips for me.<br>&gt;<br><br></div>  As far as I know, these functions are now available via the Asterisk<br>manager. In any case, I&#39;m not sure you are going in the right direction,<br>as I can&#39;t see a relation between a dialer and auto-generating<br>
extensions.conf. My only logic here would be that you are originating a<br>call out of Asterisk, then, creating a special dialplan for that call,<br>re-directing the generated the call to the newly created dialpan. In any<br>
case, it would suggest that you&#39;re over complicating things (at least in<br>my book - literally).<br><br>  Have a safe journey in learning the inner workings of Asterisk&#39;s<br>source code. If you drink coffee (or alcohol for that matter), this<br>
would be a good point to pour yourself a pint of your finest beer, gulp<br>it down and use the code.<br><br>&gt; Thank you all,<br>&gt;<br>&gt; Valter<br>&gt;<br>&gt;<br>&gt; ------------------------------------------------------------------------<br>
&gt;<br>&gt; _______________________________________________<br>&gt; --Bandwidth and Colocation Provided by <a href="http://www.api-digital.com--/" target="_blank">http://www.api-digital.com--</a><br>&gt;<br>&gt; asterisk-dev mailing list<br>
&gt; To UNSUBSCRIBE or update options visit:<br>&gt;    <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br><br><br>--<br>Kind Regards,<br>
  Nir Simionovich<br>  Asterisk Community Founder and Maintainer - Israel<br><br>  (e) <a href="mailto:nir.simionovich@gmail.com">nir.simionovich@gmail.com</a><br>  (w) <a href="http://www.simionovich.com/" target="_blank">http://www.simionovich.com</a><br>
<br><br>_______________________________________________<br>--Bandwidth and Colocation Provided by <a href="http://www.api-digital.com--/" target="_blank">http://www.api-digital.com--</a><br><br>asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>  <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br></blockquote></div><br>