> ## Documentation Index
> Fetch the complete documentation index at: https://www.sip.tg/llms.txt
> Use this file to discover all available pages before exploring further.

# Модули Worker и Storage

export const bot = {
  ACTIVATE_TARIFF_PLAN: "Активировать подписку",
  ADDRESS: "Адрес",
  ADDRESS_PORT: "Адрес:порт",
  ADMIN_ASSIGN: "Назначить администратора",
  APPLY: "Применить",
  ARBITRARY_CHECK: "Обработка сообщений",
  AUTORENEW: "Автопродление",
  AUTOREPLY: "Автоответ",
  BACK: "Назад",
  BACK_TO_PAYMENT: "Вернуться к оплате",
  BALANCE_TRANSFER: "Перевести",
  BILLING: "Реквизиты",
  BTN_CHARGE_REDIRECT: "Подтвердить списание",
  BTN_EMPTY_BOT: "Inline бот",
  BTN_TARIFF_NEW: "Подключить",
  CALLBACK_CHECK: "Callback",
  CALLBACK_SWITCH_OFF: "Отключить режим Callback",
  CALLBACK_SWITCH_ON: "Включить режим Callback",
  CALLER_NAME: "Имя звонящего",
  CALLER_PHONE: "Номер звонящего",
  CANCEL: "Отмена",
  COMMENT: "Комментарий",
  CONFIGURE_ACCOUNT_ALLOW_EVERYBODY: "Разрешить звонки ото всех пользователей",
  CONFIGURE_ACCOUNT_ALLOW_P2P: "Разрешить P2P звонки ото всех",
  CONFIGURE_ACCOUNT_DISALLOW_GROUPS: "Запретить добавление в группы",
  CONFIGURE_ACCOUNT_OFF_OTHER_SESSIONS_CALLS: "Отключить звонки на других устройствах",
  COUNTRY: "Страна",
  DELETE: "Удалить",
  DESCRIPTION: "Описание",
  DIAL_RULES: "Правила набора",
  DOC_BTN_PROVIDE: "Предоставить документацию",
  DOMAIN: "Домен",
  DTMF_METHODS: "DTMF методы",
  FIELD_VALUE: "Поле:Значение",
  FORMATS: "Аудио кодеки",
  FW_ADD: "Добавить номер телефона",
  FW_ADD_OTHER: "Другой номер",
  FW_ADD_SELF: "Номер Telegram",
  FW_ANTISPAM: "Анти-спам",
  FW_BACK: "Назад",
  FW_BONUS_PROGRAM: "Реферальная программа",
  FW_CANCEL: "Отмена",
  FW_DELETE: "Удалить",
  FW_NAME: "Имя",
  FW_NO: "Нет",
  FW_PHONE_FORWARDING: "Напомнить номер",
  FW_RECORDER_CHAT: "Чат для записей",
  FW_RECORDER_CHECKBOX: "Запись звонков",
  FW_SELECT_COUNTRY: "Выбрать страну (регион)",
  FW_SHARE_PHONE: "Отправить номер телефона",
  FW_TELL_FRIENDS: "Рассказать друзьям",
  FW_YES: "Да",
  GATEWAY_IN_RESET: "Сбросить пароль",
  GATEWAY_IN_SHOW: "Показать аккаунт",
  GATEWAY_OUT_NUMBER: "Номер на АТС",
  GENERATE_NEW: "Сгенерировать новый",
  GIVE_ACCESS: "Предоставить доступ",
  GIVE_PHONE_NUMBER: "Предоставить номер телефона",
  HELP: "Помощь",
  INLINE_QUERY: "Inline запрос",
  INVOICE_BANK_IGNORE_CURRENT_RATE: "Игнорировать курс валюты",
  KEYPAD_IN: "DTMF вх.",
  KEYPAD_OUT: "DTMF исх.",
  KEYS_GET: "Получить ключи",
  KEYS_RESET: "Сбросить ключи",
  LEARN_ABOUT: "Узнать о SIP.TG",
  LINES: "Линии",
  LINES_CHECK: "Линии",
  LOGIN: "Логин",
  MANUAL: "Вручную",
  MODE_GATEWAY: "Режим Шлюз",
  MODE_SOFTPHONE: "Режим Софтфон",
  NAME: "Имя",
  NEW: "Новый",
  NEW_IN: "🆕 PBX→SIP․TG",
  NEW_IP: "🆕 IP⇿IP",
  NEW_OUT: "🆕 SIP․TG→PBX",
  NO: "Нет",
  PARALLEL_DECLINE: "Отклонить",
  PARALLEL_END: "Завершить",
  PARALLEL_SWITCH: "Переключить",
  PARALLEL_TRANSFER: "Перевести",
  PASSWORD: "Пароль",
  PAYER: "Плательщик",
  PAYSYSTEM_BTN_VERIFY: "Указать страну проживания",
  PAYSYSTEM_DOCS_PROVIDE: "Предоставить документы",
  PAYSYSTEM_METHOD: "Способ оплаты",
  PAY_TARIFF: "Оплатить",
  PROLONG: "Продлить",
  PROMO_BUTTON_EMPTY: "Код скидки",
  RECONNECT: "🔄 Переподключить",
  RECORDER_ACTIVATE: "🔴 Начать запись",
  RECORDER_ACTIVATE_FAILED: "⚠️ Начать запись",
  RECORDER_CHAT: "Чат для записей",
  RECORDER_CHECKBOX: "Запись звонков",
  RECORDER_DEACTIVATE: "🟥 Остановить запись",
  RECORDER_DEACTIVATE_RECONNECTING: "⌛ Остановить запись",
  RECORDER_LOCKED: "🔒 Запись ограничена",
  REDIAL: "Перезвонить",
  REDIAL_CHECK: "Перезвонить",
  REGISTRAR: "Прокси",
  REPEAT: "Повторить",
  SELECT_BOT: "Выбрать бота",
  SELECT_CHANNEL: "Выбрать канал",
  SELECT_CHAT: "Выбрать чат",
  SELECT_USER: "Выбрать пользователя",
  SERVER_FROM_TEMPLATE: "Шаблоны настроек",
  SESSION_BILLER_CHECK: "Использовать общую подписку",
  SESSION_CONFIGURE_ACCOUNT: "Настроить аккаунт Telegram",
  SESSION_LOGIN: "Подключить",
  SESSION_LOGOUT: "Отключить",
  SETTINGS: "Настройки",
  START_CALLING: "Перейти к звонкам",
  SUPPORT: "Поддержка",
  SWITCH_OFF: "Отключить",
  SWITCH_ON: "Включить",
  TAKE: "Получить",
  TARIFF_ACTIVATE_CHANGE_USER: "Изменить заказчика",
  TARIFF_ACTIVATE_USER: "Активировать заказчику",
  TARIFF_ACTIVATE_YOURSELF: "Активировать себе",
  TAX_ADDRESS: "Адрес",
  TAX_BUSINESS: "Бизнес",
  TAX_NAME: "Покупатель",
  TAX_NUMBER: "Налоговый номер",
  TERMINATE_SESSION: "Завершить сессию",
  TERMS_AGREE: "Соглашаюсь с Правилами и Условиями",
  TG_STORAGE_OFFICIAL: "✅ Хранилище сессий SIP․TG",
  TRANSFER: "Передать",
  TRANSFER_BACK: "Передать обратно",
  TRUSTED_IPS: "Доверенные IP",
  UNLINK: "Отвязать",
  USER: "Пользователь",
  VERIFY_ROUTE_BAD: "👎 Нет, это спам",
  VERIFY_ROUTE_GOOD: "👍 Да, всё хорошо",
  VERIFY_ROUTE_RECOVER: "Восстановить входящие звонки",
  WORKER_AUTO: "Автоматически",
  YES: "Да"
};

В платформе SIP.TG предусмотрена возможность запускать **свои** серверные модули:

* **Worker** — отвечает за обработку/преобразование голосовых данных (SIP ↔ Telegram).
* **Хранилище сессий** (Storage) — хранит ключи и данные доступа к аккаунтам Telegram.

Эти модули можно разместить на собственном сервере в Docker-контейнере, с выделенным IP-адресом и гарантированной доступностью. Ниже описано, как это устроено и какие шаги нужны для настройки.

<a id="worker" />

## Worker-серверы

<Info>
  Worker обрабатывает и конвертирует аудиопотоки из SIP в формат Telegram и обратно в реальном времени.
</Info>

<a id="worker-what-for" />

### Зачем нужны Worker-серверы

* **Гарантия производительности**: вы сами выбираете оборудование, масштабируете под нужную нагрузку.
* **Минимальная задержка**: можно расположить Worker как можно ближе к вашей АТС, чтобы уменьшить RTT.
* **Конфиденциальность**: голосовые потоки не передаются на публичные сервера SIP.TG — вы самостоятельно обрабатываете аудиоданные.
* **Доступ к приватным сетям**: при желании Worker может работать в локальной (ограниченной) сети и получать SIP-трафик напрямую от АТС.

<a id="worker-requirements" />

### Системные требования (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).

<a id="worker-setup" />

### Настройка собственного Worker

<Steps>
  <Step title="Получение сертификатов">
    1. В боте [@siptg\_bot](https://t.me/siptg_bot?start=utm_docs) выполните команду `/workers` и нажмите **{bot.NEW}**.
    2. Вам будут высланы 2 файла: приватный ключ и сертификат для безопасного соединения с платформой SIP.TG.
    3. Сохраните их и не передавайте третьим лицам.
  </Step>

  <Step title="Подготовка сервера">
    1. Установите обновления ОС (при необходимости).
    2. Установите Docker и Docker Compose.
    3. Склонируйте или скачайте шаблон конфигурации Worker (см. [GitHub](https://github.com/siptg/worker)).
    4. Скопируйте полученные из бота сертификаты на сервер и укажите пути к ним в настройках Docker/Worker.
    5. При необходимости отредактируйте параметры в `docker-compose.yml` или в соответствующих конфигурациях (порт SIP, диапазон RTP и т.д.).
  </Step>

  <Step title="Запуск Worker">
    1. Запустите сервис Docker:

       ```bash theme={null}
       docker-compose up -d
       ```
    2. Убедитесь, что контейнер Worker успешно поднялся и слушает указанные порты.
    3. Проверьте логи контейнера (команда `docker-compose logs`) при возникновении ошибок.
  </Step>

  <Step title="Подключение к Worker">
    1. В боте [@siptg\_bot](https://t.me/siptg_bot?start=utm_docs) вернитесь в `/workers`, выберите созданный Worker и нажмите **{bot.ADDRESS}**.
    2. Введите внешний адрес и порт, по которому доступен ваш сервер.
    3. Нажмите **{bot.SWITCH_ON}**, чтобы SIP.TG проверил соединение. Если всё нормально, Worker перейдёт в статус «Онлайн».
  </Step>
</Steps>

<a id="worker-mode" />

### Публичный или личный режим

После включения Worker можно указать:

* **Личный** (иконка 🔑) — только владелец и администрируемые сессии Шлюза могут использовать Worker.
* **Публичный** (иконка 🌐) — Worker будет доступен всем пользователям SIP.TG.

<a id="worker-limitations" />

### Ограничения для пользовательских Worker

* Подключения типа **PBX→SIP.TG** на пользовательском Worker по умолчанию запрещены.
* В случае отказа/недоступности Worker более 30 минут платформа может отключить связанные SIP-аккаунты.

<a id="storage" />

## Хранилище сессий Telegram

<Info>
  Хранилище (Storage) — сервер, на котором хранятся ключи и данные для входа в Telegram-аккаунты. Без него сессии Telegram живут в «облаке» SIP.TG, но при желании вы можете хранить всё у себя.
</Info>

<a id="storage-what-for" />

### Что даёт собственное Хранилище

* **Полный контроль**: конфиденциальность доступа к аккаунтам Telegram, все ключи хранятся на вашем сервере.
* **Неограниченное число аккаунтов** (с учётом вашей подписки) в одном хранилище.
* **Гибкая настройка**: ограничение на команды и события.

<a id="storage-requirements" />

### Системные требования

* Docker CE / Docker Compose (Linux).
* Выделенный IP-адрес (или проброс TCP порта) для соединения от SIP.TG.
* Модуль использует библиотеку TDLib, поэтому достаточно 1–2 ГБ RAM (но зависит от числа аккаунтов Telegram).

<a id="storage-setup" />

### Настройка собственного Хранилища

<Steps>
  <Step title="Получение сертификатов">
    1. В боте [@siptg\_bot](https://t.me/siptg_bot?start=utm_docs) выполните команду `/storage` и нажмите **{bot.NEW}**.
    2. Бот пришлёт приватный ключ и сертификат. Сохраните их на сервер.
  </Step>

  <Step title="Подготовка сервера">
    1. Установите и настройте Docker / Docker Compose.
    2. Склонируйте шаблон конфигурации хранилища (см. [GitHub](https://github.com/siptg/storage)).
    3. Поместите сертификаты в соответствующие директории (как указано в `docker-compose.yml`).
    4. При необходимости отредактируйте конфигурационные файлы (порт для TCP, база данных и т.п.).
  </Step>

  <Step title="Запуск Хранилища">
    1. Выполните в папке с конфигурацией:

       ```bash theme={null}
       docker-compose up -d
       ```
    2. Проверьте логи контейнера (`docker-compose logs`) на предмет ошибок.
    3. Убедитесь, что указанный TCP-порт доступен извне.
  </Step>

  <Step title="Подключение к Хранилищу">
    1. Вернитесь в боте [@siptg\_bot](https://t.me/siptg_bot?start=utm_docs) в `/storage`, выберите своё хранилище и нажмите **{bot.ADDRESS}**.
    2. Укажите внешний адрес и порт, по которому платформа SIP.TG сможет подключиться.
    3. Нажмите **{bot.SWITCH_ON}**, чтобы проверить доступность. Если всё OK, хранилище будет Online.
  </Step>
</Steps>

<a id="storage-usage" />

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

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

<a id="faq" />

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

<AccordionGroup>
  <Accordion title="Что если мой Worker (или Storage) вдруг станет недоступен?">
    Платформа SIP.TG периодически проверяет соединение. Если сервер не отвечает более 30 минут, Worker/Storage переключится в статус «Отключено». Все SIP-аккаунты, работающие через этот Worker, станут неактивны. Хранилище — перестанет обслуживать обращения. Возобновить работу можно, восстановив доступность сервера и вновь включив модуль в боте.
  </Accordion>

  <Accordion title="Можно ли использовать только Worker без собственного Storage (или наоборот)?">
    Да. Эти модули независимы. Вы можете хранить сессии Telegram в облаке SIP.TG, но обрабатывать SIP-потоки на своём Worker. Или наоборот: использовать публичные Worker-серверы, но хранить сессии у себя.
  </Accordion>

  <Accordion title="Насколько трудоёмко обслуживать эти модули?">
    Основная задача — поддерживать Docker-контейнеры в рабочем состоянии, обновлять ПО (образ Worker/Storage) по мере выхода новых версий, следить за доступностью сети. Если у вас нет собственного DevOps-специалиста, проще использовать публичные ресурсы SIP.TG.
  </Accordion>

  <Accordion title="Как насчёт безопасности и лицензирования?">
    * Все соединения между платформой SIP.TG и вашими модулями шифруются с помощью сертификатов.
    * По умолчанию используются образы Docker на базе Ubuntu. Все дополнительные зависимости предустановлены.
    * Лицензия и условия использования см. в репозиториях GitHub.
  </Accordion>

  <Accordion title="Как предоставить другим пользователям доступ к моему Worker?">
    Измените режим Worker на «Публичный». Тогда любой пользователь SIP.TG сможет назначить себе ваш Worker. Вы также можете оставить Worker «Личным», но использовать его только некоторыми из своих SIP-аккаунтов в боте [@siptg\_bot](https://t.me/siptg_bot?start=utm_docs).
  </Accordion>
</AccordionGroup>

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