Здравствуйте, возникла проблема с очередями. Хотел сделать, чтобы при звонке в очередь, если оператор занят или недоступен, то сразу же выбрасывало из очереди. Сделал тестовую очередь с одним абонентом.
queues_custom.conf
[testqueue] music=default strategy=fewestcalls ringinuse=no setinterfacevar= yes timeout=10 wrapuptime=5 joinempty=inuse,unavailable leavewhenempty=inuse,unavailable member=>SIP/231
extensions_custom.conf
exten => 543,1,Queue(testqueue,tTr,,,36) exten => 543,n,NoOp(Queue Status: ${QUEUESTATUS}) exten => 543,n,Hangup()
В sip.conf добавил
callcounter=yes
Делаю первый звонок, и оставляю его открытым:
testqueue has 0 calls (max unlimited) in 'fewestcalls' strategy (0s holdtime, 184s talktime), W:0, C:1, A:1, SL:0.0% within 0s Members: SIP/231 (Busy) has taken 1 calls (last was 1383 secs ago) No Callers
Затем делаю второй звонок, чтобы проверить выкинет или нет:
-- Executing [543@office:1] Queue("SIP/333-0000001e", "testqueue,tTr,,,36") in new stack
Звонит и не выкидывается из очереди, пока не истечет таймаут. В чем может быть проблема, настройки вроде все нужные выставил. Но не срабатывает. Есть идеи?
спросил 2014-03-26 09:50:02 +0400
Аноним
тогда вам надо делать
joinempty=no
; yes - callers can join a queue with no members or only unavailable members ; no - callers cannot join a queue with no members ; strict - callers cannot join a queue with no members or only unavailable members ; loose - same as strict, but paused queue members do not count as unavailable (new in 1.6) ; ; joinempty = yes
Asterisk 1.8:
; paused - a member is not considered available if he is paused ; penalty - a member is not considered available if his penalty is less than QUEUEMAXPENALTY ; inuse - a member is not considered available if he is currently on a call ; ringing - a member is not considered available if his phone is currently ringing ; unavailable - This applies mainly to Agent channels. If the agent is a member of the queue but has not logged in, then do not consider the member to be available ; invalid - Do not consider a member to be available if he has an "invalid" device state. This generally is caused by an error condition in the member's channel driver. ; unknown - Do not consider a member to be available if we are unable to determine the member's current device state. ; wrapup - A member is not considered available if he is currently in his wrapuptime after taking a call.
Задан: 2014-03-26 09:50:02 +0400
Просмотрен: 1,317 раз
Обновлен: Mar 26 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.