Our project is similiar to all those automated outbound dialers, except we need some customizations due to we are only looking to send missed calls (outbound calls to be disconnected after 1-9 second of rings) - we do not mind if you work with any existing platform or configure any other available software likes IVM, Asterisk etc to the task as long it can fullfil the following requirements:
1. We are looking forward to send massive amount of missed calls using hundreds and thousand of ports/concurrent, therefore- your solution must be server friendly, we prefers it to be linux/web oriented but won't mind if its windows based application as long it can work with 1000 sum ports with 128GB windows server (if more then better).
2. Multiple "Caller ID" to be defined when adding VOIP/SIP/IAX lines, if no caller-id is is set, then when a call is sent thru this line, the system should get a random caller id from a list and use it, in the list we will provide multiple callers id which to be round-robinly used for outgoing calls, if caller-id is defined for the sip-account then will only send calls using that caller-id instead.
3. Re-Dial Busy/Unavailable numbers, only calls which has ranged defined amount of times will be marked as "Completed/Done" others will be re-tried x amount of times (we will define the amount when creating the campaing) after x hours passed (like if 7 amount of retry after 24 hour passed provided then it will call and see if rings every 1 day for 7 days)
4. We would be able to define "What to do, when a called is Picked" means, if a call is connected, we would be able to define if the system is to disconnect the call immidiately or play an audio instead, if immidiately to be disconnected then calls will be dropped as soon picked before the ring period is over, otherwise will play an audio file and disconnect the call after.
5. Process "Incoming Calls" when an incoming calls arrived (if enabled in the SIP/IAX connection when configuraing it) it will be processed in four methods: (One) Receive the call & play an audio file then disconnect it (Two) Send a busy-tone [cut the call] then do visit an website URL to send a SMS to the caller-id using HTTP API calls, like [url removed, login to view][caller-id]&msg=hello! (Three) Combine both option one and two, means receive the call and play the audio and then disconnect the call and send the sms by visiting the URL (Four) Simply disconnect the call [send-back busy-tone] and store the number in a text file so we can do whatever we wish to later by extracting the data from the text file.
6. Optional - if possible, we would love to have Skype intergrations like softwares as ([url removed, login to view]) does, we would only accept this functions if multiple Skype Accounts can be used to send calls, otherwise this option is not needed.
7. Generate Reports - provide a complete reports of how many numbers has been successfully ringed, how many numbers to be re-tried, how many calls has been picked-up and how many seconds/minutes was the duration of picked-up calls, etc etc. We would also like to extract the numbers that was successfully ranged and numbers that is on re-try list and also numbers which we coudn't connect even after re-tries.
8. Send calls to random numbers - we will define the prefix like +880171 then provide how many numbers to insert after the prefix like Bangladeshi phones has 12 numbers so as we are providing +880171 additional 6 number is either to be generated in sequencing mode or random mode (as defined) then start calling, if sequencing then the first number will be +880171000000 and last no is +880171999999 while if random then numbers like +8801713450147 and +8801717888946 will be generated randomly and called but in that case, the system shoudn't dial the same number twice, means even if generated then it will only use one number once.
9. That's all we want for now, thanks!