DTMF tones only really work with G.711 (mu-law and A-law) codecs. If these are not being used, SIP has alternative means of transmitting the DTMF. Your trunk may be completely broken with regard to DTMF or you may have the wrong setting at your end.
For SIP, make it the only allowed codec. For DAHDI, I think you have to set it in system.conf (but if you have it wrong, audio will be totally garbled).