It could be two diferent problems:
The tones generated by those callers may be not continuos DTMF tones, they may be just a short “beep” and that is not long enough for th gateway to decode the information.
The second posibility is a low level on the lines comong from the phone company. The level of the DTMF tones is too low, and the gateway could not decode them.
In both cases, you could try to change the gain of the audio on the gateway, to see if the tones are now decoded.
Change the PSTN to IP gain by a couple of DB a at the time and try again.
Do not over amplify, since that will give you echo and bad quality on the calls.
Post back if that worked or not.