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

# 22. Телефония

> SIP-транк, входящие и исходящие маршруты, лимиты и caller ID.

# Телефония: транк и маршруты

<Info>
  **Цель модуля:** подключить SIP-транк оператора и понять, чем входящий маршрут отличается от исходящего.
</Info>

<Frame caption="/telephony — один транк, у него входящий номер с привязанным агентом и исходящий маршрут. Кнопка «Позвонить» — быстрая проверка транка живым звонком, «Доступ» — управление доступом к транку.">
  <img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/tutorial/tut-44-telephony-list.webp?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=569ab2998c99cd39776beef6dbd76d5d" alt="Раздел «Телефония»: транк со входящим и исходящим маршрутами" width="1280" height="178" data-path="images/tutorial/tut-44-telephony-list.webp" />
</Frame>

Модель двухуровневая, и это стоит понять один раз:

* **Транк** — соединение с SBC оператора: хост, порт, транспорт, аутентификация. Пароль в поле не пишется: указывается **имя переменной окружения**, значение живёт в секрет-сторе и не попадает ни в БД, ни в логи.
* **Маршруты (сабгруппы)** — то, чем реально пользуются:
  * **входящий** = номер + **ровно один** агент, который отвечает на звонки на этот номер (только опубликованный — боевые звонки идут по опубликованной версии);
  * **исходящий** = набор caller ID + сколько угодно агентов + разрешённые направления и лимиты (одновременных звонков и звонков в минуту) + политика выбора номера;
  * **перевод** = то же, что исходящий, но только для звонков оператору: свои номера, свои лимиты, свой префикс из пяти цифр (у исходящего — четыре). Настройки обзвона на переводы не распространяются. Эту сабгруппу выбирают в узле перевода — см. [Перевод на человека](/ru/v4/tutorial/transfer).

## С какого номера уйдёт звонок

Если в исходящей сабгруппе несколько caller ID, выбор между ними делает настройка **Выбор исходящего номера** в карточке сабгруппы: **Случайный из списка** (по умолчанию) или **По кругу по списку**.

Политика срабатывает везде, где номер не задан явно: кабинет, публичный API без указания номера, каждая попытка кампании. В формах звонка и кампании для этого есть вариант **По политике сабгруппы**.

Кандидаты — пул сабгруппы в пересечении с тем, что разрешает маршрут. Пустое пересечение даёт понятный отказ, а не звонок с чужого номера. Выбранный номер закреплён за звонком: нога перевода уходит с того же номера, с которого набирали.

<Note>
  **Ротация номеров не включается сама по себе.** Пул из сотен номеров звонит так, как задано политикой сабгруппы, — если ротация вам нужна, проверьте, что в карточке выбран «Случайный из списка» или «По кругу по списку».
</Note>

<Frame caption="Форма транка: слева входящие маршруты и передача X-заголовков в переменные сессии, справа — подключение к SBC и исходящие маршруты с caller ID, разрешёнными направлениями и лимитами." hint="Нажмите, чтобы открыть целиком">
  <img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/tutorial/tut-45-telephony-trunk-form.webp?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=6b6be5b0a9be88235510789a3570429e" alt="Форма редактирования SIP-транка: основное, входящие маршруты, подключение к SBC, исходящие маршруты" style={{ width: "100%", height: "620px", objectFit: "cover", objectPosition: "top", borderRadius: "6px" }} width="1100" height="1344" data-path="images/tutorial/tut-45-telephony-trunk-form.webp" />
</Frame>

<Warning>
  **Три ошибки, которые стоят суток отладки**

  * **Разрешённые направления пустые.** Пусто = «звонить куда угодно». Всегда ограничивайте префиксом (например `7`) — это защита от дорогого исходящего мусора при ошибке в файле контактов.
  * **Лимиты по умолчанию.** 10 одновременных и 30 в минуту — начальные значения; оператор может резать больше, и тогда часть звонков просто не уйдёт.
  * **Привязан черновик, а не версия.** Входящий агент обязан быть опубликован, иначе на номер отвечать некому.
</Warning>

<Info>
  **Что запросить у оператора в Казахстане**

  Минимальный список: хост и порт SBC, транспорт (обычно UDP), способ аутентификации (регистрация с логином/паролем или доверие по IP), номера для caller ID, ограничения по одновременным вызовам и требования к формату номера (с `+` или без, нужен ли префикс выхода). Префикс набора задаётся в исходящем маршруте, а не в агенте.
</Info>
