IP-телефония на базе Asterisk
Введите свой номер телефона
и мы перезвоним вам
Решаем Ваши бизнес-задачи с помощью IT-технологий. Знаем, как сделать лучше, быстрее и дешевле. Наш опыт – на службе Вашего бизнеса.
Не все герои носят плащи. Сотни техических статей, написанных инженерами нашей компании. Делимся опытом и своими знаниями со всем сообществом.
Сотни функций и возможностей Asterisk помогут вывести коммуникации в Вашей компании на принципиально новый уровень. Технические ограничения – фантазия Заказчика.
Вы платите за систему, которая будет полностью соответствовать Вашим ожиданиям, требованиям и будет драйвером роста Вашего бизнеса
Идти в ногу со временем или оставаться на старых технологиях? Такой вопрос не стоит перед нашими клиентами. Решаем самые смелые задачи для Колл-Центров. Строим с нуля или работаем с существующими.
Поместите свой бизнес в эпицентр продаж. Интеграция IP-телефонии и CRM даст новый и мощный импульс Вашему Отделу Продаж и выведет компанию на три шага впереди конкурентов.
Подбираем для клиентов такие тарифы, которые ему редко получится найти на рынке самостоятельно. Работаем с 100+ операторов связи в интересах клиента.
Разработки, созданные нашей командой под запросы клиентов. Не отказывайтесь от инноваций. Мы поможем идти с ногу со временем.
Умные всю жизнь учатся, а остальные всегда все и так знают. Мы проводим обучение более 8 лет и выпустили более 1000 специалистов по Asterisk и Mikrotik. Проводим ежегодную конференцию Asterisk.
Купить наш опыт дешевле, чем набивать свои шишки. Мы реализовали более 800 проектов и накопили экспертизу для того, чтобы идеально выполнить Ваш проект.
Правильный выбор оборудования позволяет сэкономить от 20 до 50% бюджета телефонии. Мы предельно внимательно подойдем к выбору «железа» в Ваш проект.
Наши цены доступны не только для Москвы, но и для регионов. А вложения в нашу экспертизу обычно окупаются за несколько месяцев.
Работаем с 2011 года. Собрали отличную команду реальных фанатов своего дела. Подходим к работе с душой и ответственностью.
AudioSocket, как один из подходов к реализации стриминга аудиоданных в системах на базе Asterisk. С ростом интереса к автоматизации, распознаванию речи, аналитике звонков и интеграции с различными голосовыми ботами, подобные решения становятся всё более актуальными.
AudioSocket — не единственный возможный способ решения этих задач. Ранее подобные сценарии успешно реализовывались с использованием AGI, однако возможности AudioSocket позволяют по-новому взглянуть на взаимодействие Asterisk с внешними приложениями, особенно в контексте ARI.
AudioSocket представляет собой двунаправленный TCP-стрим, через который аудиоданные могут как передаваться во внешнее приложение, так и приниматься обратно. При использовании, например, RTP Engine, такой двусторонней передачи добиться сложно: возможно только однонаправленное ретранслирование потока. Это ключевое преимущество AudioSocket при построении сложных сценариев с участием внешней обработки.
Минимальная полезная нагрузка TCP-стрима составляет 3 байта:
Изначально аудиоформат — PCM 16-bit, 16 кГц. Пример передачи можно наблюдать в WireShark, при этом удобнее использовать отображение в формате CRA, где все поля более наглядны.
Интересной и слабо документированной особенностью является размер чанка аудиоданных. В открытых репозиториях (например, в проектах команды CyCore Systems) указано значение в 320 байт, что соответствует:
Формула: 8000 * 0.02 * 2 = 320 байт
На практике встречались попытки подбора размера чанка опытным путём, например, 1012 байт, что приводило к нестабильной работе. Важно придерживаться согласованного размера, соответствующего аудиокодеку и времени фрейма.
AudioSocket реализуется с помощью следующих приложений:
Недокументированной, но доступной является опция c= — кодек, в котором будут передаваться аудиоданные. Это позволяет, например, использовать 16 кГц, как рекомендовано для улучшения распознавания в системах типа Vosk.
Важно: прочие параметры, используемые в Dial(), такие как тайм-аут или g, здесь не работают. Поддержка дополнительных опций потребует патчей.
В рамках encapsulation доступны два режима:
Последний реализован как chan-unicast-rtp, но в большинстве случаев предпочтение отдаётся TCP-варианту из-за более простой реализации и отладки. Тем не менее, RTP может обеспечить более низкое время отклика (latency), что критично для realtime-приложений и голосовых роботов.
Asterisk способен самостоятельно перекодировать данные в нужный формат.
Первая версия модуля AudioSocket появилась в 2018 году благодаря CyCore Systems. В основную ветку Asterisk он был принят только к 2020 году. С тех пор значительных изменений в нём не происходило. Тем не менее, были выявлены серьёзные проблемы:
При наличии нескольких таких зависших сокетов система быстро исчерпывала ресурсы. Проблемы были решены с помощью патчей:
После применения патча:
По оценкам, при умеренной нагрузке (~20 одновременных соединений) AudioSocket не создаёт значимой нагрузки на систему. На практике большая часть ресурсов потребляется внешним приложением, обрабатывающим поток (например, системой распознавания речи).
AudioSocket — мощный инструмент для интеграции Asterisk с внешними сервисами, особенно в контексте транскрибации и голосовой аналитики. При должной настройке и патчинге он обеспечивает стабильную, управляемую двустороннюю передачу аудио и может стать надёжной основой для построения голосовых интерфейсов.
Билеты уже в продаже!
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.