Перейти к содержимому

Подтверждённая идентичность и приватность

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Между доверенными сетями настоящий номер абонента часто передаётся не в From, а в отдельном заголовке: P-Asserted-Identity (RFC 3325) или Remote-Party-ID. FlySIP превращает любой из этих заголовков в одну внутреннюю идентичность звонка. Затем вы можете аутентифицировать звонок по ней, передать её дальше, преобразовать в другой заголовок, сгенерировать её из CLI или подставить в From. Тот же механизм передаёт запрос абонента на приватность и скрывает номер, когда этого требует аккаунт.

Идентичность абонента: принимается и проверяется на аккаунте, генерируется, транслируется и отправляется на подключении вендора

  1. Получение. Коммутатор читает P-Asserted-Identity вместе с заголовком Privacy, а также Remote-Party-ID с party=calling вместе с заголовком RPID-Privacy. Privacy Schemas (схемы приватности) на аккаунте перечисляет принимаемые заголовки в порядке приоритета: pai, rpid или оба. Значение по умолчанию pai,rpid отдаёт предпочтение P-Asserted-Identity, когда абонент отправляет оба. Имя пользователя из выбранного заголовка становится идентичностью. Privacy: id или privacy=full, uri либо name в Remote-Party-ID означает, что абонент просит остаться анонимным.

  2. Аутентификация. Если на аккаунте включено Trust Privacy Headers (доверять заголовкам приватности), коммутатор также сопоставляет правила аутентификации с номером идентичности, а не только с CLI. Identity Auth Mode (режим аутентификации по идентичности) в System Management → SIP Features → SIP определяет, когда CLI всё ещё учитывается:

    Режим CLI используется для аутентификации
    Strict (по умолчанию) Только когда абонент не отправил ни одного заголовка идентичности
    Relaxed Когда ни одно правило не совпадает с идентичностью; сначала пробуется идентичность
    Mandatory Никогда; звонок должен пройти аутентификацию по идентичности

    Режим применяется только к аккаунтам с Trust Privacy Headers. Остальные аккаунты, как обычно, аутентифицируются по CLI.

  3. Передача дальше. Pass P-Asserted-Identity (передавать P-Asserted-Identity) на аккаунте позволяет полученной идентичности из любого из двух заголовков идти дальше к вендору. P-Asserted-Id Translation Rule (правило трансляции P-Asserted-Id) на аккаунте сначала её изменяет. Без этого параметра полученная идентичность и запрос абонента на приватность останавливаются на аккаунте.

  4. Генерация. Когда идентичность дальше не передаётся, подключение с Use CLI As Identity (использовать CLI как идентичность) создаёт её из CLI.

  5. Трансляция. Identity Tr. Rule (правило трансляции идентичности) на подключении изменяет исходящую идентичность, полученную или сгенерированную.

  6. Отправка. Send Identity As (отправлять идентичность как) на подключении выбирает заголовок для вендора: Off (по умолчанию), P-Asserted-Identity или Remote-Party-ID. Коммутатор формирует новый заголовок с идентичностью в качестве имени пользователя, собственным адресом в качестве хоста и именем абонента в качестве отображаемого имени. Он отправляет заголовок, только когда на подключении включено Trusted Privacy Domain (доверенный домен приватности), а это значение по умолчанию.

Use Identity As CLI (использовать идентичность как CLI) на подключении заменяет номер в From идентичностью после шага 5. Используйте его, когда вендор игнорирует заголовки идентичности, но должен видеть настоящий номер.

Звонок анонимный, когда на аккаунте включено Hide CLI (скрыть CLI) или когда абонент попросил приватности, а аккаунт передаёт идентичность дальше. Тогда коммутатор очищает CLI в From и отправляет Anonymous как имя абонента, независимо от значения Send Identity As. В зависимости от Send Identity As он также сообщает вендору:

Send Identity As Trusted Privacy Domain включено Trusted Privacy Domain выключено
P-Asserted-Identity P-Asserted-Identity и Privacy: id только Privacy: id
Remote-Party-ID Remote-Party-ID с privacy=full только RPID-Privacy: party=calling;privacy=full
Off ничего ничего

Таким образом, недоверенный вендор узнаёт, что абонент анонимный, но никогда не видит настоящего номера.

  • Account (аккаунт) — SIP-идентификатор (имя пользователя/пароль или IP), принадлежащий клиенту, который инициирует и принимает звонки и имеет собственный баланс.
  • Connection (подключение) — маршрут к вендору (SIP-хост, порт, протокол, кодеки), по которому маршрутизация отправляет звонки.
  • CLI (номер звонящего) — Calling Line Identification: номер абонента, отображаемый на исходящем звонке. В FlySIP это имя пользователя из заголовка From.
  • Authentication Rule (правило аутентификации) — правило, которое определяет аккаунт для входящего звонка по IP источника, CLI, набранному номеру или другим полям SIP вместо пароля.
  • Translation Rule (правило трансляции) — правило на основе регулярного выражения, которое изменяет номер вызываемого или звонящего перед тарификацией или маршрутизацией.

На аккаунте оставьте pai в Privacy Schemas и включите Pass P-Asserted-Identity. На подключении вендора установите для Send Identity As значение P-Asserted-Identity и оставьте Trusted Privacy Domain включённым. Добавьте P-Asserted-Id Translation Rule или Identity Tr. Rule, если вендор ожидает другой формат номера.

Установите для Privacy Schemas значение rpid и включите Pass P-Asserted-Identity на аккаунте. Установите для Send Identity As значение P-Asserted-Identity на подключении. Коммутатор преобразует заголовок; в обратном направлении это работает так же.

Всегда отправлять идентичность, сформированную из CLI

Заголовок раздела «Всегда отправлять идентичность, сформированную из CLI»

Выключите Pass P-Asserted-Identity на аккаунте и включите Use CLI As Identity на подключении. Тогда каждый звонок на это подключение содержит идентичность, равную CLI, независимо от того, что отправил абонент.

АТС отправляет общий номер в From и номер внутренней линии в P-Asserted-Identity

Заголовок раздела «АТС отправляет общий номер в From и номер внутренней линии в P-Asserted-Identity»

Включите Trust Privacy Headers и создайте правило аутентификации для номера, который АТС подставляет в P-Asserted-Identity. В режиме Strict решает идентичность, как только она присутствует; переключитесь на Mandatory, если звонки без идентичности должны завершаться ошибкой. Чтобы показать вендору идентичность вместо общего номера, включите Pass P-Asserted-Identity и Use Identity As CLI на подключении.

Screenshot "admin-panel/connection-advanced-parameters" has not been generated yet — see scripts/screenshots/screens.yml.