Quando você reproduzir uma mensagem, isso afetará o reconhecimento do dtmf na maioria dos casos. Apenas o caso em que não afetará é o caso quando a chamada do usuário do telefone digital via protocolo digital (gole / iax2). Se o usuário chamar a linha PSTN, o som em ambas as direções passa pelo mesmo fio, já que a reprodução do resultado pode ser mais alta que a do dtmf ou ter freqüência semelhante, o que afetará o reconhecimento.
Mas se ainda quiser fazer isso, você tem duas opções
1) O usuário está ciente do recurso e o pressiona lentamente. Em caso afirmativo, você pode usar o comando Read com dígitos limite definido como 1, após o comando enother read com arquivo que diz o dígito anterior etc. Limitação: ter pelo menos 100ms entre dígitos na caixa carregada, pode ser menor se não houver carga.
2) Usuário não ciente. Você precisa saber c / c ++, ler fonte de asterisco (app_read.c have enought) e escrever outro aplicativo que irá aguardar dígitos e reproduzir dígitos ao mesmo tempo. Costuras como não complexas, mas veja nota sobre reconhecimento.