Страница 1 из 1

Замена параметру call-limit

Добавлено: 22 май 2015, 16:02
Jonny
Здравствуйте
Подскажите пожалуйста, кто знает.
Столкнулся с проблемой очередной. В старых версиях в настройках sip.conf для каждого номера был параметр call-limit ограничивающий количество одновременных вызовов. То есть если в X-lite доступно одновременно 2 линии или не дай Бог 6 линий - то если не выставить параметр call-limit=1, оператор будет заваливаться абонентами по всем линиям. В новых версиях этот параметр убрали и советуют использовать GROUP_COUNT(). Но как быть с очередью? Ведь для очереди нельзя прописать GROUP_COUNT() он же как я понял только для конкретного SIP/номера, или я ошибаюсь?

Re: Замена параметру call-limit

Добавлено: 22 май 2015, 23:32
zzuz
Вы ошибаетесь. Через GROUP_COUNT() реализуемо , если операторы в очереди будут вида

Код: Выделить всё

Local/<agent>@<agent_context>/n 
. Тогда в контексте agent_context обрабатывайте любые лимиты.

Re: Замена параметру call-limit

Добавлено: 24 май 2015, 02:42
Jonny
Подскажите пожалуйста, правильно ли я понял?

Операторы вида - Local/<agent>@<agent_context>/n это локальные (внутренние) каналы которые можно перенаправить на контекст - agent_context

если в queue.conf в очереди "1" прописаны операторы:

member= Local/5000@context/n
member= Local/5001@context/n
. . . .
member= Local/5010@context/n

то при вызове этой очереди

exten => номер,1,Answer()
exten => номер,n,Ringing()
exten => номер,n,Wait(1)
exten => номер,n,Queue(1)
exten => номер,n,Hangup()

вызов будет перенаправлен в контекст context
и там уже для каждого оператора 5000, 5001 . . . 5010 надо прописать GROUP_COUNT() со своей группой long, long1 ... long10

exten => 5000,1,Set(GROUP()=long)
same => n,GotoIf($[${GROUP_COUNT(long)} > 1]?more)
same => n,Set(CDR(userfield)=unblocked${EXTEN})
same => n,Dial(PJSIP/5000)
same => more,Set(DIALSTATUS=CHANUNAVAIL)
same => n,Queue(1) ; тут обратно отсылаем звонок в очередь на свободного оператора

Re: Замена параметру call-limit

Добавлено: 24 май 2015, 10:31
awsswa

Re: Замена параметру call-limit

Добавлено: 10 июн 2015, 20:09
Jonny
Решил проблему довольно просто
Обновил модуль очередей.
Теперь можно вводить статических агентов с префиксом Р и они корректно отображаются в конфигах
А в самих настройках очереди есть параметр Skip Busy Agents который позволяет пропускать агентов, которые уже заняты разговором (канал занят) - в принципе то что нужно.
Спасибо за помощь.