Asterisk, though Open Source, is available with professional enterprise-level support and there are countless solution providers. I'm sure that would be the most cost-effective solution. As you would be able to modify the script whenever it suits you, you wouldn't depend on third parties to extend its features.
If you have a PHP developer, he would develop a PHP script for Asterisk that would handle phone inputs just like regular inputs on a web site. It took only about 3 days of development for me, and I wasn't doing that professionally at the time .
Depending on what PBX/phone service you use for your company, you could use the very same Asterisk server to handle all voice applications (phone lines, mailboxes, automated orders etc.).
There may be other solutions based on the same technology, but if you intend to use an inbound/outbound phone connection to collect information from a caller/callee, you will need a PBX that is able to interact with databases and/or execute custom scripts to deal process the information. And Asterisk (or its derivatives and commercial distributions) is probably the most mature software package available today to deal with that scenario.
Good luck!