I'm working on a huge VoIP project (including sofphone and call center development) and I learned something cool today that I think would be useful for you, and whatever communication system you use that can improve your telephone system.
I found an awesome tutorial @ CodePoject that explains step-by-step how to develop a basic IVR voice menu system by using DTMF signalling. It's been written in C#. I think it's worth to take a look at it: http://www.codeproject.com/Articles/746512/How-to-build-a-basic-IVR-Interactive-Voice-Respons It's based on Ozeki VoIP SDK.
All the best