К нам часто обращаются с просьбой разъяснить принцип обработки входящего и исходящего Caller ID в 3CX Phone System. В этой статье мы ответим на этот вопрос. Кроме того, мы опишем принцип работы функции, называемой Dictinctive Ring (отличительный звонок). Она нечастно используется в современных организациях, потому что ей на смену пришли возможности CRM интеграции. Однако, для быстрого понимания, откуда пришел вызов, отличительный звонок может быть полезен.
Внимание! В 3CX Phone System v14 SP3 вы можете отключить обработку Caller ID по форматуE164 (см. скриншот ниже).
Обработка Caller ID входящего вызова
Для обработки входящего Caller ID 3CX использует параметры, указанные в разделе интерфейса Параметры — АТС – e164.
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.
Как определяется значение переменной OriginatorCallerID?
Изначально значение OriginatorCallerID не определено. Затем значение OriginatorCallerID задается параметром Исходящий Caller ID в настройках транка.
Затем, если добавочному номеру 3CX присвоен Внешний Caller ID, он присваивается переменной OriginatorCallerID.
При этом действуют следующие правила:
- Если вызов поступил на добавочный номер как внешний входящий и снова вышел наружу. В этом случае номер звонящего снаружи (который был переформатирован в соответствии с параметрами, указанными в Параметры — АТС – 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
Чтобы настроить модификацию 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.
2. Компании требуется привести номер к национальному формату и добавить 0 в начале номера для быстрого обратного звонка клиенту. Входящий Caller ID имеет такой вид +17864722245.
Source CID Pattern +(1)(…)(.*)
New Source CID Pattern 023
В этом примере
В начало номера добавляется 0.
Переменные 2 (786) и 3 (4722245) сохраняются, приводя номер к национальному формату.
Было +17864722245, стало 07864722245.
ссылка на оригинал статьи https://habrahabr.ru/post/280224/
Добавить комментарий