I'd be surprised if the GSM air interface didn't allow A, B, C, and D digits.
For the Sangoma card, please contact Sangoma.
However, used correctly, GSM sends digits in the signalling channel, and the actual tones are generated in the base station,because the GSM codec is not designed for artificial tone pairs. As a result, the first question would be whether these tones are being sent, correctly, in the above way, or whether they are, somehow, being sent in band, in which case reliable detection is unlikely.
Next. I assume that the PRI is using A- or Mu-Law and that you are not trying to force it to transcode to anything else, as those are the only codecs really suited to in band DTMF.
Other things to check are whether the uplink is silent or, at least, a DTMF friendly tone,as near end cross talk could produce false detections.
If none of that helps, you will need to capture the raw media stream. I'd suggest using the Record application in .slin format. Once you have the raw stream, you can use various tools to get a spectrum from it, to see if you are actually receiving a clean DTMF tone pair.