IP-телефония на базе Asterisk
Введите свой номер телефона
и мы перезвоним вам
Решаем Ваши бизнес-задачи с помощью IT-технологий. Знаем, как сделать лучше, быстрее и дешевле. Наш опыт – на службе Вашего бизнеса.
База знаний Не все герои носят плащи. Сотни техических статей, написанных инженерами нашей компании. Делимся опытом и своими знаниями со всем сообществом.
Сотни функций и возможностей Asterisk помогут вывести коммуникации в Вашей компании на принципиально новый уровень. Технические ограничения – фантазия Заказчика.
IP-АТС Вы платите за систему, которая будет полностью соответствовать Вашим ожиданиям, требованиям и будет драйвером роста Вашего бизнеса
Идти в ногу со временем или оставаться на старых технологиях? Такой вопрос не стоит перед нашими клиентами. Решаем самые смелые задачи для Колл-Центров. Строим с нуля или работаем с существующими.
Поместите свой бизнес в эпицентр продаж. Интеграция IP-телефонии и CRM даст новый и мощный импульс Вашему Отделу Продаж и выведет компанию на три шага впереди конкурентов.
Подбираем для клиентов такие тарифы, которые ему редко получится найти на рынке самостоятельно. Работаем с 100+ операторов связи в интересах клиента.
Разработки, созданные нашей командой под запросы клиентов. Не отказывайтесь от инноваций. Мы поможем идти с ногу со временем.
Умные всю жизнь учатся, а остальные всегда все и так знают. Мы проводим обучение более 8 лет и выпустили более 1000 специалистов по Asterisk и Mikrotik. Проводим ежегодную конференцию Asterisk.
Купить наш опыт дешевле, чем набивать свои шишки. Мы реализовали более 800 проектов и накопили экспертизу для того, чтобы идеально выполнить Ваш проект.
Оборудование Правильный выбор оборудования позволяет сэкономить от 20 до 50% бюджета телефонии. Мы предельно внимательно подойдем к выбору «железа» в Ваш проект.
Наши цены доступны не только для Москвы, но и для регионов. А вложения в нашу экспертизу обычно окупаются за несколько месяцев.
О нас Работаем с 2011 года. Собрали отличную команду реальных фанатов своего дела. Подходим к работе с душой и ответственностью.
Проблема распределения вызовов в Asterisk — это тема, которая рано или поздно всплывает в любом крупном проекте. После того как из системы окончательно убрали старый драйвер chan_sip, многие надеялись на упрощение архитектуры, но на деле столкнулись с «наследием» в виде модуля app_queue. Сегодня этот компонент превратился в один из самых тяжелых и неповоротливых монолитов в коде Asterisk. Он тянет за собой пласты логики десятилетней давности, которые в современных реалиях работают, мягко говоря, не всегда предсказуемо. Когда нагрузка растет, а требования к гибкости маршрутизации становятся жестче, стандартные инструменты начинают выдавать ошибки, которые практически невозможно вылечить простыми правками конфигов.
В этой ситуации инженерам часто приходится изобретать «велосипеды», чтобы просто заставить систему выполнять базовые задачи. Например, добиться честного распределения звонков между операторами, которые работают сразу в нескольких очередях. Стандартные механизмы весов и приоритетов в какой-то момент просто перестают работать по логике, и звонки начинают улетать по списку из файлов конфигурации. Чтобы не превращать поддержку телефонии в бесконечную борьбу с багами, стоит разобраться, где именно зарыты проблемы app_queue и почему будущее за внешним управлением через ARI.
Модуль app_queue — это огромный кусок кода, который пытается делать сразу всё: следить за статусами агентов, распределять звонки, записывать логи и управлять очередностью. Проблема в том, что внутри него всё переплетено. Если в одной части модуля происходит затык, это часто парализует работу всей системы распределения.
Вот основные моменты, которые чаще всего вызывают сложности:
Часто в таких случаях помогает глубокий аудит IP-ATC, который подсвечивает узкие места в производительности, но даже идеальная настройка не всегда спасает от архитектурных ограничений самого модуля.
Когда мы говорим о стратегиях распределения вроде leastrecent (звонок тому, кто дольше отдыхал) или fewestcalls, мы ожидаем математической точности. Но в реальности app_queue может «забыть» о реальном статусе оператора. Например, оператор только что закончил разговор, его статус еще не успел обновиться в памяти модуля, и система уже кидает ему новый вызов. Или наоборот — оператор свободен, но из-за внутренней задержки он считается занятым.
Для компаний, где критична каждая секунда ожидания клиента, такие промахи превращаются в убытки. Особенно это заметно, когда выполняется установка Asterisk для больших контакт-центров. Там стандартные стратегии начинают «плыть» уже на 50–70 одновременных вызовах. Операторы жалуются на неравномерную нагрузку: кто-то принимает 100 звонков в смену, а кто-то — всего 30, хотя настройки у всех одинаковые.
Отдельная история — это сбор статистики. Стандартный механизм queue_log
пишет данные в текстовый файл. Когда звонков много, этот файл растет с огромной скоростью. Пытаться анализировать его в реальном времени — задача не из легких.
В итоге, чтобы построить нормальные отчеты в той же Grafana, инженерам приходится городить промежуточные базы данных, которые «на лету» выкусывают данные из Asterisk и перекладывают их в ClickHouse или PostgreSQL. Это лишнее звено, которое тоже может сломаться.
Если стандартный модуль не справляется, логичным решением выглядит вынос всей «умной» части за пределы Asterisk. Для этого используется ARI (Asterisk REST Interface). Идея простая: Asterisk больше не решает, кому отдать звонок. Он просто сообщает внешнему приложению: «У меня новый входящий, что с ним делать?».
Внешнее приложение (написанное, например, на Python с использованием FastAPI) берет этот звонок под свой контроль и переводит его в режим Stasis. Пока человек слушает музыку, ваше приложение в спокойном режиме обращается к базе данных, проверяет статусы операторов и решает, с кем его соединить.
Плюсы такого подхода очевидны:
Такая модернизация АТС позволяет забыть о проблемах с весами очередей и дедлоками внутри app_queue. Вы используете Asterisk только как надежный медиа-сервер, который умеет коммутировать голос, а всю логику оставляете современным языкам программирования.
Для тех, кто решит пойти по пути ARI, стандартным набором инструментов сегодня является связка FastAPI + NATS + Redis. Это позволяет создать действительно быструю и отказоустойчивую систему.
При такой схеме вы можете реализовать даже самые безумные сценарии. Например, можно прикрутить AI-рекрутера, который сам будет обзванивать кандидатов, распознавать их ответы и переводить на живого человека только в случае успеха. Причем вся эта логика будет отделена от телефонной платформы. Если вам потребуется обновить код бота, вам не нужно лезть в конфиги телефонии или делать core reload.
Конечно, такая разработка требует серьезных навыков. Многие специалисты проходят профильные курсы по Asterisk, чтобы разобраться, как правильно работать с ARI и не наделать ошибок в управлении каналами. Ведь теперь на плечи разработчика ложится и генерация сигналов, и обработка сбросов звонков, и управление очередями сообщений.
Не стоит думать, что ARI — это волшебная таблетка, которая решается за вечер. Когда вы отказываетесь от app_queue, вам приходится вручную реализовывать вещи, которые раньше казались бесплатными:
Кроме того, встает вопрос надежности сетевого взаимодействия. Чтобы система работала без задержек, проектирование и настройка сети должны быть выполнены на высшем уровне. Любой «лаг» между Asterisk и вашим Python-приложением приведет к паузам в звонке, которые будут слышать клиенты.
Подводя итог, можно сказать: модуль app_queue — это вчерашний день для тех, кому важна гибкость и стабильность под большой нагрузкой. Его монолитная структура и непредсказуемое поведение в сложных сценариях становятся узким местом для развития бизнеса. Да, он прост в настройке и подходит для офиса на 20 человек, но как только задачи выходят за рамки «просто распределить по кругу», начинаются проблемы.
Будущее корпоративной телефонии — в разделении уровней. Asterisk должен заниматься голосом, а внешние микросервисы через ARI — бизнес-логикой. Это сложнее в реализации, требует больше времени на старте, но в долгосрочной перспективе дает систему, которую легко поддерживать, масштабировать и обновлять без страха все сломать. Если вы чувствуете, что стандартные очереди Asterisk тянут вас назад, возможно, пришло время пересмотреть архитектуру и забрать управление в свои руки.
Билеты уже в продаже!
Я - Игорь Кондрашин, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.