Модули 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
- Подключения типа 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).
Настройка собственного Хранилища
Получение сертификатов
- В боте @siptg_bot выполните команду
/storage
и нажмите «Новый». - Бот пришлёт приватный ключ и сертификат. Сохраните их на сервер.
Подготовка сервера
- Установите и настройте Docker / Docker Compose.
- Склонируйте шаблон конфигурации хранилища (см. GitHub).
- Поместите сертификаты в соответствующие директории (как указано в
docker-compose.yml
). - При необходимости отредактируйте конфигурационные файлы (порт для TCP, база данных и т.п.).
Запуск Хранилища
-
Выполните в папке с конфигурацией:
-
Проверьте логи контейнера (
docker-compose logs
) на предмет ошибок. -
Убедитесь, что указанный TCP-порт доступен извне.
Подключение к Хранилищу
- Вернитесь в боте @siptg_bot в
/storage
, выберите своё хранилище и нажмите «Адрес». - Укажите внешний адрес и порт, по которому платформа SIP.TG сможет подключиться.
- Нажмите «Включить», чтобы проверить доступность. Если всё OK, хранилище будет Online.
Использование хранилища
- Создавая новую сессию Telegram (в режиме
/gateway
), выбирайте свой Storage. - Перенести уже созданную сессию в другое хранилище невозможно, однако можно пересоздать сессию без удаления SIP-подключений.
Частые вопросы (FAQ)
Для полноценной работы Worker и Storage требуется стабильное соединение с платформой SIP.TG (менеджером). Убедитесь, что ваш сервер может обращаться к интернету без блокировок и что порты не фильтруются брандмауэром.