Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2014-02-12 14:46:49 +0400

romariosar Gravatar romariosar flag of Russian Federation

http://www.webunix.ru/

у меня не стаивться переменная Hangupcause диалплан:

[incoming]
exten => 104,1,Noop(incomint start)
exten => 104,n,Set(GROUP()=test)
exten => 104,n,GotoIf($[${GROUP_COUNT(test)} > 1]?busy,s,1)
exten => 104,n,NoOp(GROUP_COUNT(test) = ${GROUP_COUNT(test)})
exten => 104,n,Answer
exten => 104,n,BackGround(hello-world)
exten => 104,n,WaitExten(5)

exten => 1,1,Dial(SIP/200)
exten => 2,1,Dial(SIP/201)
exten => h,1,HangUp
;end of incoming

[busy]
exten => s,1,Set(DIALSTATUS=CONGESTION)
exten => s,n,Set(HANGUPCAUSE=19)
exten => s,n,NoOp(DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
; end of busy

вот лог звонка когда звонит 2 абонент:

-- Executing [104@incoming:1] NoOp("SIP/trunk-00000016", "incomint start") in new stack -- Executing [104@incoming:2] Set("SIP/trunk-00000016", "GROUP()=test") in new stack -- Executing [104@incoming:3] GotoIf("SIP/trunk-00000016", "1?busy,s,1") in new stack -- Goto (busy,s,1) -- Executing [s@busy:1] Set("SIP/trunk-00000016", "DIALSTATUS=CONGESTION") in new stack -- Executing [s@busy:2] Set("SIP/trunk-00000016", "HANGUPCAUSE=19") in new stack -- Executing [s@busy:3] NoOp("SIP/trunk-00000016", "DIALSTATUS = CONGESTION and HANGUPCAUSE = 0") in new stack -- Auto fallthrough, channel 'SIP/trunk-00000016' status is 'CONGESTION'

почему hangupcause = 0? я же вроде поставил что она 19...

у меня не стаивться переменная Hangupcause диалплан:

[incoming]
exten => 104,1,Noop(incomint start)
exten => 104,n,Set(GROUP()=test)
exten => 104,n,GotoIf($[${GROUP_COUNT(test)} > 1]?busy,s,1)
exten => 104,n,NoOp(GROUP_COUNT(test) = ${GROUP_COUNT(test)})
exten => 104,n,Answer
exten => 104,n,BackGround(hello-world)
exten => 104,n,WaitExten(5)

exten => 1,1,Dial(SIP/200)
exten => 2,1,Dial(SIP/201)
exten => h,1,HangUp
;end of incoming

[busy]
exten => s,1,Set(DIALSTATUS=CONGESTION)
exten => s,n,Set(HANGUPCAUSE=19)
exten => s,n,NoOp(DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
; end of busy

вот лог звонка когда звонит 2 абонент:

-- Executing [104@incoming:1] NoOp("SIP/trunk-00000016", "incomint start") in new stack
-- Executing [104@incoming:2] Set("SIP/trunk-00000016", "GROUP()=test") in new stack
-- Executing [104@incoming:3] GotoIf("SIP/trunk-00000016", "1?busy,s,1") in new stack
-- Goto (busy,s,1)
-- Executing [s@busy:1] Set("SIP/trunk-00000016", "DIALSTATUS=CONGESTION") in new stack
-- Executing [s@busy:2] Set("SIP/trunk-00000016", "HANGUPCAUSE=19") in new stack
-- Executing [s@busy:3] NoOp("SIP/trunk-00000016", "DIALSTATUS = CONGESTION and HANGUPCAUSE = 0") in new stack
-- Auto fallthrough, channel 'SIP/trunk-00000016' status is 'CONGESTION'

'CONGESTION'

почему hangupcause = 0? я же вроде поставил что она 19...

у меня не стаивться переменная Hangupcause диалплан:

[incoming]
exten => 104,1,Noop(incomint start)
exten => 104,n,Set(GROUP()=test)
exten => 104,n,GotoIf($[${GROUP_COUNT(test)} > 1]?busy,s,1)
exten => 104,n,NoOp(GROUP_COUNT(test) = ${GROUP_COUNT(test)})
exten => 104,n,Answer
exten => 104,n,BackGround(hello-world)
exten => 104,n,WaitExten(5)

exten => 1,1,Dial(SIP/200)
exten => 2,1,Dial(SIP/201)
exten => h,1,HangUp
;end of incoming

[busy]
exten => s,1,Set(DIALSTATUS=CONGESTION)
exten => s,n,Set(HANGUPCAUSE=19)
exten => s,n,NoOp(DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
; end of busy

вот лог звонка когда звонит 2 абонент:

-- Executing [104@incoming:1] NoOp("SIP/trunk-00000016", "incomint start") in new stack
-- Executing [104@incoming:2] Set("SIP/trunk-00000016", "GROUP()=test") in new stack
-- Executing [104@incoming:3] GotoIf("SIP/trunk-00000016", "1?busy,s,1") in new stack
-- Goto (busy,s,1)
-- Executing [s@busy:1] Set("SIP/trunk-00000016", "DIALSTATUS=CONGESTION") in new stack
-- Executing [s@busy:2] Set("SIP/trunk-00000016", "HANGUPCAUSE=19") in new stack
-- Executing [s@busy:3] NoOp("SIP/trunk-00000016", "DIALSTATUS = CONGESTION and HANGUPCAUSE = 0") in new stack
-- Auto fallthrough, channel 'SIP/trunk-00000016' status is 'CONGESTION'

почему hangupcause = 0? я же вроде поставил что она 19...

[СЧИТАЙ РЕШЕНО]

назначаю значение hangupcause вот так:

exten => s,n,Hangup(19)

все выводится правильно теперь, но мне бы хотелось эту переменную задавать с помощью SET. а то у меня не задается.

теперь у меня такой диалплан

[incoming]
exten => 104,1,Noop(incomint start)
exten => 104,n,Set(GROUP()=test)
exten => 104,n,GotoIf($[${GROUP_COUNT(test)} > 1]?busy,s,1)
exten => 104,n,NoOp(GROUP_COUNT(test) = ${GROUP_COUNT(test)})
exten => 104,n,Answer
exten => 104,n,BackGround(hello-world)
exten => 104,n,WaitExten(5)

exten => 1,1,Dial(SIP/200)
exten => 2,1,Dial(SIP/201)
exten => t,1,Goto(104,2)
exten => i,1,Goto(104,2)
exten => h,1,HangUp
;end of incoming

[busy]
exten => s,1,Set(DIALSTATUS=CONGESTION)
exten => s,n,Hangup(19)
exten => h,1,NoOp(dialstatus = ${DIALSTATUS} and hangupcause = ${HANGUPCAUSE})



; end of busy

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.