Модулі Worker і Storage
На платформі SIP.TG передбачена можливість запускати власні серверні модулі:
- Worker — відповідає за обробку/перетворення голосових даних (SIP ↔ Telegram).
- Сховище сесій (Storage) — зберігає ключі та дані доступу до акаунтів Telegram.
Ці модулі можна розмістити на власному сервері в Docker-контейнері з виділеним IP-адресом і гарантованою доступністю. Нижче описано, як це влаштовано та які кроки потрібні для налаштування.
Worker-сервери
Worker обробляє та конвертує аудіопотоки з SIP у формат Telegram і назад у реальному часі.
Для чого потрібні Worker-сервери
- Гарантія продуктивності: ви самі обираєте обладнання, масштабуєте під потрібне навантаження.
- Мінімальна затримка: Worker можна розмістити якомога ближче до вашої АТС, щоб зменшити RTT.
- Конфіденційність: голосові потоки не передаються на публічні сервери SIP.TG — ви самостійно обробляєте аудіодані.
- Доступ до приватних мереж: за бажанням Worker може працювати в локальній (обмеженій) мережі та отримувати SIP-трафік напряму від АТС.
Системні вимоги (Worker)
- Docker CE і Docker Compose на Linux-сервері (наприклад, Ubuntu 22.04).
- Виділений IP-адрес (або проброс TCP-порту) для з’єднання від SIP.TG.
- Орієнтовна продуктивність: 1 дзвінок ≈ 2.5% CPU на одному ядрі AMD Ryzen 5 1400, ~1 МБ ОЗУ при використанні G.711 (A-law).
Налаштування власного Worker
Отримання сертифікатів
- У боті @siptg_bot виконайте команду
/workers
і натисніть “Новий”. - Вам буде надіслано 2 файли: приватний ключ і сертифікат для безпечного з’єднання з платформою SIP.TG.
- Збережіть їх і не передавайте третім особам.
Підготовка сервера
- Встановіть оновлення ОС (за потреби).
- Встановіть Docker і Docker Compose.
- Склонуйте або завантажте шаблон конфігурації Worker (див. GitHub).
- Скопіюйте отримані від бота сертифікати на сервер і вкажіть шляхи до них у налаштуваннях Docker/Worker.
- За потреби відредагуйте параметри в
docker-compose.yml
або відповідних конфігураціях (порт SIP, діапазон RTP тощо).
Запуск Worker
-
Запустіть сервіс Docker:
-
Переконайтеся, що контейнер Worker успішно запустився та слухає вказані порти.
-
Перевірте логи контейнера (команда
docker-compose logs
) у разі виникнення помилок.
Підключення до Worker
- У боті @siptg_bot поверніться до
/workers
, оберіть створений Worker і натисніть “Адреса”. - Введіть зовнішню адресу та порт, за якими доступний ваш сервер.
- Натисніть “Увімкнути”, щоб SIP.TG перевірив з’єднання. Якщо все гаразд, Worker перейде в статус “Онлайн”.
Публічний або особистий режим
Після ввімкнення Worker можна вказати:
- Особистий (іконка “🔑”) — тільки власник і адміністровані сесії Шлюзу можуть використовувати Worker.
- Публічний (іконка “🌐”) — Worker буде доступний усім користувачам SIP.TG.
Обмеження для користувацьких Worker
- З’єднання типу АТС→SIP.TG на користувацькому Worker за замовчуванням заборонені.
- У разі відмови/недоступності Worker більше 30 хвилин платформа може відключити пов’язані SIP-акаунти.
Сховище сесій Telegram
Сховище (Storage) — сервер, на якому зберігаються ключі та дані для входу в Telegram-акаунти. Без нього сесії Telegram зберігаються в “хмарі” SIP.TG, але за бажанням ви можете зберігати все у себе.
Що дає власне Сховище
- Повний контроль: конфіденційність доступу до акаунтів Telegram, усі ключі зберігаються на вашому сервері.
- Необмежена кількість акаунтів (з урахуванням вашої підписки) в одному сховищі.
- Гнучке налаштування: обмеження на команди та події.
Системні вимоги
- Docker CE / Docker Compose (Linux).
- Виділений IP-адрес (або проброс TCP-порту) для з’єднання від SIP.TG.
- Модуль використовує бібліотеку TDLib, тому достатньо 1–2 ГБ RAM (але залежить від кількості акаунтів Telegram).
Налаштування власного Сховища
Отримання сертифікатів
- У боті @siptg_bot виконайте команду
/storage
і натисніть “Новий”. - Бот надішле приватний ключ і сертифікат. Збережіть їх на сервер.
Підготовка сервера
- Встановіть і налаштуйте Docker / Docker Compose.
- Склонуйте шаблон конфігурації сховища (див. GitHub).
- Помістіть сертифікати в відповідні директорії (як вказано в
docker-compose.yml
). - За потреби відредагуйте конфігураційні файли (порт для TCP, база даних тощо).
Запуск Сховища
-
Виконайте в папці з конфігурацією:
-
Перевірте логи контейнера (
docker-compose logs
) на наявність помилок. -
Переконайтеся, що вказаний TCP-порт доступний ззовні.
Підключення до Сховища
- Поверніться в боті @siptg_bot до
/storage
, оберіть своє сховище і натисніть “Адреса”. - Вкажіть зовнішню адресу та порт, за якими платформа SIP.TG зможе підключитися.
- Натисніть “Увімкнути”, щоб перевірити доступність. Якщо все гаразд, сховище буде Online.
Використання сховища
- Створюючи нову сесію Telegram (у режимі
/gateway
), обирайте ваше Сховище. - Перенести вже створену сесію в інше сховище неможливо, але можна перестворити сесію без видалення SIP-підключень.
Поширені запитання (FAQ)
Для повноцінної роботи Worker і Сховища потрібне стабільне з’єднання з платформою SIP.TG (менеджером). Переконайтеся, що ваш сервер може звертатися до інтернету без блокувань і що порти не фільтруються брандмауером.