На платформі 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

1

Отримання сертифікатів

  1. У боті @siptg_bot виконайте команду /workers і натисніть “Новий”.
  2. Вам буде надіслано 2 файли: приватний ключ і сертифікат для безпечного з’єднання з платформою SIP.TG.
  3. Збережіть їх і не передавайте третім особам.
2

Підготовка сервера

  1. Встановіть оновлення ОС (за потреби).
  2. Встановіть Docker і Docker Compose.
  3. Склонуйте або завантажте шаблон конфігурації Worker (див. GitHub).
  4. Скопіюйте отримані від бота сертифікати на сервер і вкажіть шляхи до них у налаштуваннях Docker/Worker.
  5. За потреби відредагуйте параметри в docker-compose.yml або відповідних конфігураціях (порт SIP, діапазон RTP тощо).
3

Запуск Worker

  1. Запустіть сервіс Docker:

    docker-compose up -d
    
  2. Переконайтеся, що контейнер Worker успішно запустився та слухає вказані порти.

  3. Перевірте логи контейнера (команда docker-compose logs) у разі виникнення помилок.

4

Підключення до Worker

  1. У боті @siptg_bot поверніться до /workers, оберіть створений Worker і натисніть “Адреса”.
  2. Введіть зовнішню адресу та порт, за якими доступний ваш сервер.
  3. Натисніть “Увімкнути”, щоб 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).

Налаштування власного Сховища

1

Отримання сертифікатів

  1. У боті @siptg_bot виконайте команду /storage і натисніть “Новий”.
  2. Бот надішле приватний ключ і сертифікат. Збережіть їх на сервер.
2

Підготовка сервера

  1. Встановіть і налаштуйте Docker / Docker Compose.
  2. Склонуйте шаблон конфігурації сховища (див. GitHub).
  3. Помістіть сертифікати в відповідні директорії (як вказано в docker-compose.yml).
  4. За потреби відредагуйте конфігураційні файли (порт для TCP, база даних тощо).
3

Запуск Сховища

  1. Виконайте в папці з конфігурацією:

    docker-compose up -d
    
  2. Перевірте логи контейнера (docker-compose logs) на наявність помилок.

  3. Переконайтеся, що вказаний TCP-порт доступний ззовні.

4

Підключення до Сховища

  1. Поверніться в боті @siptg_bot до /storage, оберіть своє сховище і натисніть “Адреса”.
  2. Вкажіть зовнішню адресу та порт, за якими платформа SIP.TG зможе підключитися.
  3. Натисніть “Увімкнути”, щоб перевірити доступність. Якщо все гаразд, сховище буде Online.

Використання сховища

  • Створюючи нову сесію Telegram (у режимі /gateway), обирайте ваше Сховище.
  • Перенести вже створену сесію в інше сховище неможливо, але можна перестворити сесію без видалення SIP-підключень.

Поширені запитання (FAQ)

Для повноцінної роботи Worker і Сховища потрібне стабільне з’єднання з платформою SIP.TG (менеджером). Переконайтеся, що ваш сервер може звертатися до інтернету без блокувань і що порти не фільтруються брандмауером.