Здравствуйте, Stanislaw K, Вы писали:
SK>Большинство кодеков портят DTMF.
Как именно портят? Я работаю со звуком не один десяток лет, и не представляю, как можно испортить тоновые посылки с частотами до 2 кГц, не испортив при этом речь.
Ну, или алгоритм распознавания посылок должен быть предельно дубовый, вроде поиска чистых фрагментов волны на фоне полной тишины, вместо анализа спектра.
SK>на стороне слушающей даже костыль придумали опцию "relax dtmf" расширяющую критерии детекции тонов (частоту/длительность).
Подозреваю, что ее придумали как раз для крайне дубовых алгоритмов, чтоб не переделывать их.
ЕМ>>Попищал — не срабатывает.
SK>Но сомнения остались?
А куда им деваться?

Я ж пока не понял, в каком виде оно попадает (если вообще попадает) к тому роботу, что отвечает на том конце.
SK>До такой глубины анализа не доходил, ибо бессмысленно. портится оно на стороне мне не подконтрольной.
Стоило бы посмотреть, что именно приходит на Вашу сторону, хотя бы ради интереса. А на слух это как звучало?
ЕМ>>Попробовал его — ничто не меняется.
SK>При этом другие кодеки нужно запретить.
Зачем? Клиент отображает использование именно PCMA, на другие кодеки не переходит.
SK>А что в дебаг логах sip клиента?
Если DTMF настроен на "протокольный" режим — пишет, что отправляет соответствующие цифры. Если in-band — ничего не пишет.
В аудиозаписях звонков тонов DTMF нет даже в режиме in-band. То есть, код клиентов ленится их туда замешивать.
Сейчас попробовал в последнем MicroSIP под виндой — такая же хрень, в том числе с единственным кодеком G.711 a-law.
Какой-то весь этот клиентский софт явно кривой.
>wireshark поанализировать сессию. он автоматически разложит на sip диалог и медиатрафик (если не шифрован) можно послушать.
Руки дойдут — попробую.