Страница 1 из 1
Задержка в очереди
Добавлено: 13 янв 2023, 08:08
telhin
Добрый день
Подскажите, пожалуйста, есть такой вопрос
Asterisk + freepbx 13, есть очереди Ring Strategy - linear, в группе несколько агентов, Agent Timeout стоит -10 секунд. Но на следующего агента приходит звонок спустя 15 секунд, т.е Agent Timeout+5
Какой бы значение Agent Timeout не ставил, всегда добавляются эти секунды.
Ну и собственно вопрос, как от этого избавится?
Re: Задержка в очереди
Добавлено: 13 янв 2023, 15:34
ded
Посмотрите в консоли Астериска
asterisk -vvvvvr
что происходит в эти 5 сек? Там должны быть ответы на ваши вопросы.
Re: Задержка в очереди
Добавлено: 15 янв 2023, 07:33
telhin
Помогите это расшифровать
Что происходит между 888 и 666
Код: Выделить всё
- SIP/888-0000000c Internal Gosub(func-apply-sipheaders,s,1) start
-- Executing [s@func-apply-sipheaders:1] NoOp("SIP/888-0000000c", "Applying SIP Headers to channel SIP/888-0000000c") in new stack
-- Executing [s@func-apply-sipheaders:2] Set("SIP/888-0000000c", "TECH=SIP") in new stack
-- Executing [s@func-apply-sipheaders:3] Set("SIP/888-0000000c", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:4] While("SIP/888-0000000c", "0") in new stack
-- Jumping to priority 10
-- Executing [s@func-apply-sipheaders:11] Return("SIP/888-0000000c", "") in new stack
== Spawn extension (from-internal, 888, 1) exited non-zero on 'SIP/888-0000000c'
-- SIP/888-0000000c Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
-- Called SIP/888
-- Connected line update to Local/888@from-queue-00000007;2 prevented.
-- Local/888@from-queue-00000007;1 is ringing
-- SIP/888-0000000c is ringing
-- Local/888@from-queue-00000007;1 is ringing
> 0x7f23ec0089d0 -- Strict RTP learning complete - Locking on source address 217.76.78.18:20092
-- Nobody picked up in 10000 ms
== Spawn extension (macro-dial-one, s, 54) exited non-zero on 'Local/888@from-queue-00000007;2' in macro 'dial-one'
== Spawn extension (from-queue-exten-internal, 888, 8) exited non-zero on 'Local/888@from-queue-00000007;2'
-- Executing [h@from-queue-exten-internal:1] Macro("Local/888@from-queue-00000007;2", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Local/888@from-queue-00000007;2", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("Local/888@from-queue-00000007;2", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("Local/888@from-queue-00000007;2", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'Local/888@from-queue-00000007;2' in macro 'hangupcall'
== Spawn extension (from-queue-exten-internal, h, 1) exited non-zero on 'Local/888@from-queue-00000007;2'
-- Called Local/666@from-queue/n
-- Executing [666@from-queue:1] Set("Local/666@from-queue-00000008;2", "QAGENT=666") in new stack
-- Executing [666@from-queue:2] Set("Local/666@from-queue-00000008;2", "__FROMQ=true") in new stack
-- Executing [666@from-queue:3] GotoIf("Local/666@from-queue-00000008;2", "0?hangup") in new stack
-- Executing [666@from-queue:4] GotoIf("Local/666@from-queue-00000008;2", "1?9999,1:hangup") in new stack
Re: Задержка в очереди
Добавлено: 16 янв 2023, 16:13
ded
-- Called SIP/888
- начали звонить на 888
-- Connected line update to Local/888@from-queue-00000007;2 prevented.
-- Local/888@from-queue-00000007;1 is ringing
-- SIP/888-0000000c is ringing
- 888 зазвонил
-- Local/888@from-queue-00000007;1 is ringing
> 0x7f23ec0089d0 -- Strict RTP learning complete - Locking on source address 217.76.78.18:20092
-- Nobody picked up in 10000 ms
- никто не ответил в течение 10 секунд
== Spawn extension (macro-dial-one, s, 54) exited non-zero on 'Local/888@from-queue-00000007;2' in macro 'dial-one'
- вывалились из макроса macro-dial-one на 54-м шаге.
(с) Переводы с тех. английского, дорого.
Zzuz
Re: Задержка в очереди
Добавлено: 17 янв 2023, 11:31
telhin
Еще с чтением поможете?) Я все равно не понимаю, откуда берутся эти 5 секунды.
Код: Выделить всё
[dialapp] 52. Noop() [pbx_config]
53. ExecIf($["${ivrreturn}" = "1"]?Set(D_OPTIONS=${D_OPTIONS}g)) [pbx_config]
[dial] 54. Dial(${DSTRING},${ARG1},${D_OPTIONS}b(func-apply-sipheaders^s^1)) [pbx_config]
55. ExecIf($["${DIALSTATUS}"="ANSWER" & "${CALLER_DEST}"!=""]?MacroExit()) [pbx_config]
56. ExecIf($["${DIALSTATUS_CW}"!=""]?Set(DIALSTATUS=${DIALSTATUS_CW})) [pbx_config]
57. GosubIf($[("${SCREEN}"!=""&("${DIALSTATUS}"="TORTURE"|"${DIALSTATUS}"="DONTCALL"))|"${DIALSTATUS}"="ANSWER"]?s-${DIALSTATUS},1()) [pbx_config]
58. MacroExit()
Код: Выделить всё
[func-apply-sipheaders]
include => func-apply-sipheaders-custom
exten => s,1,Noop(Applying SIP Headers to channel ${CHANNEL})
exten => s,n,Set(TECH=${CUT(CHANNEL,/,1)})
exten => s,n,Set(SIPHEADERKEYS=${HASHKEYS(SIPHEADERS)})
exten => s,n,While($["${SET(sipkey=${SHIFT(SIPHEADERKEYS)})}" != ""])
exten => s,n,Set(sipheader=${HASH(SIPHEADERS,${sipkey})})
exten => s,n,ExecIf($["${sipheader}" = "unset" & "${TECH}" = "SIP"]?SIPRemoveHeader(${sipkey}:))
exten => s,n,ExecIf($["${sipheader}" != "unset" & "${sipkey}" = "Alert-Info" & ${REGEX("^<[^>]*>" ${sipheader})} != 1 & ${REGEX("\;info=" ${sipheader})} != 1]?Set(sipheader=<http://127.0.0.1>\;info=${sipheader}))
exten => s,n,ExecIf($["${sipheader}" != "unset" & "${sipkey}" = "Alert-Info" & ${REGEX("^<[^>]*>" ${sipheader})} != 1]?Set(sipheader=<http://127.0.0.1>${sipheader}))
exten => s,n,ExecIf($["${TECH}" = "SIP" & "${sipheader}" != "unset"]?SIPAddHeader(${sipkey}:${sipheader}))
exten => s,n,EndWhile
exten => s,n,Return()
;--== end of [func-apply-sipheaders] ==--;
Если создать 2 группы, и в одну посадить 888 а в другую 666 и так же их зациклить, то такой проблемы нет
Re: Задержка в очереди
Добавлено: 17 янв 2023, 17:10
ded
У вас все вызовы идут через канал Local, это что-то неродное в среде FreePBX, думаю это вызовы через AMI.
Отсюда все беды и непонимание.
Оно, конечно, можно, если вы знаете всю структуру FreePBX, и можете кастомизировать свободно по желанию что угодно и как угодно. А пока что вы бредёте в потёмках, вопросы по теме - попытка несистемного индивидуального обучения каким-то образом. Невозможно отрывочными листками из календаря восоздать весь годовой цикл.
Надо вам тогда начать с учебника по FreePBX
* ИП-АТС FreePBX2.10 Руководство администратора
* FreePBX 13 руководство администратора