1 | изначальная версия редактировать | |
Добрый день. Просьба помочь в следующем вопросе есть custom_context
[toRussiaWithLimit_rulematch-custom]
exten => _048XXXXXXX,1,Noop(TRUNK_OPTIONS=${TRUNK_OPTIONS})
exten => _048XXXXXXX,n,Agi(agi://localhost/getTimeout.agi?number=123)
....some logic
agi set debug on
AGI Tx >> agi_network: yes
AGI Tx >> agi_network_script: getTimeout.agi?number=487940663
<SIP/2001-00000014>AGI Tx >> agi_request: agi://localhost/getTimeout.agi?number=123
.................
<SIP/2001-00000014>AGI Rx << SET VARIABLE "dialTimeout" "1481"
<SIP/2001-00000014>AGI Tx >> 200 result=1
<SIP/2001-00000014>AGI Rx << SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
<SIP/2001-00000014>AGI Tx >> 200 result=1
-- <SIP/2001-00000014>AGI Script agi://localhost/getTimeout.agi?number=487940663 completed, returning 0
<SIP/2001-00000014>AGI Tx >> HANGUP
Мне нужно продолжить звонок, а происходит HANGUP и соответственно получаю No such context 'macro-outisbusy' for macro 'outisbusy'
Мешает, что <sip 2001-00000014="">AGI Tx >> HANGUP. С AGI раньше не работал, подскажите, hangup вызывается по умолчанию или этот как-то в скрипте можно отменить?
2 | No.2 Revision редактировать |
Добрый день. Просьба помочь в следующем вопросе есть custom_context
[toRussiaWithLimit_rulematch-custom]
exten => _048XXXXXXX,1,Noop(TRUNK_OPTIONS=${TRUNK_OPTIONS})
exten => _048XXXXXXX,n,Agi(agi://localhost/getTimeout.agi?number=123)
....some logic
agi set debug on
AGI Tx >> agi_network: yes
AGI Tx >> agi_network_script: getTimeout.agi?number=487940663
<SIP/2001-00000014>AGI Tx >> agi_request: agi://localhost/getTimeout.agi?number=123
.................
<SIP/2001-00000014>AGI Rx << SET VARIABLE "dialTimeout" "1481"
<SIP/2001-00000014>AGI Tx >> 200 result=1
<SIP/2001-00000014>AGI Rx << SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
<SIP/2001-00000014>AGI Tx >> 200 result=1
-- <SIP/2001-00000014>AGI Script agi://localhost/getTimeout.agi?number=487940663 agi://localhost/getTimeout.agi?number=123 completed, returning 0
<SIP/2001-00000014>AGI Tx >> HANGUP
Мне нужно продолжить звонок, а происходит HANGUP и соответственно получаю No such context 'macro-outisbusy' for macro 'outisbusy'
Мешает, что <sip 2001-00000014="">AGI Tx >> HANGUP. С AGI раньше не работал, подскажите, hangup вызывается по умолчанию или этот как-то в скрипте можно отменить?
3 | No.3 Revision редактировать |
Добрый день. Просьба помочь в следующем вопросе есть custom_context
[toRussiaWithLimit_rulematch-custom]
exten => _048XXXXXXX,1,Noop(TRUNK_OPTIONS=${TRUNK_OPTIONS})
exten => _048XXXXXXX,n,Agi(agi://localhost/getTimeout.agi?number=123)
....some logic
agi set debug on
AGI Tx >> agi_network: yes
AGI Tx >> agi_network_script: getTimeout.agi?number=487940663
<SIP/2001-00000014>AGI Tx >> agi_request: agi://localhost/getTimeout.agi?number=123
.................
<SIP/2001-00000014>AGI Rx << SET VARIABLE "dialTimeout" "1481"
<SIP/2001-00000014>AGI Tx >> 200 result=1
<SIP/2001-00000014>AGI Rx << SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
<SIP/2001-00000014>AGI Tx >> 200 result=1
-- <SIP/2001-00000014>AGI Script agi://localhost/getTimeout.agi?number=123 completed, returning 0
<SIP/2001-00000014>AGI Tx >> HANGUP
Мне нужно продолжить звонок, а происходит HANGUP и соответственно получаю No such context 'macro-outisbusy' for macro 'outisbusy'
Мешает, что <sip 2001-00000014="">AGI Tx >> HANGUP. С AGI раньше не работал, подскажите, hangup вызывается по умолчанию или этот как-то в скрипте можно отменить?
FreePBX был создан custom context
toOdessaWithLimit_rulematch' created by 'pbx_config' ]
'h' => 1. Macro(hangupcall,) [pbx_config]
's' => 1. Macro(hangupcall,) [pbx_config]
Include => 'toOdessaWithLimit_rulematch-custom' [pbx_config]
....
В кастом я добавляю нужную логику - там просто нужно из agi вытащить нужно значение и установить в качестве таймаута для dial
[toOdessaWithLimit_rulematch-custom]
exten => _048XXXXXXX,1,Noop(Initial TRUNK_OPTIONS=${TRUNK_OPTIONS})
exten => _048XXXXXXX,n,AGI(agi://localhost/getTimeout.agi)
;exten => _048XXXXXXX,n,Set(dialTimeout=${SHELL(/var/lib/asterisk/agi-bin/getTimeout.sh)})
exten => _048XXXXXXX,n,NoOp(check timeout set up: ${dialTimeout})
exten => _048XXXXXXX,n,Set(TRUNK_OPTIONS=L(920000:30000:10000))
exten => _048XXXXXXX,n,Noop(Changed TRUNK_OPTIONS=${TRUNK_OPTIONS})
Не могу понять, почему вызов agi exten => _048XXXXXXX,n,AGI(agi://localhost/getTimeout.agi) или exten => _048XXXXXXX,n,Set(dialTimeout=${SHELL(/var/lib/asterisk/agi-bin/getTimeout.sh)})
Без вызова agi или shell скрипта звонок нормально проходит.
4 | No.4 Revision редактировать |
Добрый день. Просьба помочь в следующем вопросе есть custom_context
[toRussiaWithLimit_rulematch-custom]
exten => _048XXXXXXX,1,Noop(TRUNK_OPTIONS=${TRUNK_OPTIONS})
exten => _048XXXXXXX,n,Agi(agi://localhost/getTimeout.agi?number=123)
....some logic
agi set debug on
AGI Tx >> agi_network: yes
AGI Tx >> agi_network_script: getTimeout.agi?number=487940663
<SIP/2001-00000014>AGI Tx >> agi_request: agi://localhost/getTimeout.agi?number=123
.................
<SIP/2001-00000014>AGI Rx << SET VARIABLE "dialTimeout" "1481"
<SIP/2001-00000014>AGI Tx >> 200 result=1
<SIP/2001-00000014>AGI Rx << SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
<SIP/2001-00000014>AGI Tx >> 200 result=1
-- <SIP/2001-00000014>AGI Script agi://localhost/getTimeout.agi?number=123 completed, returning 0
<SIP/2001-00000014>AGI Tx >> HANGUP
Мне нужно продолжить звонок, а происходит HANGUP и соответственно получаю No such context 'macro-outisbusy' for macro 'outisbusy'
Мешает, что <sip 2001-00000014="">AGI Tx >> HANGUP. С AGI раньше не работал, подскажите, hangup вызывается по умолчанию или этот как-то в скрипте можно отменить?
FreePBX был создан custom context
toOdessaWithLimit_rulematch' created by 'pbx_config' ]
'h' => 1. Macro(hangupcall,) [pbx_config]
's' => 1. Macro(hangupcall,) [pbx_config]
Include => 'toOdessaWithLimit_rulematch-custom' [pbx_config]
....
В кастом я добавляю нужную логику - там просто нужно из agi вытащить нужно значение и установить в качестве таймаута для dial
[toOdessaWithLimit_rulematch-custom]
exten => _048XXXXXXX,1,Noop(Initial TRUNK_OPTIONS=${TRUNK_OPTIONS})
exten => _048XXXXXXX,n,AGI(agi://localhost/getTimeout.agi)
;exten => _048XXXXXXX,n,Set(dialTimeout=${SHELL(/var/lib/asterisk/agi-bin/getTimeout.sh)})
exten => _048XXXXXXX,n,NoOp(check timeout set up: ${dialTimeout})
exten => _048XXXXXXX,n,Set(TRUNK_OPTIONS=L(920000:30000:10000))
exten => _048XXXXXXX,n,Noop(Changed TRUNK_OPTIONS=${TRUNK_OPTIONS})
Не могу понять, почему вызов agi exten => _048XXXXXXX,n,AGI(agi://localhost/getTimeout.agi) или exten => _048XXXXXXX,n,Set(dialTimeout=${SHELL(/var/lib/asterisk/agi-bin/getTimeout.sh)})
Без вызова agi или shell скрипта звонок нормально проходит.
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.