AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Продолжить выполнение после READ() или WAITEXTEN()

Newbies/FAQ Forum 5 сообщений -
#1

Как продолжить выполнение команд диалплана после READ() или WAITEXTEN() если пользователь ничего не ввел?

exten => s,1,Set(CALLERID(all)= 8${CALLERID(number):1})
exten => s,n,Read(UserChoice,,4,,20)
exten => s,n,GotoIf($[${READSTATUS}=OK]?7:4)
exten => s,4,Queue(DepartSales,${DIALOPTIONS})
exten => s,5,Hangup()
..........


если по в течении 20 сек ничего не введено то связь прерывается. Тоже самое с WaitExten()
#2

ExecIf($[${LEN(${UserChoice})} = 0]?Goto(тратата))
_________________
платный суппорт по мере возможностей
#3

У меня не выполняется следующая строчка после READ(), если ничего не введено в течении заданного времени.

Added after 6 minutes:

-- Executing [s@main_ivr:1] Set("SIP/gsm_ea_gw1600-00002adc", "CALLERID(all)= 88443323737") in new stack
-- Executing [s@main_ivr:2] Read("SIP/gsm_ea_gw1600-00002adc", "UserChoice,,4,,20") in new stack
-- Accepting a maximum of 4 digits.
-- SIP/volga2-00002adb answered SIP/2041-00002ada
-- User entered nothing, 19 chances left
-- User disconnected
== Spawn extension (macro-trunkdial-failover-0.3, 1-dial, 1) exited non-zero on 'SIP/2041-00002ada' in macro 'trunkdial-failover-0.3'
== Spawn extension (DLPN_WorkDialPlan, 917166, 5) exited non-zero on 'SIP/2041-00002ada'
== MixMonitor close filestream
== End MixMonitor Recording SIP/2041-00002ada


вот все что есть в логах - звонок передается в контекст main_ivr и через 20 сек разъединяется, если пользователь ничего не ввел.
#4

exten => s,1,Set(CALLERID(all)= 8${CALLERID(number):1})
exten => s,n,Read(UserChoice,hello,4,,,20)
exten => s,n,NoOp(== нажали == ${UserChoice} ==)
exten => s,n,ExecIf($[${LEN(${UserChoice})} = 0]?Goto(ext1,1))
exten => s,n,Queue(DepartSales,${DIALOPTIONS})
exten => s,n,Hangup()
exten => ext1,1,NoOp(== нечего не нажали ==)
exten => ext1,n,Hangup()

_________________
платный суппорт по мере возможностей
#5

На форумах нашел рекомендацию что нужно уменьшить время ожидания до 15 сек или меньше, с чем это связано не знаю
Уменьшил время ожидания до 15 сек - все работает, ставлю 20 или больше, в логах ловлю только сообщение: User disconected, если не было ввода с телефона.