Описание механизма повторной маршрутизации.

Иногда требуется чтобы вызов, который не смог установиться с определенной причиной, был отправлен на другое направление или автоинформатор. Для этого служит механизм маршрутизации по "Cause". Например: происходит вызов с номера А на номер Б. В контексте маршрутизации находится направление на абонента Б, при этом в блоке "действия" определен параметр "Причины для повторной маршрутизации",он означает, что если вызов на абонента Б завершится с одной из перечисленных причин, будет выполнена повторная маршрутизация с А на номер Б с указанием текущей причины завершения вызова. Для того, чтобы воспользоваться указанными причинами, в контексте маршрутизации, в секции "условия" так же можно указать параметр "причины" в разделе "дополнительно". Он проверяет, совпала ли хотя бы одна из указанных причин с переданной в маршрутизацию причиной разъединения вызова. Если да, то такое правило сработает и позволит перенаправить вызов на другое направление.

Повторная маршрутизация

Механизм позволяет использовать режим маршрутизации по "Cause". Когда вызов с абонента А на абонента Б был завершен с определенным кодом (ACP, SIP, ISUP) завершения без фазы разговора/ожидания ответа, то выполняется повторная маршрутизация, в качестве одного из параметров указывается причина разъединения.
В случае одновременного указания нескольких причин разъединения, то правило сработает если хотя бы одна из причин совпадет.

<cause acp="ACPCauses" isup="ISUPCauses" sip="SIPCauses"/>

где

  • ACPCauses — список ACP причина разъединения вызова, разделенных запятой;
  • ISUPCauses — список ISUP причина разъединения вызова, разделенных запятой;
  • SIPCauses — список SIP причина разъединения вызова, разделенных запятой.

Причина разъединения предыдущей попытки вызова в блоке условий.

Механизм позволяет использовать режим маршрутизации по "Cause". Когда вызов с абонента А на абонента Б был завершен с определенным кодом (ACP, SIP, ISUP) завершения без фазы разговора/ожидания ответа, то выполняется повторная маршрутизация, в качестве одного из параметров указывается причина разъединения.

Если в системе корректно настроены правила маршрутизации по "Cause", то возможно осуществить перевод таких вызовов на различного вида автоинформаторы (переадресация на автоинформаторы с сообщениями типа "абонент временно недоступен", "линия перегружена", "абонент не существует" и другие).

В случае одновременного указания нескольких причин разъединения, то правило сработает если хотя бы одна из причин совпадет. Как применяются в контексте маршрутизации данные правила смотреть здесь: подробное описание контекста маршрутизации.

На текущий момент имеется возможность анализировать не только "Cause" по которому был отбит вызов, но и его инициатора. Доступно 3 causeInitiator: system, network, user.

  • System - Причина, связанная с внутренней логикой обработки вызова на ECSS-10;
  • Network - Отбой произошел со стороны сети (транковое направление);
  • User - Отбой произошел со стороны пользователя.

Пример настройки на ECSS-10:

/domain/refactor/properties/set alternate_route_sip_causes add 404/user
CODE


Причины для повторной маршрутизации в блоке действий.

Причина(ы) разъединения данного вызова, по которым необходимо выполнять перебор маршрутов.
Механизм позволяет использовать режим маршрутизации по "Cause". Когда вызов с абонента А на абонента Б был завершен с одним из указанных в <cause> причин, будет выполнена повторная маршрутизация вызова, но при этом в маршрутизации будут заданы причины с которыми текущий вызов завершился (маршрутизация по "Cause" работает только для вызовов, завершившихся до наступления фазы разговора/алертинга). Как применяются в контексте маршрутизации данные правила смотреть здесь: подробное описание контекста маршрутизации.

Важно! Для работы маршрутизации по SIP — cause, необходимо выставить параметры домена: alternate_route_sip_causes. Необходимо учесть, что маршрутизация для SIP не будет работать, если не будет получен cause от транка.


Влияние маршрутизации по "Cause" на другие подсистемы:

  • СОРМ — на СОРМе перебор маршрутов выглядит как несколько независимых вызовов;
  • СDR — на CDR перебор маршрутов выглядит как несколько независимых вызовов с одинаковым conn_id;
  • AAA — на AAA перебор маршрутов выглядит как несколько независимых вызовов, при этом неуспешные вызов посылаются на ААА только в случае включенного свойства unsuccessful_call_info = true (domain/<DOMAIN>/aaa/accounting/set).
    Замечание: в настоящий момент максимальное количество попыток перемаршрутизации вызова — 10 (с учетом первой маршрутизации).

RADIUS Маршрутизация телефонных вызовов

Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): xpgk-route-retries=<$ROUTE_RETRIES>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): ecss-routing-cause-isup=<$ROUTE_CAUSE_ISUP>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): ecss-routing-cause-sip=<$ROUTE_CAUSE_SIP>
Vendor-Specific(26): Cisco(9): Cisco-AVPair(1): ecss-routing-cause-acp=<$ROUTE_CAUSE_ACP>
CODE
  • <$ROUTE_RETRIES> — номер попытки маршрутизации вызова;
  • <$ROUTE_CAUSE_ISUP> — ISUP причина отбития предыдущего вызова;
  • <$ROUTE_CAUSE_SIP> — SIP причина отбития предыдущего вызова;
  • <$ROUTE_CAUSE_ACP> — ACP причина отбития предыдущего вызова.