skynetyar писал(а):Если у абонента настроен голосовой ящик то от оператора прилетает в from-internal "ANSWER"
Неправильно. Сообщения операторов GSM должны приходить в предответном состоянии, как Progress, называется early media.
И если не так - то надо требовать у провайдера правильного исполнения, ибо за это нельзя тарифицировать, а тарификация начинается с "ANSWER".
Изучите тему -
Chan_LEG - специализированный канал для ИП-АТС Астериск, который позволяет выполнить обработку звука разговора, независимо от процессов обработки самого разговора и связанным с разговором каналов:
специальное прослушивание и запись сторонними приложениями и устройствами;
анализ - сравнение с шаблонами;
дикторонезависимое распознавание речи (преобразование речи в текст);
и др.
Возможно выполнение обработки отдельно входящего, исходящего и обоих одновременно звуковых потоков.
Также Chan_LEG позволяет управлять исходными каналом через установку значений переменных канала и имеет возможность завершения исходного канала (разговора).
Приложение WaitForPattern предназначено для распознавания наличия в звуковом потоке определенных паттернов (шаблонов) звука. В одном вызове может распознавать до 256 паттернов, которые указываются в виде звуковых файлов любого формата, используемых в asterisk. Алгоритм распознавания основан на определении длительности участков голоса и тишины.
Типичными применениями Chan_LEG + WaitForPattern являются:
определение наличия автоответчиков - сообщения в предответном состоянии (Early media) при дозвоне мобильным абонентам;
динамическое изменение ограничения длительности в текущем разговоре;
Для распознавания ВСЕХ голосовых сообщений ВСЕХ мобильных операторов нами разработан специализированный канал для ИП-АТС Астериск - chan_LEG + распознавание этих самых голосовых сообщений. При исходящем вызове chan_LEG прослушивает приходящий аудиопоток и сравнивает с шаблонами голосовых сообщений. При совпадении - закрывает канал, проставляя соответствующий Release code, который поступит, например, в ваши отчеты.