h1. Аутентификация по префиксу {{>toc}} h2. Идея Предположим, вы хотите идентифицировать оригинатора _SomeOriginator_ по префиксу Б-номера. Это может быть нужно, например, если вы предоставляете различный набор/качество услуг одному и тому же клиенту и хотите разделить оказание услуг префиксом Б-номера. Например, звонки от клиента, приходящие с префиксом 000, считаются +Премиальными+. Эти звонки вы хотите маршрутизировать на терминаторов с хорошим качеством. Соответственно, цена таким звонков для оригинатора может быть выше, чем обычных, и вы хотите оценивать их по специальному биллинговому пакету. h2. Реализация 1. Сконфигурируйте 2 оригинатора: _SomeOriginator_ и _SomeOriginator_premium_. У них должны быть одинаковые настройки канального уровня, например, SIP. 2. Для оригинатора _SomeOriginator_ сконфигурируйте правила маршрутизации и биллинговый пакет для обычных звонков. 3. Для оригинатора _SomeOriginator_preminum_ сконфигурируйте правила маршрутизации и биллинговый пакет для премиальных звонков. 4. На обоих оригинаторах установите такой обработчик вызовов: !prefix_auth.gif! h2. Как это работает 1. Для звонков с префиксом 000 происходит вход в ветку "_000X.". В этой ветке используем приложение [[Переключить контекст]] для переключения контекста на пир _SomeOriginator_premium_. Затем Выполняем приложение [[Софтсвитч]]. 1. Для всех остальных звонков происходит вход в ветку "_X.". Звонок с префиксом 000 сюда не зайдет, поскольку ветвь "_000X." дает более полное совпадение по шаблону. В этой ветке используем приложение [[Переключить контекст]] для переключения контекста на пир _SomeOriginator_. Затем выполняем приложение [[Софтсвитч]]. При входящем вызове система может выбрать любой из этих оригинаторов в качестве текущего контекста. Однако, поскольку данный обработчик установлен на обоих оригинаторах, на какой бы из них не пришел вызов, будет соблюдено разделение по префиксу и корректный [[Биллинг]]/[[Маршрутизация звонков]]. h2. Аутентификация по префиксу А-номера. Аналогичная схема может быть сконфигурирована, если требуется разделять предоставление услуг на основании А-номера, приходящего от оригинатора. Конфигурирование будет аналогичным, за исключением того, что нужно указать шаблон не Б-номера, а А-номера в элементе [[Расширение Шаблон]]. Шаблон Б-номера нужно указать как _X. в обоих ветвях. h2. Реализация для более новых версий Smartswitch В более новых версиях Smartswitch в [[Обработчик вызовов|Обработчике вызовов]] присутствует элемент [[Префикс авторизация]], который самостоятельно выполняет все вышеописанное. Достаточно, чтоб оба оригинатора: # имели одинаковые настройки в Технологиях # были заведены под одной и той же Компанией # были сконфигурированы с стандартным обработчиком вызовов _softswitch_prefix_auth_ # имели сконфигурированные [[Regex шаблоны|Шаблоны замены]] набранного номера, номера звонящего и имени звонящего, по которым можно выполнить аутентификацию. Система сама подберет наиболее подходящего оригинатора, учитывая [[Regex шаблоны|Шаблоны замены]] набранного номера, номера звонящего и имени звонящего, сконфигурированные на оригинаторах. h2. См. также * [[Конфигурирование софтсвитча]] [[Prefix authentication|English translation]]