Обработка Caller ID и отличительный звонок в 3CX Phone System

от автора

К нам часто обращаются с просьбой разъяснить принцип обработки входящего и исходящего Caller ID в 3CX Phone System. В этой статье мы ответим на этот вопрос. Кроме того, мы опишем принцип работы функции, называемой Dictinctive Ring (отличительный звонок). Она нечастно используется в современных организациях, потому что ей на смену пришли возможности CRM интеграции. Однако, для быстрого понимания, откуда пришел вызов, отличительный звонок может быть полезен.

Внимание! В 3CX Phone System v14 SP3 вы можете отключить обработку Caller ID по форматуE164 (см. скриншот ниже).

Обработка Caller ID входящего вызова

Для обработки входящего Caller ID 3CX использует параметры, указанные в разделе интерфейса Параметры — АТС – e164.

image

3CX пытается определить тип вызова (номера), используя параметры, указанные в разделе Параметры — АТС – e164 (см. рис). Система проверяет входящий Caller ID слева направо.

Как система определяет, что номер, пришедший в международном формате, можно считать местным т.е. Caller ID принадлежит той же стране, в которой расположена система?

  • Впереди находится знак +, за которым следует код страны, указанный в разделе Параметры — АТС – e164, или
  • Впереди находится международный код набора, за которым следует код страны, указанный в разделе Параметры — АТС – e164, или
  • Впереди находится код страны, указанный в разделе Параметры — АТС – e164.

Если система видит, что Caller ID не принадлежит стране, в которой установлена система, т.е. номер имеет тип International (международный), — никакая обработка Caller ID не производится и он поступает на добавочный номер 3CX. Функция Distinctive Ringing (отличительного звонка), реализованная в 3CX, добавляет в вызову дополнительный заголовок Alert-info: international. IP телефон пользователя подаст сигнал в соответствии с настройками для международных вызовов.

Если система видит, что Caller ID принадлежит стране, в которой установлена система, то снова проверяется тип вызова: национальный (National) или городской (Local). При этом, если установлена опция Удалять, если в той же стране, проверяется только часть номера, не содержащая код страны.

Если Caller ID поступает в национальном формате, т.е. код региона не соответствует региону, в котором работает система (указанному в разделе Параметры — АТС – e164), никакая обработка номера не производится и он поступает на внутренний номер. Функция Distinctive Ringing добавляет в вызову дополнительный заголовок Alert-info: national. Номер поступает с отрезанной международной частью, поскольку была установлена опция Удалять, если в той же стране. IP телефон пользователя подаст сигнал в соответствии с настройками для национальных вызовов.

Если Caller ID начинается с кода региона, указанном в  Параметры — АТС – e164, то он распознается как городской. Если установлена опция Удалять, если в том же регионе, Caller ID (с отрезанной интернациональной и национальной частью) поступает на добавочный номер 3CX. Функция Distinctive Ringing добавляет в вызову дополнительный заголовок Alert-info: local. IP телефон пользователя подаст сигнал в соответствии с настройками для городских вызовов.

Обработка Caller ID исходящего вызова

3CX Phone System обрабатывает исходящий номер по Исходящим правилам, используя цифры набранного номера. В соответствии с совпавшим Исходящим правилом выбирается нужный маршрут (SIP линия или шлюз).

3CX Phone System должна явно определить, в каком SIP заголовке находится Caller ID.  Для этого:

  • Выберите необходимый SIP транк или ТфОП шлюз
  • Перейдите в раздел Исходящие параметры
  • Определите SIP поле, передающее Caller ID. Caller ID присваивается переменной OriginatorCallerID.

image

Как определяется значение переменной OriginatorCallerID?

Изначально значение OriginatorCallerID не определено. Затем значение OriginatorCallerID задается параметром Исходящий Caller ID в настройках транка.

image

Затем, если добавочному номеру 3CX присвоен Внешний Caller ID, он присваивается переменной OriginatorCallerID.

image

При этом действуют следующие правила:

  • Если вызов поступил на добавочный номер как внешний входящий и снова вышел наружу. В этом случае номер звонящего снаружи (который был переформатирован в соответствии с параметрами, указанными в Параметры — АТС – e164) будет установлен в переменную OriginatorCallerID.
  • Если вызов уходит на внешний номер при срабатывании правила переадресации на добавочном номере, либо вызов не делается непосредственно с этого добавочного номера, исходящий Caller ID будет перезаписан значением, которое уже содержится в поле OriginatorCallerID поступившего на этот добавочный номер вызова (оригинального вызова).
  • Если вызов уходит при прямом наборе с добавочного номера (т.е. не используются никакие правила переадресации вызова), Caller ID не перезаписывается и отправляется как есть.

После этого выполняется переформатирование исходящего Caller ID в соответствии с настройками транка.

Форматирование входящего и исходящего Caller ID

Начиная с 3CX Phone System v.12 SP1 номер звонящего абонента (Caller ID) с порта, транка, VoIP шлюза или VoIP провайдера можно получить в том виде, в котором он требуется администратору системы. Также можно модифицировать и исходящий номер, т.е. передавать его на порт / транк / шлюз / провайдеру в требуемом виде.

Форматирование входящих и исходящих Caller ID делается единообразно. Чтобы сделать его корректно, объясним принципы форматирования номера / строки замены.

  • ( ) Скобки– в них заключаются (отделяются друг от друга) группы цифр. Каждая группа присваивается переменной 1, 2, 3 … 9.
  • (.*) – означает любую последовательность цифр. Эта строка должна указываться последней, т.к. все цифры и другие символы после нее будут игнорироваться.
  • 0-9, + – Цфры 0-9 и + используются для указания совпадения соответствующего символа в Caller ID
  • (xxx) –, где x – любая цифра в диапазоне 0-9. Например, если передается номер 0203123456 и вы указываете (0203), 3CX будет искать строку, которая точно совпадает с 0203.
  • (.) – точка – замещает любой символ. Например, указав (…), вы заставите 3CX искать любые 3 цифры в номере. Так, если код города начинается с 3 и содержит 3 цифры, вы можете указать (3..)
  • 1, 2, … 9 – эти строки замещаются содержимым переменных 1, 2, … 9

image

Чтобы настроить модификацию Caller ID выполните следующие действия

  • Перейдите в раздел SIP транки или PSTN шлюзы и выберите порт или транк, который следует настроить
  • Кликнув на нужный порт, выберите раздел Другие параметры справа
  • В разделе Изменить Caller ID вы можете настроить нужные правила для входящего и исходящего Caller ID
  • Можно настроить несколько правил одновременно, и правило с более высоким приоритетом будет иметь преимущество

Примеры

1. Компании требуется, чтобы все международные американские номера были переформатированы в локальный формат. В этом случае достаточно простого правила

Source CID Pattern  +(1)(…)(.*)
New Source CID Pattern 3

В этом примере

+ удаляется (игнорируется)
(1) соответсует коду страны США и передается в первой переменной 1
(…) соответстует трехзначному коду города и передается во второй переменной 2
(.*) соответсвует оставшимся цифрам номера и передается в третьей переменной 3

В нашем примере в новом переформатированном номере мы оставляем только третью переменную 3, что соответствует локальному номеру.

Было +12021234567, стало 1234567.

image

2. Компании требуется привести номер к национальному формату и добавить 0 в начале номера для быстрого обратного звонка клиенту. Входящий Caller ID имеет такой вид +17864722245.

Source CID Pattern +(1)(…)(.*)
New Source CID Pattern 023

В этом примере

В начало номера добавляется 0.

Переменные 2 (786) и 3 (4722245) сохраняются, приводя номер к национальному формату.

Было +17864722245, стало 07864722245.

image

ссылка на оригинал статьи https://habrahabr.ru/post/280224/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *