Множественная маршрутизация
При множественной маршрутизации результатом может быть маршрутизация либо локальный абонент, либо на транк. Для этого следует добавить секцию 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>