Goertzel for reliable DTMF Decoding

BTW - where in your code you do sampling of the signal at the required sampling frequency?