IP-телефония на базе Asterisk
Введите свой номер телефона
и мы перезвоним вам
Решаем Ваши бизнес-задачи с помощью IT-технологий. Знаем, как сделать лучше, быстрее и дешевле. Наш опыт – на службе Вашего бизнеса.
База знаний Не все герои носят плащи. Сотни техических статей, написанных инженерами нашей компании. Делимся опытом и своими знаниями со всем сообществом.
Сотни функций и возможностей Asterisk помогут вывести коммуникации в Вашей компании на принципиально новый уровень. Технические ограничения – фантазия Заказчика.
IP-АТС Вы платите за систему, которая будет полностью соответствовать Вашим ожиданиям, требованиям и будет драйвером роста Вашего бизнеса
Идти в ногу со временем или оставаться на старых технологиях? Такой вопрос не стоит перед нашими клиентами. Решаем самые смелые задачи для Колл-Центров. Строим с нуля или работаем с существующими.
Поместите свой бизнес в эпицентр продаж. Интеграция IP-телефонии и CRM даст новый и мощный импульс Вашему Отделу Продаж и выведет компанию на три шага впереди конкурентов.
Подбираем для клиентов такие тарифы, которые ему редко получится найти на рынке самостоятельно. Работаем с 100+ операторов связи в интересах клиента.
Разработки, созданные нашей командой под запросы клиентов. Не отказывайтесь от инноваций. Мы поможем идти с ногу со временем.
Умные всю жизнь учатся, а остальные всегда все и так знают. Мы проводим обучение более 8 лет и выпустили более 1000 специалистов по Asterisk и Mikrotik. Проводим ежегодную конференцию Asterisk.
Купить наш опыт дешевле, чем набивать свои шишки. Мы реализовали более 800 проектов и накопили экспертизу для того, чтобы идеально выполнить Ваш проект.
Оборудование Правильный выбор оборудования позволяет сэкономить от 20 до 50% бюджета телефонии. Мы предельно внимательно подойдем к выбору «железа» в Ваш проект.
Наши цены доступны не только для Москвы, но и для регионов. А вложения в нашу экспертизу обычно окупаются за несколько месяцев.
О нас Работаем с 2011 года. Собрали отличную команду реальных фанатов своего дела. Подходим к работе с душой и ответственностью.
Проблема прохождения SIP-трафика через NAT — это, пожалуй, одна из самых «древних» и обсуждаемых тем в мире IP-телефонии. Кажется, что за годы существования Asterconf и профильных сообществ всё уже сказано, но вопросы продолжают сыпаться. Всё дело в том, что протокол SIP по своей природе довольно капризный: он живет на седьмом уровне модели OSI, но при этом нагло тащит данные о сетевых адресах прямо внутрь своих пакетов. Когда на пути встает обычный NAT, который умеет менять заголовки только на сетевом уровне, получается классическая ситуация: пакет снаружи вроде бы правильный, а внутри у него «серый» IP-адрес, на который никто не сможет ответить.
Для борьбы с этим безобразием придумали специальные механизмы — SIP ALG (Application Level Gateway), которые в мире MikroTik называют просто SIP Helper. Вокруг этой «палки-выручалки» сломано немало копий. Одни говорят, что её надо выключать сразу после распаковки роутера, другие пытаются с её помощью спасти безнадежные инсталляции. На самом деле, это не магия и не «вредительство» разработчиков, а конкретный инструмент с четкой логикой работы.
Чтобы понять, зачем вообще нужен хелпер, стоит вспомнить, как выглядит типичный SIP-пакет. В отличие от многих других протоколов, SIP не просто передает данные, он постоянно «сообщает» собеседнику, куда ему слать ответные пакеты. Это происходит в нескольких ключевых полях:
Проблема в том, что когда телефон стоит за роутером с NAT, он знать не знает про свой внешний белый адрес. Он честно пишет в пакете свой локальный IP, например 192.168.1.15. Роутер меняет IP в заголовке пакета, но не лезет внутрь. В итоге АТС видит запрос, пытается ответить на внутренний адрес телефона, и на этом связь обрывается. Начинаются проблемы: нет регистрации, нет входящих, или классическая «односторонняя слышимость», когда вы человека слышите, а он вас — нет.
В таких ситуациях часто требуется грамотное проектирование и настройка сети, чтобы учесть все нюансы прохождения голоса через шлюзы.
Если зайти в настройки MikroTik в раздел IP -> Firewall -> Service Ports, там можно найти строчку sip. Это и есть наш герой. Важно понимать, что MikroTik не изобретал этот модуль с нуля — это интерфейс к стандартным модулям ядра Linux: nf_conntrack_sip (отвечает за отслеживание соединений) и nf_nat_sip (отвечает за подмену адресов внутри пакетов).
Когда этот сервис включен, роутер начинает внимательно «всматриваться» в трафик, идущий через 5060 порт (или другой, если вы его там укажите). Как только он видит SIP-сообщение, включается следующий алгоритм:
Где именно происходят изменения? Это важный момент для диагностики. Многие пытаются поймать изменения в цепочке forward или prerouting, но там их нет. Пакет меняется «на выходе», уже после того, как отработали правила NAT. Увидеть реальную работу хелпера можно только с помощью Packet Sniffer, если снимать дамп прямо на внешнем интерфейсе роутера.
Несмотря на дурную славу, бывают случаи, когда без этой функции всё будет работать из рук вон плохо.
1. Работа с «глупыми» телефонами
Есть старые модели IP-телефонов или дешевые шлюзы, которые вообще не умеют работать с NAT. У них нет поддержки STUN, они не умеют определять свой внешний адрес. Они просто шлют то, что у них настроено. Если у вас в сети парк таких устройств, SIP Helper станет тем самым костылем, который позволит им связаться с внешним миром без боли.
2. Ситуации с Dual WAN (Два провайдера)
Это, пожалуй, самый сильный аргумент в пользу хелпера. Когда у вас два интернет-канала и один из них падает, роутер переключает трафик на другой. В таблице соединений (Connection Tracking) при этом могут зависнуть старые сессии. Пакеты будут пытаться уйти через новый канал, но со старыми данными внутри.
SIP Helper умеет отслеживать смену внешнего IP. Как только он видит, что NAT-адрес изменился, он помогает быстрее «перестроить» SIP-диалоги под новые реалии. Это избавляет от необходимости вручную сбрасывать соединения или ждать, пока они отвалятся по тайм-ауту. Часто это критично, когда выполняется установка Asterisk в компаниях с повышенными требованиями к отказоустойчивости.
3. Сложные схемы с VPN
Иногда Ip-телефония для удаленных сотрудников настраивается через VPN-туннели, внутри которых всё равно есть NAT (например, из-за пересечения подсетей). В таких запутанных случаях хелпер может помочь корректно пробросить заголовки через несколько этапов трансляции.
Если всё так здорово, почему первая заповедь любого инженера телефонии — «выключи SIP ALG»? На это есть веские причины.
Хелпер часто «умничает» там, где не просят. Современные АТС (тот же Asterisk) и современные телефоны сами отлично умеют работать с NAT. В настройках Asterisk есть параметры externip или nat=yes, которые заставляют станцию сразу подставлять правильные адреса. Если телефон сам подставил свой внешний адрес, а потом по этому пакету «проехался» SIP Helper, он может повторно что-то изменить и в итоге испортить пакет. В результате — битые заголовки и неработающая связь.
Нагрузка на процессор. Глубокий анализ пакетов (DPI на минималках) требует ресурсов. Если у вас сотни одновременных звонков, роутер может начать «захлебываться», перебирая содержимое каждого пакета.
Проблемы с безопасностью. SIP Helper динамически открывает порты для RTP. В некоторых реализациях это может стать лазейкой для злоумышленников. Чтобы спать спокойно, лучше периодически проводить Аудит IP-ATC и проверять, не торчит ли из вашей сети что-то лишнее. Полноценная защита IP-ATC обычно строится на строгих правилах Firewall, а «автоматика» хелпера может эти правила неявно обходить.
Если вы всё же решили использовать SIP Helper или просто хотите, чтобы телефония через MikroTik работала стабильно, нужно обратить внимание на настройки Connection Tracking.
У UDP-трафика (а SIP и RTP — это чаще всего UDP) есть одна неприятная особенность: если пакеты долго не ходят, роутер «забывает» про соединение и закрывает дырку в NAT.
udp-timeout в MikroTik стоит 30 секунд, то через полминуты после регистрации входящий звонок до телефона не дойдет — роутер его просто не пропустит.udp-timeout в настройках роутера.Однако помните: слишком большие тайм-ауты забьют таблицу соединений мусором, а слишком маленькие — заставят станцию постоянно переваривать новые регистрационные пакеты, что создаст нагрузку на «железо».
Работа с SIP через NAT требует терпения и методичности. Проверяйте тайм-ауты, следите за нагрузкой на процессор и не забывайте, что «делай хорошо — будет хорошо». В конечном итоге, стабильность вашей телефонии зависит от того, насколько прозрачно и понятно выстроены маршруты движения трафика в вашей сети.
Мир сетевых технологий постоянно движется вперед, и механизмы, которые вчера казались необходимыми, сегодня могут только мешать. SIP Helper — это инструмент из прошлого, который до сих пор находит применение в специфических нишах. Используйте его осознанно, всегда имейте под рукой план отката и не ленитесь заглядывать в дампы трафика, чтобы видеть реальную картину происходящего, а не полагаться на магию автоматических алгоритмов.
Билеты уже в продаже!
Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.