call through
|
Сообщений: 8
|
call through
Добрый вечер, уважаемые.
Никак не получается накопить в переменной введенный номер телефона
[call]
exten => s,1,Wait,1
exten => s,2,Background(beep)
exten => s,3,NoOp(${CALLERID})
exten => s,4,WaitExten(10)
exten => _X,1,Goto(s,2)
этот цикл отрабатывает один раз.
доходит до Goto, редиректится на s,2 и висит WaitExten (чтобы я не нажимал)
mfs*CLI>
-- Executing Wait("SIP/client-08c58158", "1") in new stack
-- Executing BackGround("SIP/client-08c58158", "beep") in new stack
-- Playing 'beep' (language 'en')
-- Executing NoOp("SIP/client-08c58158", "<client>") in new stack
-- Executing WaitExten("SIP/client-08c58158", "10") in new stack
== CDR updated on SIP/client-08c58158
-- Executing Goto("SIP/client-08c58158", "s|2") in new stack
-- Goto (frompstn,s,2)
-- Executing BackGround("SIP/client-08c58158", "beep") in new stack
-- Playing 'beep' (language 'en')
-- Executing NoOp("SIP/client-08c58158", "<client>") in new stack
-- Executing WaitExten("SIP/client-08c58158", "10") in new stack <------------ вот тут на цикле 2 и висит.
мне бы хотелось в подобной конструкции накапливать цифры номера, а потом по экстеншену (например #) совершать звонок.
буду благодарен ответившим.
|
|
Сообщений: 8
|
Re: call through
Добрый вечер, уважаемые. Никак не получается накопить в переменной введенный номер телефона [call]
exten => s,1,Wait,1
exten => s,2,Background(beep)
exten => s,3,NoOp(${CALLERID})
exten => s,4,WaitExten(10)
exten => _X,1,Goto(s,2) этот цикл отрабатывает один раз.
доходит до Goto, редиректится на s,2 и висит WaitExten (чтобы я не нажимал) mfs*CLI> Executing Wait("SIP/client-08c58158", "1") in new stack
-- Executing BackGround("SIP/client-08c58158", "beep") in new stack
-- Playing beep (language en)
-- Executing NoOp("SIP/client-08c58158", "") in new stack
-- Executing WaitExten("SIP/client-08c58158", "10") in new stack
== CDR updated on SIP/client-08c58158
-- Executing Goto("SIP/client-08c58158", "s|2") in new stack
-- Goto (frompstn,s,2)
-- Executing BackGround("SIP/client-08c58158", "beep") in new stack
-- Playing beep (language en)
-- Executing NoOp("SIP/client-08c58158", "") in new stack
-- Executing WaitExten("SIP/client-08c58158", "10") in new stack
мне бы хотелось в подобной конструкции накапливать цифры номера, а потом по экстеншену (например #) совершать звонок. буду благодарен ответившим.
|
|
Сообщений: 8
|
Re: call through
Добрый вечер, уважаемые.
Никак не получается накопить в переменной введенный номер телефона
[call]
exten => s,1,Wait,1
exten => s,2,Background(beep)
exten => s,3,NoOp(${CALLERID})
exten => s,4,WaitExten(10)
exten => _X,1,Goto(s,2)
этот цикл отрабатывает один раз.
доходит до Goto, редиректится на s,2 и висит WaitExten (чтобы я не нажимал)
mfs*CLI>
-- Executing Wait("SIP/client-08c58158", "1") in new stack
-- Executing BackGround("SIP/client-08c58158", "beep") in new stack
-- Playing 'beep' (language 'en')
-- Executing NoOp("SIP/client-08c58158", "") in new stack
-- Executing WaitExten("SIP/client-08c58158", "10") in new stack
== CDR updated on SIP/client-08c58158
-- Executing Goto("SIP/client-08c58158", "s|2") in new stack
-- Goto (frompstn,s,2)
-- Executing BackGround("SIP/client-08c58158", "beep") in new stack
-- Playing 'beep' (language 'en')
-- Executing NoOp("SIP/client-08c58158", "") in new stack
-- Executing WaitExten("SIP/client-08c58158", "10") in new stack <------------ вот тут на цикле 2 и висит.
мне бы хотелось в подобной конструкции накапливать цифры номера, а потом по экстеншену (например #) совершать звонок.
буду благодарен ответившим.
|
|
Сообщений: 8
|
Re: call through
забыл уточнить Asterisk 1.2.13
|
|
Сообщений: 141
|
Re: call through
CallerID - это CALLERIDNAME и CALLERIDNUMBER вместе,да и то звонящего абонента, и введенный номер тут не причем.
а вообще юзай команду read
|
|
Сообщений: 8
|
Re: call through
спасибо.
это я просто чтобы в лог отслеживать.
номер нажатой клавиши содержится в переменной exten.
Read я использовал в предыдущей версии, но по некоторым причинам, сейчас необходимо переделать через
WaitExten
в полном виде dial plan выглядит вот так
exten => s,1,Set(NR=)
exten => s,2,Background(privacy-prompt)
exten => s,3,ResponseTimeout(10)
exten => s,4,WaitExten
exten => _X,1,Set(NR=${NR}${EXTEN})
exten => _X,2,Goto(s,3)
exten => *,1,Goto(s,1)
exten => #,1,Dial(SIP/${NR},30,H|g)
exten => #,2,GotoIf($[${DIALSTATUS} = NOANSWER]?4)
exten => #,3,GotoIf($[${DIALSTATUS} = CONGESTION]?4:5)
exten => #,4,Playback(vm-nobodyavail)
exten => #,5,Goto(s,1)
exten => #,102,Playback(tt-allbusy)
exten => t,1,Playback(vm-goodbye)
exten => t,2,HangUp
постараюсь объяснить более внятно.
цикл от exten => s,4,WaitExten до _X,2,Goto(s,3) выполняется только один раз. т.е. при введении второй цифры номера, s,4,WaitExten не продолжает выполнение.
я сталкивался с похожим, когда использовал Read с кодеками g729 и g723, но тогда определение тонов вообще не происходило.
сейчас использую g711... один раз отрабатывает нормально, а нажатие второй клавиши не воспринимается. так и висит до таймаута.
Спасибо.
|
|
Сообщений: 8
|
Re: call through
если есть хоть какие-нибудь мысли, отзовитесь...
второй день уже долблюсб :wacko:
|
|
Сообщений: 102
|
Re: call through
По каким таким причинам вы не можете использовать Read? (Вас под прицелом держат ?! Я могу FBI вызвать, вы только мне как то маяекните).
Правильный подход записывать через Read !!!
|
|
Сообщений: 8
|
Re: call through
спасибо.
вопрос снят.
|
|