PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: скрин
Вот часть конфига, которая, на мой взгляд, отвечает за интересующий меня функционал:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: extensions.conf
Маршрут со скрина, используется SIP-транк:
Предыдущий маршрут, используется аналоговый транк:
Код: Выделить всё
[CallingRule_Default]
exten = _8XXXXXXXXX.,1,Set(agiresult=0)
exten = _8XXXXXXXXX.,n,GotoIf($[${agiresult}=1]?play-no-balance,${EXTEN},1)
exten = _8XXXXXXXXX.,n,GotoIf($[${agiresult}=2]?play-ext-disabled,${EXTEN},1)
exten = _8XXXXXXXXX.,n,GotoIf($[${agiresult}=4]?ext-no-rate,${EXTEN},1)
exten = _8XXXXXXXXX.,n,noop(no pinset)
exten = _8XXXXXXXXX.,n(a8),Set(ORGINEXTEN=${EXTEN})
exten = _8XXXXXXXXX.,n,Set(ORGINCONTEXT=${IF($[${LEN(${ORGINCONTEXT})} > 0]?${ORGINCONTEXT}: ${CONTEXT})})
exten = _8XXXXXXXXX.,n,GetNextOutRouter(${ORGINCONTEXT},)
exten = _8XXXXXXXXX.,n,GotoByTimeConditionOutbound(,0)
exten = _8XXXXXXXXX.,n,Macro(trunkdial-failover-0.3,1,,${EXTEN:},trunk-SIPProvider)
Код: Выделить всё
[CallingRule_Analogue]
exten = _849[59]XXXXXXX,1,Set(agiresult=0)
exten = _849[59]XXXXXXX,n,GotoIf($[${agiresult}=1]?play-no-balance,${EXTEN},1)
exten = _849[59]XXXXXXX,n,GotoIf($[${agiresult}=2]?play-ext-disabled,${EXTEN},1)
exten = _849[59]XXXXXXX,n,GotoIf($[${agiresult}=4]?ext-no-rate,${EXTEN},1)
exten = _849[59]XXXXXXX,n,noop(no pinset)
exten = _849[59]XXXXXXX,n(a8),Set(ORGINEXTEN=${EXTEN})
exten = _849[59]XXXXXXX,n,Set(ORGINCONTEXT=${IF($[${LEN(${ORGINCONTEXT})} > 0]?${ORGINCONTEXT}: ${CONTEXT})})
exten = _849[59]XXXXXXX,n,GetNextOutRouter(${ORGINCONTEXT},)
exten = _849[59]XXXXXXX,n,GotoByTimeConditionOutbound(,0)
exten = _849[59]XXXXXXX,n,Macro(trunkdial-failover-0.3,1,99,${EXTEN:},trunk_2)