IP-телефония на базе Asterisk
Введите свой номер телефона
и мы перезвоним вам
Решаем Ваши бизнес-задачи с помощью IT-технологий. Знаем, как сделать лучше, быстрее и дешевле. Наш опыт – на службе Вашего бизнеса.
База знаний Не все герои носят плащи. Сотни техических статей, написанных инженерами нашей компании. Делимся опытом и своими знаниями со всем сообществом.
Сотни функций и возможностей Asterisk помогут вывести коммуникации в Вашей компании на принципиально новый уровень. Технические ограничения – фантазия Заказчика.
IP-АТС Вы платите за систему, которая будет полностью соответствовать Вашим ожиданиям, требованиям и будет драйвером роста Вашего бизнеса
Идти в ногу со временем или оставаться на старых технологиях? Такой вопрос не стоит перед нашими клиентами. Решаем самые смелые задачи для Колл-Центров. Строим с нуля или работаем с существующими.
Поместите свой бизнес в эпицентр продаж. Интеграция IP-телефонии и CRM даст новый и мощный импульс Вашему Отделу Продаж и выведет компанию на три шага впереди конкурентов.
Подбираем для клиентов такие тарифы, которые ему редко получится найти на рынке самостоятельно. Работаем с 100+ операторов связи в интересах клиента.
Разработки, созданные нашей командой под запросы клиентов. Не отказывайтесь от инноваций. Мы поможем идти с ногу со временем.
Умные всю жизнь учатся, а остальные всегда все и так знают. Мы проводим обучение более 8 лет и выпустили более 1000 специалистов по Asterisk и Mikrotik. Проводим ежегодную конференцию Asterisk.
Купить наш опыт дешевле, чем набивать свои шишки. Мы реализовали более 800 проектов и накопили экспертизу для того, чтобы идеально выполнить Ваш проект.
Оборудование Правильный выбор оборудования позволяет сэкономить от 20 до 50% бюджета телефонии. Мы предельно внимательно подойдем к выбору «железа» в Ваш проект.
Наши цены доступны не только для Москвы, но и для регионов. А вложения в нашу экспертизу обычно окупаются за несколько месяцев.
О нас Работаем с 2011 года. Собрали отличную команду реальных фанатов своего дела. Подходим к работе с душой и ответственностью.
Реализация переадресации вызовов в современных системах IP-телефонии на базе SIP-протокола и Asterisk часто воспринимается как рядовая задача, не требующая глубоких изысканий. Однако на практике технические специалисты постоянно натыкаются на подводные камни. Проблемы начинаются буквально с порога — с терминологической путаницы — и уходят глубоко в уровни работы протоколов, вопросы безопасности, сложности биллинга и удобство тех, кто этими телефонами пользуется каждый день. Чтобы построить действительно рабочую и логичную систему связи, нужно понимать, как эти механизмы крутятся «под капотом».
Первая и самая большая сложность — это каша в понятиях. Когда нужно соединить двух абонентов, обычно говорят про три разные вещи: переадресацию, маршрутизацию и перевод вызова. В обычной жизни их часто путают, и если маршрутизацию с переадресацией еще можно различить по контексту (часто одно реализуют через другое), то с переводом вызова всё сложнее. Даже в английском языке слово forwarding может значить что угодно в зависимости от ситуации.
Интересный пример из практики колл-центров — термин «патчинг» (patching). Это специфический вид перевода, когда внешняя линия (например, аутсорс-оператор) соединяет важного клиента напрямую с владельцем бизнеса. Но если отбросить экзотику, основные отличия выглядят так:
Важно четко понимать эти границы, когда вы обсуждаете ТЗ с заказчиком. Часто под фразой «сделайте мне переадресацию» скрывается сложный сценарий перевода с консультацией, и наоборот.
Когда решение о переадресации принято, возникает вопрос: где именно настраивать правила? Варианта два: на самом SIP-аппарате или на стороне Asterisk. У каждого пути свои грабли.
Если отдать это на откуп телефону, то пользователи получают свободу. Они сами заходят в меню, нажимают кнопки и включают переадресацию на мобильный. Но для администратора это превращается в кошмар. Контролировать такие настройки централизованно почти невозможно. Более того, у многих вендоров (например, Yealink или Cisco) есть вечная беда с синхронизацией: настройки в веб-интерфейсе живут своей жизнью, а кнопки на панели — своей. В итоге на экране написано одно, а звонки улетают совсем в другую сторону.
Когда логика живет на сервере, всё становится прозрачным и управляемым. Можно городить любые сложные условия, привязываться к графику работы или статусу сотрудника в CRM. Единственный минус — пользователь не всегда видит на экране своего аппарата, что у него включен «форвард». Но это легко лечится: можно добавить короткое звуковое уведомление (playback) перед тем, как человек начнет набирать номер. Так он точно не забудет, что его звонки уходят коллеге. Для реализации таких серверных сценариев обычно требуется грамотная установка Asterisk, чтобы вся логика диалплана работала как часы.
С точки зрения протокола SIP, когда телефон хочет переадресовать звонок, он не просто «перекладывает» его. Допустим, абонент А звонит абоненту Б, а у того стоит безусловная переадресация на номер С. Сервер шлет INVITE на телефон Б, а тот в ответ выдает сообщение 302 Moved Temporarily.
Что происходит в этот момент? Asterisk получает 302-ю ошибку, видит внутри заголовок с новым адресом (номером С) и начинает новый цикл. Он отправляет вызывающему абоненту А сообщение 181 Call Is Being Forwarded (мол, подожди, мы перенаправляем твой звонок) и инициирует новый вызов. Здесь важно помнить про опции приложения Dial:
i (маленькая): если вы ее добавите, Asterisk будет игнорировать любые попытки телефона сделать переадресацию через 302-й ответ. Телефон скажет «перенаправь», а сервер ответит «нет, занято».I (большая): она нужна, чтобы скрыть от звонящего информацию о том, куда в итоге ушел звонок. Это вопрос приватности и корпоративной этики.U: позволяет выполнить определенный подпрограммный код (gosub) в момент, когда переадресация уже случилась, но разговор еще не начался.Разбираться во всех этих флагах и нюансах передачи сигнализации лучше всего на практике, для чего существуют профильные курсы по Asterisk, где эти сценарии разбираются буквально по косточкам.
Чтобы система понимала, кто и куда переадресовал звонок, используется заголовок Diversion. Это своего рода «паспорт» переадресации в SIP-пакете. Без него невозможно понять, почему звонок вообще пришел на номер С. В Asterisk для работы с этими данными есть несколько инструментов, но с ними нужно быть аккуратным.
Например, есть переменная ${FORWARDERNAME}. Она кажется очень удобной, чтобы выцепить номер того, кто сделал переадресацию. Но есть нюанс: эта переменная не живет вечно. Вы не сможете прочитать ее в хендлерах или в начале диалплана до того, как фактически произойдет вызов третьего плеча. Если вам нужно передать информацию о «переадресаторе» дальше (например, в CRM), придется использовать _ (одинарное подчеркивание) перед именем переменной, чтобы она наследовалась в дочерние каналы.
Также полезно знать про переменную forward_context. По умолчанию Asterisk ищет номер С в том же контексте, где находился номер Б. Но если вам нужно отправить переадресованный вызов по какому-то особому маршруту (например, запретить переадресацию на межгород), эта переменная позволит принудительно сменить контекст.
Когда вызов выходит за пределы вашей АТС к оператору связи, начинаются настоящие танцы с бубном. Самая частая проблема — это когда звонок возвращается к вам же. Представьте: вызов пришел от провайдера, вы его переадресовали, и он через того же провайдера должен уйти на мобильный.
Тут возникают две беды:
insecurity=invite.Чтобы обойти эти грабли, иногда приходится принудительно вырезать заголовок Diversion из SIP-пакета перед отправкой вызова в мир. Или, наоборот, подменять CallerID на свой городской, теряя при этом информацию о том, кто звонил изначально. Чтобы такие схемы не превратились в дыру в безопасности, требуется вдумчивое проектирование и настройка сети на всех этапах прохождения трафика.
Переадресация — это любимая лазейка для мошенников (toll fraud). Если у сотрудника на телефоне стоит простой пароль, злоумышленник может зайти в веб-интерфейс, поставить безусловную переадресацию на какую-нибудь Кубу или спутниковый номер и оставить компанию с огромным счетом. Поэтому Защита IP-ATC должна включать в себя жесткие лимиты на переадресацию.
В плане тарификации тоже всё не слава богу. Стандартные CDR (записи о вызовах) в Asterisk часто «сходят с ума», когда звонок переадресовывается. Сложно понять, на кого вешать расходы: на того, кто звонил, или на того, кто поставил «форвард»? Самый честный способ — считать деньги, опираясь на данные из заголовка Diversion. Тот, кто инициировал пересылку вызова, тот за нее и платит. Но для этого нужно уметь правильно парсить заголовки, учитывая, что при цепочке переадресаций они могут дублироваться и накапливаться.
Для предотвращения подобных ситуаций и поиска узких мест рекомендуется проводить регулярный аудит IP-ATC, который покажет, нет ли в системе «левых» пересылок и несанкционированных маршрутов.
Техника — это хорошо, но человеку на другом конце провода должно быть удобно. Как понять, что у коллеги включена переадресация?
Для крупных компаний хорошим тоном считается использование сторонних уведомлений. Например, пришел звонок — сотруднику в мессенджер падает пуш: «Вам звонили с такого-то номера, сработала переадресация». Это снимает массу вопросов и делает работу со связью намного прозрачнее. Подобная защита IP-ATC и мониторинг помогают держать систему под контролем 24/7.
Переадресация не равно просто «перекинуть звонок». Это сложный процесс, завязанный на логику SIP-ответов, манипуляции с заголовками и правила безопасности. Чтобы она работала и не приносила убытков, лучше всего:
Только при таком подходе система телефонии будет помогать бизнесу, а не создавать новые проблемы для техподдержки.
Билеты уже в продаже!
Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.