When testing,just call from the IP phone to a phone next to you to see if you get DTMF when you hit the keys. If not do as triton101 said to do and then try again. Don't add other things into the mix when trying to figure out what it wrong, have as few peices in the puzzle as possible. if you can't get it to work between 2 phones right next to each other, your going to be doing a lot of changing things.
Keep it simple
This is a Signature and not part of the answer, it appears on every reply.
This is an Analogy so don't take it personally as some have.
Why change the engine if all you need is to change the spark plugs.