Comments inline...

On Wed, Aug 18, 2010 at 3:02 AM, Chaitanya Bhatt // Viva <chaitanya@vivainfomedia.com> wrote:
Hey

I am facing problem in making few outbound calls simultaneously. I am executing "api originate" command from perl over ESL. After calling originate ,same perl file listens for CHANNEL_ORIGINATE CHANNEL_ANSWER CHANNEL_HANGUP_COMPLETE events. When perl file receives CHANNEL_HANGUP_COMPLETE event, it get terminates.

I have done this code of originate & hangup listen event in perl cgi. When i do 10-20 request (10-20 simultaneous call), at freeswitch only 2-3 calls get serviced.
To find out issue when i commented the code of event listen in cgi, i was able to make all 10-20 calls simulateneously.
I wonder if your script isn't able to handle all the events quickly enough?
 

I have already checked apache configuration & is working well.
Now i want to know whether freeswitch has limitation on number of clients listening to its events or there is some other issue of ESL.
Using Perl, ESL, and POE I've done upwards of 50-60 simultaneous calls with originate. I used bgapi originate xxxx. It's not the most efficient way but it did work. However, the best way to handle something like this is to have several processes each with a specific purpose: one to send the bgapi originate commands and one to listen for the CHANNEL_XXX events and act accordingly. By having each process do just one thing you can scale better and it's easier to identify trouble spots.

-MC