рубрики

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>

 

Рубрика: VoIP | Теги: freeswitch, VoIP,continue_on_fail
Система Orphus
-->