О проекте
Мы разрабатываем и развиваем высоконагруженный звонковый SDK для iOS на Swift.
SDK используется в клиентских приложениях и напрямую влияет на качество аудио- и видеосвязи, поэтому ключевой фокус — стабильность, производительность и надёжность.
В основе проекта — интеграция и кастомизация Linphone и работа с низкоуровневым медиа-стеком.
Задачи
-
Разработка, оптимизация и поддержка модулей VoIP SDK для iOS (аудио- и видеозвонки, уведомления)
-
Интеграция и кастомизация open-source библиотеки Linphone в нативный iOS-стек
-
Работа с низкоуровневыми аудио/видео технологиями и кодеками (OPUS, G.722, VP8/H.264)
-
Обеспечение стабильной связи в условиях нестабильных сетей (jitter, packet loss, QoS, FEC, адаптивная подстройка битрейта)
-
Реализация фоновой работы и обработки VoIP Push-уведомлений
-
Проектирование архитектуры SDK (модульность, тестируемость, удобство интеграции для клиентов)
-
Анализ и устранение сложных проблем с памятью, производительностью и многопоточностью
-
Подготовка технической документации для внутренних и внешних пользователей SDK
Опыт и технологии
-
5+ лет коммерческой разработки под iOS
-
От 1 года опыта работы с VoIP / аудио / видео приложениями или SDK
-
Глубокое знание Swift (Concurrency, Protocol-Oriented Programming, Generics)
-
Уверенное владение Objective-C (работа с Linphone и C-библиотеками)
-
Опыт работы с Git и Git Flow
VoIP и мультимедиа
-
Понимание принципов SIP, RTP/RTCP, WebRTC
-
Опыт работы с аудио/видео кодеками (на уровне настройки и диагностики)
-
Понимание проблем передачи медиа в сетях (jitter, packet loss, QoS)
Инфраструктура и инструменты
-
Интеграция нативных C/C++ библиотек (CocoaPods, Carthage, XCFramework, вручную)
-
Опыт работы с CI/CD (Fastlane, GitLab CI, Jenkins)
-
Глубокое понимание многопоточности (GCD, OperationQueue), race conditions, deadlocks
-
Опыт отладки и профилирования (Instruments: Allocations, Leaks, Time Profiler)
Архитектура
-
Опыт проектирования SDK или библиотек с публичным API
-
Практическое применение Clean Architecture, MVVM, SOLID, Dependency Injection
Будет плюсом
-
Опыт работы с Linphone или другими VoIP-стеками (PJSIP, Sofia-SIP)
-
Опыт сборки и настройки медиа-стеков (ffmpeg, WebRTC) под iOS
-
Знание VoIP Background Mode и PushKit
-
Опыт работы с сетевыми протоколами TCP/UDP, TLS, WebSockets
-
Понимание основ безопасности передачи медиа (SRTP, ZRTP, DTLS)
-
Опыт написания модульных и интеграционных тестов для сетевого и медиа-кода
Формат работы
-
Гибридный формат: офис в Москве 2–3 раза в неделю
-
Оформление по ИП