В этом обязательном элементе <result> описывается результат отработки правила маршрутизации.

<result>
 Result
</result>

где

<local>

Найден локальный абонент домена.
Номер полный, абонент найден, маршрутизатор производит поиск интерфейса абонента по его номеру и останавливает маршрутизацию, возвращая найденные данные по абонентам А и Б, интерфейсы А и Б.

Синтаксис в упрощенном варианте:

<result>
 <local/>
</result>

Синтаксис для случая продолжения маршрутизации если абонент не был найден в БД локальных абонентов:

<result>
 <local>
   <continue tag="not_local"/>
 <local/>
</result>

Синтаксис для поиска локального абонента по введенному атрибуту vdn:

<rule name="local_calls">
  <conditions>
    <cdpn digits="1???%"/>
  </conditions>
  <result>
    <local vdn="{1,2,3,4}"/>
  </result>
</rule>

Для задания атрибута vdn используется следующий синтаксис:

<local vdn="[CGPN|CDPN|RGN{DIGITS}]"/>

По умолчанию значение берется из cdpn.

где

<teleconference>

Найдено направление выхода из домена в сервис селекторной связи (относящийся к данному домену); маршрутизатор останавливает маршрутизацию, возвращая найденные данные по абоненту А, интерфейсы А и Б.

Синтаксис:

<result>
 <teleconference/>
</result>

<ivr>

Найдено направление выхода из домена на сервис ivr (относящийся к данному домену); маршрутизатор останавливает маршрутизацию, возвращая найденные данные по абоненту А, интерфейсы А и Б.
Внимание: в случае выхода на ivr проверка групп доступа, режимов ограничения на абоненте А не проводится.

Синтаксис:

<result>
 <ivr script="IvrScript"/>
</result>

где

<external>

Найден интерфейс выхода из домена (транк в другой домен, транк на другую станцию и т.п.), маршрутизатор останавливает маршрутизацию, возвращая найденные данные по абонентам А и Б, интерфейсы А и Б.

при установленном флаге найден интерфейс выхода из домена (транк в другой домен, транк на другую станцию и т.п.), маршрутизатор останавливает маршрутизацию, возвращая найденные данные по абонентам А и Б, интерфейсы А и Б.

Синтаксис:

<result>
   <external>
      <trunk value="Interface1" weight="50" max_load="80%"/>
      <trunk value="Interface2" weight="50" max_load="80%"/>
      <trunk value="Interface3" weight="10"/>
   </external>
</result>

где

<external>
              <trunk value="ems1" weight="50" max_load="60%"/>
              <trunk value="ems2" weight="50"/>
</external>

и максимальная нагрузка на транке ems1 выставлена в 20. Тогда, пока нагрузка на транке ems1 меньше 60% (т.е. < 12 вызовам), в данный транк может пойти вызов через данное правило. Но т.к. для транков ems1, ems2 ещё и выставлен weight - это означает, что в среднем (статистически) все вызовы будут делиться между этими двумя транками. В случае, как только нагрузка на транке стала >= 12 вызовам - все вызовы будут идти только на транк ems2.

<direction>

Найдено направление выхода из домена на направление (direction); маршрутизатор останавливает маршрутизацию, возвращая найденные данные по абоненту А, интерфейсу А и направлению.

Синтаксис:

<result>
  <direction value="DirectionName"/>
</result>

где

ВНИМАНИЕ: Направления декларируются через /domain/<DOMAIN>/direction/

<incomplete>

Номер неполный. Маршрутизация завершается с признаком того, что был набран неполный номер, ядро продолжает накопление цифр номера.

Синтаксис:

<result>
 <incomplete timeout="TimeoutInMilliseconds"/>
</result>

где

В случае использования <incomplete> необходимо в секции <conditions> явно задать <final value="false" />.

<no_route>

Ошибка маршрутизации. Маршрутизация завершается с признаком того, что набран неверный номер.

Синтаксис:

<result>
 <no_route isup_cause="ISUPCause"/>
</result>

где

<continue>

Продолжить маршрутизацию в текущем, либо в другом контексте данной виртуальной АТС (домена).

Синтаксис:

<result>
 <continue context="ContextName" tag="Tag"/>
</result> 

где

<next>

Продолжить маршрутизацию в текущем контексте со следующего правила. Если условия выполняются, будет применен набор действий из элемента <actions>.

Синтаксис:

<result>
    <next tag="Tag"/>
</result>