На самом деле, публикуя заметку, опасался получить комментарий вроде: «уже давно существуют инструменты, позволяющие распознать внутреннюю структуру произвольного файла, зачем было изобретать велосипед?»
Мне о таких инструментах ничего не известно, но кто знает, что там уже успели изобрести? ;)
Вопрос только зачем было это делать в контексте возникшей проблемы?
Проверялись все участки прохождения вызова, в том числе и поток. Натолкнувшись в процессе на дамп PCM, самостоятельный анализ которого заявлялся категорически невозможным, я просто не смог пройти мимо. Первоначальную проблему можно было решить и без этого, согласен, но тогда одним нераскрытым секретом было бы больше. ;) Видимо, мне следовало иначе скомпоновать текст, оторвать предмет описания от контекста, в котором я начал разбирать формат дампа. Тогда бы у Вас не возник вопрос, который таки возник.
Здравствуйте! Хочу поблагодарить за высказанное мнение. Перечисленные вами инструменты мне известны и в ходе работ по данному инциденту применялись. Wireshark действительно может извлечь звук из дампа, вот только тон мы там не услышим. По крайней мере лично я до сих пор так и не научился отличать RTP-NTE и SIP INFO на слух.
появление DTMF-тонов можно было бы отследить через debug voice rtp session named-event и debug voice ccapi inout
Да, появление тонов так можно отследить. Но в отрыве от контекста разговора мы не сможем сказать, правомерно ли появился данный тон (например, целенаправленный донабор добавочного номера или случайное нажатие клавиши удаленным абонентом) или же нет. Возможно, в заметке я уделил недостаточно внимания использованию данных инструментов, но я и не стремился сфокусироваться на них. О них и так в доступе масса информации, чего не скажешь об экстракции звука из дампов PCM.
Если на dial-peer статически задать dtmf-relay rtp-nte без дополнительных вариантов, то не так уж и всегда.
Здесь я лишь озвучил точку зрения производителя:
The sip-info method is available only on SIP dial peers. This is an out-of-band DTMF relay mechanism that registers the DTMF signals using SIP-Subscribe messages and transports the DTMF signals using SIP-Info messages. The body of the SIP message consists of signaling information and uses the content-type application/dtmf-relay. The method is always enabled for SIP dial peers, and is invoked when a SIP INFO message is received with DTMF relay content.
Мне о таких инструментах ничего не известно, но кто знает, что там уже успели изобрести? ;)
Проверялись все участки прохождения вызова, в том числе и поток. Натолкнувшись в процессе на дамп PCM, самостоятельный анализ которого заявлялся категорически невозможным, я просто не смог пройти мимо. Первоначальную проблему можно было решить и без этого, согласен, но тогда одним нераскрытым секретом было бы больше. ;) Видимо, мне следовало иначе скомпоновать текст, оторвать предмет описания от контекста, в котором я начал разбирать формат дампа. Тогда бы у Вас не возник вопрос, который таки возник.
появление DTMF-тонов можно было бы отследить через debug voice rtp session named-event и debug voice ccapi inout
Да, появление тонов так можно отследить. Но в отрыве от контекста разговора мы не сможем сказать, правомерно ли появился данный тон (например, целенаправленный донабор добавочного номера или случайное нажатие клавиши удаленным абонентом) или же нет. Возможно, в заметке я уделил недостаточно внимания использованию данных инструментов, но я и не стремился сфокусироваться на них. О них и так в доступе масса информации, чего не скажешь об экстракции звука из дампов PCM.
Если на dial-peer статически задать dtmf-relay rtp-nte без дополнительных вариантов, то не так уж и всегда.
Здесь я лишь озвучил точку зрения производителя:
The sip-info method is available only on SIP dial peers. This is an out-of-band DTMF relay mechanism that registers the DTMF signals using SIP-Subscribe messages and transports the DTMF signals using SIP-Info messages. The body of the SIP message consists of signaling information and uses the content-type application/dtmf-relay. The method is always enabled for SIP dial peers, and is invoked when a SIP INFO message is received with DTMF relay content.