<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 => s,1,agi(callprogress, 'success')</div>
<div>exten => s,n,goto(020_PLAYWELCOME, s,1)</div>
<div>exten => s,n,hangup()</div>
<div> </div>
<div>exten => failed,1,agi(callprogress,'failed')</div>
<div>exten => failed,n,hangup()</div>
<div> </div>
<div>[020_PLAYWELCOME]</div>
<div> </div>
<div>exten => s,1,agi(callprogress, 'playback', filename)</div>
<div>exten => s,n,playbakc(filename)</div>
<div>exten => s,n,goto(030_IVR,s,1)</div>
<div> </div>
<div>[030_IVR]</div>
<div> </div>
<div>exten => s,1,agi(callprogress,'ivr')</div>
<div>exten => s,n,waitexten()</div>
<div> </div>
<div>exten => 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"><<a href="mailto:nir.simionovich@gmail.com">nir.simionovich@gmail.com</a>></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>> Hi people,<br>><br>> I am a wanna be asterisk-dev, but the learning curve is somewhat hard.<br>><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's what I did when I started<br>working on adding Hebrew to app_voicemail.c and say.c<br>
<div class="im"><br>> Do you have any clues such "IDE", debugging tools and what ever could help?<br>><br><br></div> Well, I'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>> Should I start on 1.4 or 1.6 version - I am using 1.4 as user so I think<br>> it is most apropriate stick with it as dev.<br>><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>> I am developing an Asterisk based dialer. My first version write down an<br>> extension.conf - so I reload it every time config changes.<br>><br>> So, I thought: What if I create extensions on the fly: "DIALPLAN ADD<br>
> EXTENSION 1111,1,COMMAND INTO MYCONTEXT"<br>><br>> It sounded great, but just worked if MYCONTEXT is already present (what<br>> is not always the case).<br>><br>> I thought again (what is not usual): Source code can answer it to me.<br>
><br>> Now the hard part where in the damn giant source code DIAL PLAN ADD<br>> EXTENSION is handled.<br>><br>> Few greps after I found it -> pbx_config.c - where I found 2 function -<br>> one marked as deprecated<br>
><br>> How should I debug asterisk to get here and understand what is happening?<br>><br>> Should asterisk create a new dialplan context when adding an extension?<br>><br>> Is there some other way to dynamically add or remove CONTEXTS?<br>
><br>> Do you have any tips for me.<br>><br><br></div> As far as I know, these functions are now available via the Asterisk<br>manager. In any case, I'm not sure you are going in the right direction,<br>as I can'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're over complicating things (at least in<br>my book - literally).<br><br> Have a safe journey in learning the inner workings of Asterisk'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>> Thank you all,<br>><br>> Valter<br>><br>><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><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>