Когда вы воспроизводите сообщение, это в большинстве случаев ВЛИЯЕТ на распознавание dtmf. Единственный случай, когда это не повлияет, - это когда пользователь звонит с цифрового телефона по цифровому протоколу (sip / iax2). Если пользователь вызывает PSTN-линию, то звук в обоих направлениях идет по одному и тому же проводу, в результате воспроизведение может быть громче, чем dtmf, или иметь аналогичную частоту, что повлияет на распознавание.
Но если вы все же хотите это сделать, у вас есть 2 варианта
1) Пользователь знает о функции и нажимает ее медленно. Если это так, вы можете использовать команду чтения с ограничением цифр, установленным на 1, после этой другой команды чтения с файлом, в котором указана предыдущая цифра и т. Д. Ограничение: должно быть не менее 100 мс между цифрами в загруженном блоке, может быть меньше, если нет нагрузки.
2) Пользователь не осведомлен. Вам нужно знать c / c ++, прочитать источник звездочки (app_read.c будет достаточно) и написать другое приложение, которое будет ждать цифры и воспроизводить цифры одновременно. Швы вроде не сложные, но см. Примечание о распознавании.