При множественной маршрутизации результатом может быть маршрутизация либо локальный абонент, либо на транк. Для этого следует добавить секцию continue внутри секции local.
Если в правиле нет секции actions, и не задан ни один из параметров ContextName, Tag - то маршрутизация зациклится.
Пример 1
Есть абоненты с трехзначными номерами в формате 7xx. Часть этих абонентов находятся на сторонней станции, до которой есть транк с именем PANASONIC_TRUNK.
Пример контекста для выполнения маршрутизации либо на локального абонента, либо на транк:
<context xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ecss_routing.xsd" name="ctx_city_local"> <rule name="panasonic_users"> <conditions> <cdpn digits="7??"/> <tag value="not_local_user"/> </conditions> <result> <external> <trunk value="PANASONIC_TRUNK"/> </external> </result> </rule> <rule name="local"> <conditions> <cdpn digits="7??"/> </conditions> <result> <local> <continue tag="not_local_user"> </local> </result> </rule>
Пример 2
Есть абоненты с трехзначными номерами в формате 7xx. Если звонок идет на номер, которого не существует, то проигрывается фраза "Абонента с данным номером не существует в нашей компании. Вызов переводится на секретаря.", и вызов переводится на секретаря. Для этого создается IVR-скрипт с именем to_secretary (ID скрипта: e5a8909590717068), и пишется следующий контекст маршрутизации:
<context xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="ecss_routing.xsd" name="ctx_city_local"> <rule name="panasonic_users"> <conditions> <cdpn digits="7??"/> <tag value="not_local_user"/> </conditions> <result> <ivr script="e5a8909590717068"/> </result> </rule> <rule name="local"> <conditions> <cdpn digits="7??"/> </conditions> <result> <local> <continue tag="not_local_user"> </local> </result> </rule>