Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / call through

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 и висит.


мне бы хотелось в подобной конструкции накапливать цифры номера, а потом по экстеншену (например #) совершать звонок.

буду благодарен ответившим.

2006-11-20 18:20

Сообщений: 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

мне бы хотелось в подобной конструкции накапливать цифры номера, а потом по экстеншену (например #) совершать звонок.
буду благодарен ответившим.
2006-11-20 18:21

Сообщений: 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 и висит.


мне бы хотелось в подобной конструкции накапливать цифры номера, а потом по экстеншену (например #) совершать звонок.

буду благодарен ответившим.
2006-11-20 18:23

Сообщений: 8

Re: call through

забыл уточнить Asterisk 1.2.13
2006-11-20 18:24

Сообщений: 141

Re: call through

CallerID - это CALLERIDNAME и CALLERIDNUMBER вместе,да и то звонящего абонента, и введенный номер тут не причем.

а вообще юзай команду read
2006-11-20 18:52

Сообщений: 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... один раз отрабатывает нормально, а нажатие второй клавиши не воспринимается. так и висит до таймаута.

Спасибо.
2006-11-21 08:09

Сообщений: 8

Re: call through

если есть хоть какие-нибудь мысли, отзовитесь...
второй день уже долблюсб :wacko:
2006-11-21 17:51

Сообщений: 102

Re: call through

По каким таким причинам вы не можете использовать Read? (Вас под прицелом держат ?! Я могу FBI вызвать, вы только мне как то маяекните).
Правильный подход записывать через Read !!!
2006-11-21 19:03

Сообщений: 8

Re: call through

спасибо.
вопрос снят.
2006-11-22 08:11

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru