IP-телефония на базе Asterisk
Введите свой номер телефона
и мы перезвоним вам
Решаем Ваши бизнес-задачи с помощью IT-технологий. Знаем, как сделать лучше, быстрее и дешевле. Наш опыт – на службе Вашего бизнеса.
База знаний Не все герои носят плащи. Сотни техических статей, написанных инженерами нашей компании. Делимся опытом и своими знаниями со всем сообществом.
Сотни функций и возможностей Asterisk помогут вывести коммуникации в Вашей компании на принципиально новый уровень. Технические ограничения – фантазия Заказчика.
IP-АТС Вы платите за систему, которая будет полностью соответствовать Вашим ожиданиям, требованиям и будет драйвером роста Вашего бизнеса
Идти в ногу со временем или оставаться на старых технологиях? Такой вопрос не стоит перед нашими клиентами. Решаем самые смелые задачи для Колл-Центров. Строим с нуля или работаем с существующими.
Поместите свой бизнес в эпицентр продаж. Интеграция IP-телефонии и CRM даст новый и мощный импульс Вашему Отделу Продаж и выведет компанию на три шага впереди конкурентов.
Подбираем для клиентов такие тарифы, которые ему редко получится найти на рынке самостоятельно. Работаем с 100+ операторов связи в интересах клиента.
Разработки, созданные нашей командой под запросы клиентов. Не отказывайтесь от инноваций. Мы поможем идти с ногу со временем.
Умные всю жизнь учатся, а остальные всегда все и так знают. Мы проводим обучение более 8 лет и выпустили более 1000 специалистов по Asterisk и Mikrotik. Проводим ежегодную конференцию Asterisk.
Купить наш опыт дешевле, чем набивать свои шишки. Мы реализовали более 800 проектов и накопили экспертизу для того, чтобы идеально выполнить Ваш проект.
Оборудование Правильный выбор оборудования позволяет сэкономить от 20 до 50% бюджета телефонии. Мы предельно внимательно подойдем к выбору «железа» в Ваш проект.
Наши цены доступны не только для Москвы, но и для регионов. А вложения в нашу экспертизу обычно окупаются за несколько месяцев.
О нас Работаем с 2011 года. Собрали отличную команду реальных фанатов своего дела. Подходим к работе с душой и ответственностью.
В докладе рассматривался практический опыт реализации SIP-клиента под iOS с поддержкой входящих вызовов и push-уведомлений. Поводом для этой работы стало создание нового iOS-приложения, которое на первый взгляд выглядело как типичная задача для мобильных разработчиков и дизайнеров, но на практике потребовало серьёзных изменений и на серверной стороне.
Ключевая проблема заключалась в особенностях жизненного цикла приложений iOS и в том, как обеспечить стабильную работу SIP-клиента в условиях агрессивного энергосбережения операционной системы.
iOS жёстко контролирует работу приложений в фоне. Приложение может находиться в нескольких состояниях: не запущено, активно, в фоне или в состоянии suspend. В последнем случае код приложения полностью перестаёт выполняться.
Для SIP-клиента это критично. Чтобы входящий вызов дошёл до пользователя, клиент должен поддерживать SIP-регистрацию. Однако после перехода приложения в suspend регистрация «протухает», и сервер больше не знает, куда отправлять INVITE.
Ранее Apple предоставляла механизм VoIP-сокетов, при котором операционная система сама поддерживала сетевое соединение за приложение. Но начиная с iOS 8 этот механизм был признан устаревшим, и ему на смену пришёл PushKit.
PushKit добавил в iOS специальный тип уведомлений — VoIP Push. В отличие от обычных push-уведомлений, такие сообщения:
Однако у этого подхода есть принципиальное отличие от VoIP-сокетов: теперь серверная часть обязана участвовать в процессе пробуждения приложения. SIP-клиент больше не может существовать полностью автономно — ему требуется дополнительная логика на бэкенде.
На рынке существует ряд готовых SIP-gateway, которые берут на себя работу с push-уведомлениями. В такой схеме мобильное приложение регистрируется не напрямую в SIP-инфраструктуре, а на gateway, который уже дальше взаимодействует с Asterisk или Kamailio.
Однако у этого подхода обнаружились существенные недостатки:
В результате было принято решение реализовать собственную схему, полностью контролируемую внутри инфраструктуры.
В основе архитектуры лежат Kamailio, Asterisk, Redis и собственный HTTP-бэкенд.
При регистрации SIP-клиента информация о ней сохраняется в Redis в виде хэша. Это позволяет Asterisk быстро получать данные о текущем состоянии клиента без обращения к базам данных Kamailio.
При входящем вызове поток выглядит следующим образом:
Вся процедура регистрации после пробуждения в среднем занимает 2–2,5 секунды, но в отдельных случаях может растягиваться до 10 секунд. Чтобы звонящий не слышал тишину, ему в это время проигрываются гудки вызова.
Для ожидания регистрации используется AGI-скрипт, который через механизм publish/subscribe Redis отслеживает появление нужной информации о клиенте. Как только регистрация обнаружена, вызов продолжается.
Реализованная схема дала сразу несколько важных преимуществ:
В отличие от «чёрных ящиков», система остаётся полностью управляемой и диагностируемой.
Реализация SIP-клиента под iOS с поддержкой входящих вызовов — это не только мобильная разработка, но и серьёзная серверная задача. Ограничения iOS заставляют перестраивать классическую модель SIP-регистрации и переносить часть логики на бэкенд.
Собственная реализация на базе PushKit, Kamailio, Asterisk и Redis позволила сохранить контроль над инфраструктурой, обеспечить масштабируемость и гибко управлять поведением приложения. Этот опыт показал, что при грамотной архитектуре VoIP-приложение может корректно работать даже в условиях жёстких ограничений мобильной платформы.
Билеты уже в продаже!
Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.