Skip to content

SolverNA/Reticulum-PTT-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Разработка PTT-радиостанции на базе протокола Reticulum (iOS)

  1. Общее описание Создание мобильного приложения для защищенной голосовой связи в режиме Push-to-Talk (PTT). Приложение должно поддерживать работу как через глобальную сеть (IP), так и через локальные Mesh-сети (Wi-Fi/Bluetooth) без центральных серверов, сохраняя активность в фоновом режиме.
  2. Технологический стек Frontend & UI/UX
  • SwiftUI: Основной фреймворк интерфейса.
  • ActivityKit: Реализация виджетов Live Activities для управления рацией с экрана блокировки и через Dynamic Island. Core Frameworks (Системный уровень)
  • PushToTalk (PTT) Framework: Обеспечение фонового режима работы аудио-сессии и системного интерфейса передачи.
  • Network.framework: Высокоуровневая работа с UDP-сокетами и Multicast-группами для Mesh-взаимодействия.
  • PushKit (VoIP): Пробуждение приложения для приема вызова через интернет. Network & Mesh Layer
  • Reticulum-rs (Rust): Ядро протокола Reticulum, скомпилированное под iOS (через Mozilla UniFFI или Swift-Rust-Bridge).
  • Libp2p / Multipeer Connectivity: Вспомогательные уровни для обнаружения соседей в локальной сети. Audio & Crypto
  • Opus (C-library): Кодирование голоса (битрейт 8–24 kbps).
  • AVAudioEngine: Захват и воспроизведение звука, микширование.
  • Swift-Crypto: Дополнительный слой шифрования (ED25519, AES-GCM), если возможностей RNS недостаточно.
  1. Ключевые модули системы
Модуль Технология Функционал
Transport Manager Network.framework Управление интерфейсами (Wi-Fi, Bluetooth, Ethernet).
RNS Node Reticulum-rs Маршрутизация пакетов, работа с "путями" (Paths) и именами.
PTT Controller PTChannelManager Взаимодействие с ОС: запрос прав на микрофон.
Audio Engine AVAudioEngine + Opus Обработка звука: эхоподавление, сжатие.
Live Activity WidgetKit Отображение активного канала в Dynamic Island.
  1. Требования к разрешениям (Entitlements) Для работы проекта в Apple Developer Account должны быть активированы следующие пункты:
  • Multicast Networking: Для отправки/приема пакетов Reticulum в локальном Wi-Fi.
  • Background Modes: * Audio, AirPlay, and Picture in Picture
    • Voice over IP
    • Background fetch
  • PushToTalk Capability: Специфическое разрешение для использования PTT фреймворка.
  1. Жизненный цикл фонового процесса (Workflow)
  • Ожидание: Приложение находится в фоне. Reticulum-узел работает в режиме пониженного потребления.
  • Событие: Получен входящий пакет от Reticulum (через UDP) или VoIP Push.
  • Активация: Приложение вызывает PTChannelManager. Система активирует аудио-сессию.
  • Воспроизведение: Декодирование Opus-пакетов и вывод звука через динамик.
  • Индикация: Пользователь видит активную сессию в Dynamic Island и может нажать "Ответить", не разблокируя телефон.

About

PTT-радиостанция на базе протокола Reticulum (iOS)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors