freeswitch: переключение на резервный канала связи, если с основным каналом проблема

На freeswitch-е, помощью инструкции continue_on_fail, можно отправлять вызовы на резервного оператора, если по какой либо причине не получилось сделать вызов через основного оператора.

Синтаксис continue_on_fail

<action application="set" data="continue_on_fail=true"/>

Диалплан будет выполнятся при любом коде отбоя

<action application="set" data="continue_on_fail=false"/>

При любом коде отбоя выполнение диалплана останавливается

Так же можно перечислить коды Q.850 при которых выполнение диалплана будет продолжено, например

<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,NO_ROUTE_DESTINATION"/>

или

<action application="set" data="continue_on_fail=3,17,18,27"/>

Полную таблицу кодов можно взять здесь

Пример диалплана для переключения на другого оператора при  ошибки с каналом.

 <extension name="operator1-operator2" >
 <condition field="destination_number" expression="^(7|8)(\d{10})$" >
 <action application="set" data="hangup_after_bridge=true"/>.
 <action application="set" data="continue_on_fail=GATEWAY_DOWN,NORMAL_TEMPORARY_FAILURE,NO_ROUTE_DESTINATION,CALL_REJECTED,SERVICE_UNAVAILABLE"/>
 <action application="bridge" data="sofia/gateway/operator1/$1" />
 <action application="bridge" data="sofia/gateway/operator2/$1" />
 </condition>
 </extension>

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: