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

  • Подключения типа PBX→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. Нажмите «Включить», чтобы проверить доступность. Если всё OK, хранилище будет Online.

Использование хранилища

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

Частые вопросы (FAQ)

Для полноценной работы Worker и Storage требуется стабильное соединение с платформой SIP.TG (менеджером). Убедитесь, что ваш сервер может обращаться к интернету без блокировок и что порты не фильтруются брандмауэром.