
Daryl G. Jurbala wrote:
On Aug 1, 2009, at 7:12 PM, Alex Balashov wrote:
I don't mean to sound derogatory, but what is this enormous fixation that people have with building AGI scripts in PHP-AGI?
Familiarity with web programming. Again, this is an inherited setup, not how I would design it from a clean slate.
Understood. I didn't mean it personally; I was sort of rhetorically inquiring as to the avenue of thinking taken by the folks preceding you who designed the setup that way, not indicting your willingness to maintain it in that state.
The rest of your post just makes you seem like you have a chip on your shoulder, and that there are only certain ways to do thing, and those are what you deem appropriate.
On a qualitative level, it certainly irritates me, but no, it's not really a chip on my shoulder as much as a very starkly significant trend I've identified in the course of my work. I'd say about 90% of my business comes from helping ITSPs who started off on naive, mostly (but not necessarily) Asterisk-based approaches scale upward once they hit the point where that approach - easy and low-barrier as it may be - has severely diminishing returns. Everyone who does that sort of thing - especially on a programmatic level - identifies certain "anti-patterns" that they then register as a common engineering pitfall and discourage others from doing. The anti-pattern I see here is that using PHP solves the wrong problem by answering the wrong question the wrong way. There are many other such patterns I constantly run into; I think the most common one is using the database as an IPC (interprocess communication) mechanism for high volumes of delay-sensitive, real-time data--the kind of stuff that should be passed around in shared memory, pipes, domain sockets, network sockets, semaphores, etc. ViciDIAL takes that to an absurd, ghastly extreme. Once again, I wasn't attacking you, and I apologise if that is the perception. I was just wondering aloud why people do this kind of stuff.
In the end, the technology isn't for its own sake. Its to make money. I'm in the back (for over 2 years), and growing over 10% per month, even through the downturn. How about you?
I'm not an ITSP, so I can't answer that on an apples-to-apples basis. What I can say is that until a certain point, there is a high correlation between good engineering and making more money, for reasons that are fairly self-evident; it eliminates various additional external costs down the road, it reduces brand destruction through declining performance (and the ensuing scramble to bandage it), and better design allows you to better and more efficiently develop scalable, reusable business processes that can be replicated at decreasing marginal cost better and faster. So, it's not a purely aesthetic issue; there is an objective weight to one methodology over another, and it has everything to do with making money. On a practical level, the way I see this playing out is that I'm the bomb technician that has to go in and defuse an ITSP that has grown to have lots of call setups per second (whether from dialer traffic or what have you) and finds that their large farm of Asterisk boxes - and all call flows intermediated by extensive PHP-AGI calls - is falling over once or more daily, and that this just isn't tenable from a business perspective because the whole architecture is flawed from the very beginning. That has a huge price tag. -- Alex -- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 Mobile : (+1) (678) 237-1775