Setting up call-center behavior

Hello! I am in the middle of setting up a call center for my small business. There are only three of us here so I’m trying to go with a simple setup. I managed to install Elastix into a virtual machine which contains Asterisk and FreePBX, I also setup a soft-phone and can successfully make calls through my Elastix server. Now that I have a working soft-phone, the final (and possibly hardest) issue I have to solve is setting up the right behavior.

I want to have 3 soft-phones in total each listening to a queue. The queue is constantly dialing 3-5 phone numbers simultaneously, and whenever someone picks up, that conversation is branched to one of the soft phones. When a phone number fails (i.e. no one picks up) it is removed from the queue. Also, if all 3 soft-phones are busy handling calls, the phone calls in the queue are dropped, and the queue is paused until one of the soft-phones is available again. The queue will work its way down a list of phone numbers. I should be able to add to this list on-the-fly. That is, during the course of 10 phone calls, I should be able to add say 5 new phone numbers to the queue without having to restart the program or rebuild anything. These constraints might be a little odd, but I have an odd business. How might I go about doing this? Or at least, where is a good place to start?

Do I need to further clarify my question?

You need to solve most of the problem and reduce the question to just one detail. Alternatively, you should use the Biz and Jobs forum, where you can find consultants you can pay to design a system for you.

instead of elastix you can try vicidial or goautodial , which best suits your requirement.

or even the elastix also have callcenter module which does the same…