IP-телефония на базе Asterisk
Введите свой номер телефона
и мы перезвоним вам
Решаем Ваши бизнес-задачи с помощью IT-технологий. Знаем, как сделать лучше, быстрее и дешевле. Наш опыт – на службе Вашего бизнеса.
База знаний Не все герои носят плащи. Сотни техических статей, написанных инженерами нашей компании. Делимся опытом и своими знаниями со всем сообществом.
Сотни функций и возможностей Asterisk помогут вывести коммуникации в Вашей компании на принципиально новый уровень. Технические ограничения – фантазия Заказчика.
IP-АТС Вы платите за систему, которая будет полностью соответствовать Вашим ожиданиям, требованиям и будет драйвером роста Вашего бизнеса
Идти в ногу со временем или оставаться на старых технологиях? Такой вопрос не стоит перед нашими клиентами. Решаем самые смелые задачи для Колл-Центров. Строим с нуля или работаем с существующими.
Поместите свой бизнес в эпицентр продаж. Интеграция IP-телефонии и CRM даст новый и мощный импульс Вашему Отделу Продаж и выведет компанию на три шага впереди конкурентов.
Подбираем для клиентов такие тарифы, которые ему редко получится найти на рынке самостоятельно. Работаем с 100+ операторов связи в интересах клиента.
Разработки, созданные нашей командой под запросы клиентов. Не отказывайтесь от инноваций. Мы поможем идти с ногу со временем.
Умные всю жизнь учатся, а остальные всегда все и так знают. Мы проводим обучение более 8 лет и выпустили более 1000 специалистов по Asterisk и Mikrotik. Проводим ежегодную конференцию Asterisk.
Купить наш опыт дешевле, чем набивать свои шишки. Мы реализовали более 800 проектов и накопили экспертизу для того, чтобы идеально выполнить Ваш проект.
Оборудование Правильный выбор оборудования позволяет сэкономить от 20 до 50% бюджета телефонии. Мы предельно внимательно подойдем к выбору «железа» в Ваш проект.
Наши цены доступны не только для Москвы, но и для регионов. А вложения в нашу экспертизу обычно окупаются за несколько месяцев.
О нас Работаем с 2011 года. Собрали отличную команду реальных фанатов своего дела. Подходим к работе с душой и ответственностью.
В процессе развития любого технологического проекта наступает момент, когда старые методы работы, которые отлично тянули MVP, внезапно превращаются в гири на ногах. Обычно это происходит через год-полтора активной разработки. Деньги вроде есть, команда растет, новых людей нанимают пачками, но вот парадокс — скорость выпуска фич не увеличивается, а иногда даже падает. Ветераны проекта завалены вопросами, новички месяцами «вдупляют» в код, а любая попытка что-то исправить ломает систему в самом неожиданном месте.
Проблема в том, что в какой-то момент проект превращается в монолитную «кашу», где всё завязано на всём. Если разработчик не может передать задачу коллеге без двухчасовой лекции, значит, архитектура приехала в тупик. Масштабирование команды — это не про количество людей в штате, а про то, насколько ваша система позволяет этим людям работать независимо. Когда проект строится на «скрытых знаниях», которые хранятся только в головах пары старожилов, бизнес оказывается в заложниках у этого самого «фактора автобуса».
Самая большая боль, с которой сталкиваются проекты после успешного старта — это резкий рост порога входа. В начале всё просто: пара человек сидит в одной комнате (или чате), все всё знают, решения принимаются мгновенно. Но когда команда разрастается до 15–20 человек, эта магия исчезает. Новичок приходит, открывает код и… ничего не понимает. Он не может просто взять и сделать задачу, потому что для этого нужно знать историю всех костылей за последние два года.
Чтобы разорвать этот порог, нужен качественный предпроектный аудит того, как вообще устроено взаимодействие внутри системы. Если вы нанимаете людей, а они не приносят пользы первые три месяца — это не люди плохие, это архитектура не готова к расширению.
Что обычно мешает масштабироваться:
Если разработчик превращается в археолога, который вместо написания кода занимается раскопками и пытается угадать, что имел в виду автор функции три года назад, проект начинает гнить изнутри. В такой ситуации добавление новых рук только подливает масла в огонь, потому что «старички» тратят всё время на обучение, а не на работу.
Есть такое модное мнение, что хороший код сам себя документирует. На деле это полная чушь. Код может подсказать, как работает конкретный алгоритм, но он никогда не расскажет, почему было принято именно такое решение. Почему выбрали этот протокол? Почему здесь стоит ограничение? Почему нельзя было сделать проще?
Без ответов на эти «почему» любая правка превращается в лотерею. Чтобы команда работала слаженно, документация должна описывать архитектуру на верхнем уровне. Не нужно расписывать каждую строчку, нужно дать человеку карту.
На что стоит тратить время при описании системы:
Когда есть внятное описание, проектирование и настройка сети или разработка нового сервиса перестают быть тайным знанием. Это позволяет новым сотрудникам быстрее включаться в процесс и не дергать коллег по каждому чиху.
Главный секрет выживания крупных проектов — это жесткая изоляция. Каждый модуль должен быть черным ящиком. Ему должно быть плевать, как написан соседний компонент, лишь бы тот отдавал данные в нужном формате. В идеале стоит использовать общепринятые стандартные протоколы (S1AP, GTP, Diameter — если мы говорим о связи). Это дает возможность тестировать части системы по отдельности.
Если ваш модуль зависит от того, запустил ли коллега свой сервис на соседнем сервере — у вас проблемы. Намного эффективнее использовать симуляторы. Вы описываете интерфейс, пишете простенький симулятор, который отдает нужные ответы, и фигачите свою задачу. Вам не нужно ждать соседа, вам не нужно разворачивать «всю вселенную» у себя на ноутбуке.
Почему это важно для бизнеса:
В сложных системах, где задействовано много сигнального трафика, часто требуется профессиональный аудит IP-ATC, чтобы найти узкие места. Тот же принцип работает и в разработке: если интерфейсы прозрачны, найти проблему — дело десяти минут. Если всё перемешано — это недели поиска багов.
Разработчик должен заниматься кодом, а не настройкой окружения. Если для того, чтобы поправить мелкий баг, человеку нужно полдня разворачивать базу, очереди сообщений и десяток микросервисов, его продуктивность стремится к нулю. Окружение на компьютере программиста должно быть максимально близким к тому, что крутится на «боевых» серверах.
Использование Docker и Kubernetes сегодня — это уже стандарт. Это позволяет упаковать всё необходимое в контейнер и запустить одной командой. Но технологии — это только половина дела. Важно еще и обучение. Вместо того чтобы заставлять людей изобретать велосипеды, проще отправить их на профильные курсы по Asterisk или по тем технологиям, которые вы реально используете. Это выравнивает уровень команды и задает общие правила игры.
Это еще один критический момент. Ручное тестирование на этапе роста команды просто убивает проект. С каждой новой фичей количество проверок растет. В какой-то момент тестировщики (или сами разработчики) перестают успевать проверять старое, и в продакшен начинают лететь глупые баги. Только автоматика может гарантировать, что новые правки ничего не разломали.
Техдолг есть у всех. На этапе MVP — это нормально, там нужно быстро бежать и проверять гипотезы. Но когда проект встал на рельсы, эти «временные решения» начинают требовать проценты. Самая опасная ситуация — когда техдолг становится настолько огромным, что команда тратит 90% времени на поддержку старых костылей и только 10% на новые задачи.
Борьба с этим — задача не только техническая, но и организационная. Нужно уметь вовремя сказать «стоп» и выделить время на рефакторинг.
Приемы, которые помогают держать проект в тонусе:
Иногда старая система настолько прогнивает, что никакие заплатки не помогают. В таких случаях требуется полная модернизация АТС или переезд на новую платформу. Это больно, дорого, но часто это единственный способ не закрыть проект через полгода из-за невозможности его развивать.
Когда людей становится много, совещания начинают пожирать всё время. Важно разделять: где мы обсуждаем, что делать (бизнес-задачи), а где — как это реализовать (техника).
Брейнштормы — это круто, но они не должны превращаться в базар. У каждой встречи должна быть цель. Например, если планируется сложная интеграция Asterisk с Active Directory, соберите тех, кто в теме, зафиксируйте протоколы взаимодействия и расходитесь работать. Не нужно тащить на обсуждение всю компанию.
Внутренняя коммуникация должна быть направлена на то, чтобы знания не застаивались. Делайте демо, пишите короткие заметки о внедренных фичах, делитесь опытом. Главное — чтобы любой процесс в команде был прозрачным. Если разработчик понимает, как его кусок кода вписывается в общую картину, он делает меньше ошибок и работает с большим драйвом.
Чтобы проект не загнулся под собственным весом, нужно вовремя переключить тумблер из режима «быстро фигачим» в режим «строим систему». Изоляция модулей, понятные интерфейсы и автоматизация — это те вещи, которые позволяют команде расти без потери скорости.
Главное — помнить, что архитектура должна служить людям, а не наоборот. Если вашим разработчикам удобно работать, если им не нужно быть «археологами» и ждать одобрения каждого шага от «гуру», то проект будет жить и развиваться. Масштабирование — это всегда про порядок и прозрачность, а не про количество строк кода или число людей в офисе.
Билеты уже в продаже!
Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.