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

Аутентификация

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

Аутентификация — первое, что коммутатор делает с новым звонком: он определяет, какому Account (аккаунт) принадлежит звонок. Всё остальное даёт уже аккаунт: тариф, баланс и группу маршрутизации. Звонок, который не удаётся сопоставить с аккаунтом, отклоняется раньше, чем успевает что-то стоить, и не оставляет CDR.

Аутентификация: SIP digest или правила аутентификации ведут к аккаунту

В FlySIP есть два метода, и один аккаунт может использовать оба одновременно.

SIP digest. Звонящее устройство отправляет имя пользователя и пароль вместе с INVITE. Коммутатор сравнивает их с VoIP Login (VoIP-логин) и VoIP Password (VoIP-пароль) аккаунтов. Только этот метод позволяет устройству зарегистрироваться на коммутаторе, а это нужно, чтобы принимать on-net звонки и звонки на DID. Это метод для софтфонов, IP-телефонов и ATA.

Правила аутентификации. Коммутатор сравнивает пять атрибутов входящего звонка с Authentication Rules (правила аутентификации) всех аккаунтов:

Атрибут Поле правила Сопоставление
Удалённый IP-адрес Remote IP Address точное
Номер звонящего Incoming CLI/ANI точное или шаблон с * (любое окончание) и ? (любая одна цифра)
Вызываемый номер Incoming CLD/DNIS точное или те же шаблоны
Домен в заголовке To To Domain точное или суффикс с * в начале
Домен в заголовке From From Domain точное или суффикс с * в начале

Правило срабатывает, когда каждое заполненное поле совпадает со звонком; пустые поля совпадают с чем угодно. Protocol (протокол) задан всегда: SIP для обычного трафика, Calling Card PIN для правил, которые проверяются, когда IVR запрашивает номер карты.

Когда совпадает несколько правил, коммутатор выбирает самое конкретное:

  1. Правило с совпавшим CLD побеждает любое правило с пустым CLD. Среди таких правил совпавший CLI побеждает пустой CLI, дальше так же сравниваются Remote IP, To Domain и From Domain.
  2. Для номеров точное значение побеждает шаблон, шаблон только с ? побеждает шаблон с *, а из двух шаблонов выигрывает тот, в котором больше конкретных цифр.
  3. Для доменов точный домен побеждает суффикс, а более длинный суффикс выигрывает у более короткого. Суффикс сопоставляется буквально: *.example.com совпадает с sip.example.com, но не с example.com.

Два одинаково конкретных правила делают звонок неоднозначным. Коммутатор отвечает 401 Unauthorized, и пройти может уже только digest-аутентификация. Инсталляции, обновлённые со старых версий, могут всё ещё использовать устаревший порядок на основе весов; системный параметр system/sip/authentication/attr_order переключает между default и old_style.

Правило может иметь собственные Tariff (тариф) и Routing Group (группа маршрутизации) в разделе Advanced Parameters (дополнительные параметры). Они заменяют настройки аккаунта для звонков, сопоставленных с этим правилом, поэтому один аккаунт может иметь несколько ценовых уровней, например отдельно для каждого IP-адреса, с которого приходят звонки. Max Sessions (максимум сессий) и Max Calls Per Second (максимум звонков в секунду) в правиле ограничивают трафик из этого источника.

  • Account — SIP-идентичность (логин и пароль или IP-адрес), которая принадлежит клиенту, совершает и принимает звонки и имеет собственный баланс.
  • Authentication Rule — правило, которое сопоставляет входящие звонки с аккаунтом по удалённому IP-адресу, CLI, CLD или домену.
  • CLI (номер звонящего) — номер звонящего абонента (ANI), который передаётся вместе со звонком.
  • DID (входящий номер) — телефонный номер, который завершается на коммутаторе и назначен аккаунту или IVR-приложению.
  • Trunk (транк) — SIP-подключение от АТС клиента, которое отправляет звонки без регистрации.

Оптовый клиент отправляет звонки с фиксированного IP-адреса

Заголовок раздела «Оптовый клиент отправляет звонки с фиксированного IP-адреса»

Одно правило только с Remote IP Address. Добавьте второе правило с тем же IP-адресом и шаблоном CLI, если клиент хочет другой тариф для части своего трафика. Именно так настроены Быстрый старт: оптовый бизнес и IP-to-IP аутентификация.

Один IP-адрес отправляет трафик нескольких клиентов

Заголовок раздела «Один IP-адрес отправляет трафик нескольких клиентов»

Вендор, который доставляет звонки, использует один шлюз для всех, поэтому IP-адрес сам по себе неоднозначен. Дайте каждому аккаунту правило с этим IP-адресом и вдобавок префиксом CLI или To Domain, который идентифицирует клиента. Правила с CLI имеют приоритет над правилами только с IP-адресом, так что общее правило для шлюза может оставаться на месте.

Входящие звонки на DID должны доходить до зарегистрированного телефона

Заголовок раздела «Входящие звонки на DID должны доходить до зарегистрированного телефона»

Совместите оба метода. Телефон регистрируется с digest-учётными данными. DID — это правило на том же аккаунте, где Incoming CLD/DNIS равно номеру, а Remote IP Address при необходимости равно адресу шлюза поставщика DID. Правило аутентифицирует звонок на аккаунт, и звонок доставляется на зарегистрированное устройство. Смотрите Создание DID и назначение его аккаунту.

Блокировка нескольких направлений для одного аккаунта

Заголовок раздела «Блокировка нескольких направлений для одного аккаунта»

Правило, у которого Incoming CLD/DNIS совпадает с направлением и которое ведёт к тарифу, где префикс отмечен как Forbidden (запрещено), блокирует эти звонки. Звонки, отклонённые на этапе аутентификации, получают 403 и не записываются в CDR. Для длинных списков вместо этого используйте Rules & Lists или DNC List: они созданы именно для этого, и правила остаются читаемыми.