h1. Замена номеров {{>toc}} *Замена номеров* - процесс замещения набранного или звонящего ID по определенным правилам. Правила замены конфигурируются на пирах (см. [[Типы пиров]]) и должны быть в формате [[Regex шаблоны|Regex шаблонов]]. h2. Замена номеров при маршрутизации Замена номеров производится автоматически в процессе [[Маршрутизация звонков|Маршрутизации]] (более подробно о логике работы смотрите в разделе [[Маршрутизация звонков]]). При этом конфигурировать что-либо дополнительно в [[Обработчик вызовов|Обработчике вызовов]] не требуется. h3. Замена номеров входящего звонка При автоматической замене номеров при маршрутизации входящего звонка используется следующая логика. В случае, если на входящем пире сконфигурирована [[Замена номеров]], система пытается заменить номера (звонящий ID или набранный ID) в соответствии с правилами. После замены система использует полученные замененные номера для маршрутизации по кода направления и [[Биллинг|Биллинга]]. Обычно замена номеров используется для обрезания технических префиксов, чтою привести номера в формат E.164 для корректного биллинга. Если правила сконфигурированы таким образом, что замену не удается произвести, то маршрутизация прекращается. Вы можете использовать это свойство для пропускания лишь определенных наборов набранных или звонящих ID. Если же вы хотите заменыть определенные номера, а остальные пропускать без изменения, вам нужно в конце списка установить *wildcard* замену .* -> &. Более подробно эта замена рассмотрена в разделе [[Regex шаблоны]]. Если же правила замены не сконфигурированы, то считается что маршрутизация будет продолжаться без замены номеров. h3. Замена номеров исходящего звонка При автоматической замене номеров для исходящего звонка при построении таблицы маршрутизации используется следующая логика. В случае, если на исходящем пире сконфигурирована [[Замена номеров]], система пытается заменить номера (звонящий ID или набранный ID) в соответствии с правилами. После замены система использует полученные замененные номера для генерации исходящего вызова. Обычно замена номеров используется для добавления технических префиксов к номерам E.164. Если правила сконфигурированы таким образом, что замену не удается произвести, то маршрут на данного пира не включается в таблицу маршрутизации. Вы можете использовать это свойство для пропускания лишь определенных наборов набранных или звонящих ID на терминирующего пира. Если же вы хотите заменыть определенные номера, а остальные пропускать без изменения, вам нужно в конце списка установить *wildcard* замену .* -> &. Более подробно эта замена рассмотрена в разделе [[Regex шаблоны]]. Если же правила замены не сконфигурированы, то считается что генерация исходящего вызова будет продолжаться без замены номеров. h2. Замена номеров без маршрутизации Если при обработке вызова не используется система автоматической [[Маршрутизация звонков|Маршрутизации]], а обработка происходит по сконфигурированному вручную [[Обработчик вызовов|Обработчику вызовов]], в котором напрямую вызываются исходящие пиры через элемент [[Набрать]], и вы хотите, чтоб номера заменялись по сконфигурированным правилам из настроек пира (например, [[Замена номеров|Шаблоны замены номеров]]), то потребуется дополнительно активировать эту функцию. h3. Свежая версия Smartswitch Требуется дополнительно включить в элементе [[Набрать]] опцию Настройки -> *заменить ID звонящего/набранного*. Никаких дополнительных настроек не требуется. h3. Более старые версии Smartswitch Эта часть иструкции для более старых версий Smartswitch, где нет опции Настройки -> *заменить ID звонящего/набранного* в элементе [[Набрать]]. Необходимо воспользоваться приложением [[Заменить]], добавив вызов этого приложения в обработчике вызовов. Приложение [[Заменить]] может использоваться совместно с инструкцией [[Смена А-номера из обработчика вызовов]]. h4. Биллинг. Для того чтоб номера попадали в биллинг в правильном формате, при замене номеров через обработчик вызовов через вызов приложения [[Заменить]] требуется конфигурировать, какие именно номера сохранятся в биллинге. Реальные набранные/звонящие номера всегда попадают в CDR (поля +реальный звонящий ID+ и +реально набранный ID+ в [[Детальный отчет по звонкам|Детальном отчете по звонкам]]). Набранные/звонящие номера, по которым выполняется биллинг (поля +звонящий ID+ и +набранный ID+ в [[Детальный отчет по звонкам|Детальном отчете по звонкам]]) по умолчанию устанавливаются в те же значения, что реальные. Для того, чтоб заменить их, воспользуйтесь функцией [[Функция CDR|CDR]] и приложением [[Установить]]. Добавьте в элемент [[Установить]] такие значения: |имя|значение| |
CDR(__CALLER_ID)
|А номер| |
CDR(__CALLEE_ID)
|Б номер| Здесь, А и Б номера - номера, по которым будет сделан биллинг и которые запишутся в поля +звонящий ID+ и +набранный ID+ в [[Детальный отчет по звонкам|Детальном отчете по звонкам]]. Вставьте этот код перед вызовом [[Набрать]] в любом месте обработки вызова. Двойное подчеркивание нужно для того, чтоб переменная перенеслась на исходящий вызов и было записано в исходящий CDR. [[Number replacement|English translation]]