[asterisk-users] Building a Complex IVR

Steve Edwards asterisk.org at sedwards.com
Mon Jun 23 16:04:06 CDT 2008


>> I would build it this way:
>>
>> 1) Design the dialplan logically so it is understandable and maintainable.
>>
>> 2) Code up the AGIs in whatever language you are comfortable. I would use
>> C, but that's what I'm most comfortable with.
>>
>> 3) Confirm everything works like you think it should.
>>
>> 4) Measure to identify where the real bottlenecks are.
>>
>> 5) Attack the top 1 or 2 bottlenecks. The solution may be:
>>
>> a) Recode an AGI in C.
>>
>> b) Re-implement an AGI as fastagi() on the same server.
>>
>> c) Re-implement an AGI as fastagi() on another server.
>>
>> 6) Go to step 3

On Mon, 23 Jun 2008, Douglas Garstang wrote:

> Can FastAGI call FastAGI?

I guess it would be possible using the EXEC agi command to call fastagi(), 
but I don't see any advantage.

> The application needs to contact another FastAGI server written in Java 
> to lookup various billing information.

I'm not a big fan of Java. I've never used it, I only know it by 
reputation :) If the application is just "select and return the values" 
the choice of language could be irrelevant. If the application fiddles 
with the values or scans through rows or implements a bunch of logic, I'd 
vote for C.

C seems obvious to me for daemons like a FastAGI server.

I would focus on clarity and maintainability and then throw more efficient 
languages or more hardware at the observed performance problem.

Thanks in advance,
------------------------------------------------------------------------
Steve Edwards      sedwards at sedwards.com      Voice: +1-760-468-3867 PST
Newline                                             Fax: +1-760-731-3000



More information about the asterisk-users mailing list