I have a new project on hand on which is quite complex as i am not aware of its domain.
My requirement is this, We have list of telephone numbers and from this list i need to check which telephone number is active/real.
How would you program a telephony or IVR system to automatically dial phone numbers on this list and automatically detect if it is a valid phone number or not? I would like to use C# to program this solution.
Putting aside the legal issues with the "Do Not Call List", the only way to determine if a phone is valid or not is to listen for a Special Information Tones (SIT) that the carrier puts out when the phone is disabled. To automate this you use something called call progress detection or call progress analysis (CPA). You can do this with some IVR systems and the open standard called Call Control XML (CCXML). Voxeo has an IVR platform that has great CPA and you can try it out for free in their hosted environment. Check out their documentation on outbound calling and it will walk you through using CCXML to make outbound calls and detect the SIT tones. One caveat on SIT tones is that some people put anti-soliciting devices on their phones that basically puts out a SIT tone to fool automated systems.
Here is an article that describes how to use an open source project called VoiceModel to develop a proactive notification system in C# and ASP.NET MVC.