Нативно на iOS · WebRTC · без посредников

Звонок,
а не чат
с иконкой телефона

NurVoice соединяет два iPhone напрямую поверх WebRTC. Голос идёт своим путём — не через ленту сообщений, не через рекламные сервера.

<150мсзадержка в локальной сети
Opusадаптивный аудиокодек
0рекламы в звонке
NurVoice
Войдите в свой аккаунт
+7 909 312 00 05
••••••
Войти
Ильнур
Входящий звонок
Путь сигнала

Что происходит между «набрать» и «алло»

Не маркетинговая схема — реальная последовательность, которую проходит каждый звонок в NurVoice.

01
Микрофон захватывает голос
AVAudioSession настраивает iPhone в режим голосового звонка — с эхоподавлением и приоритетом над музыкой.
AVAudioSession · voiceChat
02
WebRTC кодирует поток в реальном времени
Звук сжимается кодеком Opus прямо на устройстве, адаптируясь к качеству сети на лету.
RTCPeerConnection
03
Signaling-сервер знакомит два телефона
WebSocket-сервер передаёт SDP и ICE-кандидаты между звонящим и принимающим — сам голос через него не идёт.
WSS · JWT-авторизация
04
Телефоны находят путь друг к другу
Через STUN — напрямую, если сеть позволяет. Через TURN-ретранслятор — если оба за строгим NAT.
coturn · STUN/TURN
05
Голос доходит до динамика собеседника
CallKit показывает системный экран звонка — тот же, что и для обычных сотовых вызовов.
CallKit · системная история
Спецификация

Под капотом, без прикрас

То, что обычно прячут в мелкий шрифт политики конфиденциальности — здесь просто список.

аудиокодек Opus · адаптивный битрейт под качество сети
хранение пароля bcrypt-хэш · пароль в открытом виде нигде не хранится
сигнализация WebSocket + JWT · проверка токена на каждое сообщение
nat traversal STUN/TURN · собственный coturn-сервер, не сторонний
входящий звонок PushKit + CallKit · будит приложение, даже если оно закрыто
архитектура MVVM, Swift 6 · нативно, без WebView и обёрток
Экраны

Просто и по делу

Минимум действий между открытием приложения и звонком.

NurVoice
вход по номеру
Номер телефона
Пароль
Войти

Вход за 10 секунд

Номер телефона и пароль — без SMS-кодов и лишних экранов подтверждения.

Имя или номер телефона
Ильнур
+7 909 312 00 05
Аскар
+7 701 555 21 09
Дана
+7 705 444 87 12

Контакты и поиск

Найдите человека по имени или номеру — и позвоните нажатием одной кнопки рядом с его именем.

Ильнур
02:14

Экран звонка CallKit

Тот же системный интерфейс, что и у обычного вызова — попадает в общую историю звонков iPhone.

Приложение сейчас в закрытом тестировании

Напишите нам — добавим вас тестировщиком в TestFlight и вы сможете позвонить первым.

Написать на почту
ilnurchik05@icloud.com