Как запустить SIP‑телефонию на Android и гарантированно принимать звонки
Да — можно: установите SIP‑клиент, введите логин/пароль и адрес сервера (обычно порт 5060/5061), отключите энергосбережение для приложения и проверьте статус «зарегистрирован» — смартфон начнёт принимать SIP‑вызовы как обычные.
Что нужно подготовить
- SIP‑логин (или номер), пароль и адрес SIP‑сервера/домена.
- Порт и транспорт (UDP/TCP/TLS) — по умолчанию 5060 (UDP/TCP) и 5061 (TLS).
- Желательно знать кодеки, которые разрешил провайдер (OPUS/G.711/G.722 и т.д.).
- Доступ к стабильному интернету (Wi‑Fi или 4G/5G) и, при необходимости, данные STUN для NAT‑traversal.
Если вам нужно принимать звонки в фоне — убедитесь, что провайдер поддерживает push‑уведомления (FCM). Без них Android может «усыплять» клиент, и входящие будут приходить с задержкой.
Выбор приложения и пошаговая настройка
- Выберите SIP‑клиент: нужен ли простой универсальный клиент, корпоративный со спец.функциями или приложение от провайдера. Для большинства подойдёт любой стабильный SIP‑клиент с поддержкой фоновой регистрации и push.
- Установите приложение и откройте «Добавить аккаунт» / «SIP account».
- Введите: логин (или SIP URI), пароль, SIP‑сервер/домен, порт и транспорт. Если провайдер дал отдельный SIP‑proxy — укажите его.
- В расширенных настройках укажите кодеки (рекомендуется OPUS или G.711 для лучшего качества), включите STUN, если требуется, и включите SRTP/TLS при необходимости безопасности.
- Сохраните профиль и дождитесь статуса «Registered» / «Онлайн».
- Сделайте тестовый исходящий и входящий звонок (попросите коллегу или используйте другой SIP‑аккаунт).
Практические параметры: порт 5060/UDP — наиболее распроcтранён, для шифрования выбирайте TLS/5061; если есть проблемы с входящими — попробуйте включить STUN или указать публичный IP/сервер прокси.
Приём звонков и поддержание стабильности
- Разрешите приложению фоновые процессы и уведомления. Отключите для него оптимизацию батареи (Whitelist).
- Дайте разрешение на микрофон и, при необходимости, на отображение поверх других окон.
- Используйте push (FCM) — это снижает потребление и надёжно доставляет входящие при закрытом приложении.
- Для лучшего звука применяйте гарнитуру и фиксируйте кодек OPUS или G.722 при высоком качестве сети.
- В офисной сети проверьте, не блокирует ли SIP RTP порты роутер/фаервол; при проблемах с голосом тестируйте порты RTP и включайте STUN/ICE.
Если звонок идёт, но вас не слышно, сначала проверьте разрешения микрофона и выбранный кодек. Часто проблема в NAT/фаерволе или маршрутизации RTP — тогда нужен STUN/ICE/SRTP.
Частые ошибки
- Неверный логин/пароль или опечатка в домене.
- Приложение ограничено энергосбережением и не получает входящие в фоне.
- Неправильный транспорт (UDP/TCP/TLS) — провайдер требует иной.
- VPN или корпоративный фаервол блокирует SIP/RTP.
- Кодеки не совпадают — нет звука или эхо.
FAQ
Q: Какой порт указывать по умолчанию?
A: 5060 для UDP/TCP, 5061 — для TLS. Уточните у провайдера.
Q: Нужно ли включать шифрование (TLS/SRTP)?
A: Рекомендуется для безопасности, особенно в публичных сетях, но может потребовать дополнительной настройки у провайдера.
Q: Почему звонки не приходят, когда экран блокирован?
A: Android может «убывать» приложение — отключите оптимизацию батареи, включите push‑уведомления и дайте все разрешения.
Q: Как проверить, что RTP пакеты проходят?
A: В настройках клиента включите логирование или используйте диагностику провайдера; проблемные случаи часто связаны с NAT и требуют STUN/ICE.
Итог: имея SIP‑данные, стабильный интернет и корректно настроенное приложение с исключением из энергосбережения, вы получите полноценный IP‑телефон на Android и надёжный приём входящих звонков.