VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

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

Сообщение Jonny »

Здравствуйте
Подскажите пожалуйста, кто знает.
Столкнулся с проблемой очередной. В старых версиях в настройках sip.conf для каждого номера был параметр call-limit ограничивающий количество одновременных вызовов. То есть если в X-lite доступно одновременно 2 линии или не дай Бог 6 линий - то если не выставить параметр call-limit=1, оператор будет заваливаться абонентами по всем линиям. В новых версиях этот параметр убрали и советуют использовать GROUP_COUNT(). Но как быть с очередью? Ведь для очереди нельзя прописать GROUP_COUNT() он же как я понял только для конкретного SIP/номера, или я ошибаюсь?
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

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

Сообщение zzuz »

Вы ошибаетесь. Через GROUP_COUNT() реализуемо , если операторы в очереди будут вида

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

Local/<agent>@<agent_context>/n 
. Тогда в контексте agent_context обрабатывайте любые лимиты.
Линия24 - Системы Массового Телефонного Обслуживания
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

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

Сообщение 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) ; тут обратно отсылаем звонок в очередь на свободного оператора
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение awsswa »

платный суппорт по мере возможностей
Jonny
Сообщения: 63
Зарегистрирован: 11 июл 2011, 20:04

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

Сообщение Jonny »

Решил проблему довольно просто
Обновил модуль очередей.
Теперь можно вводить статических агентов с префиксом Р и они корректно отображаются в конфигах
А в самих настройках очереди есть параметр Skip Busy Agents который позволяет пропускать агентов, которые уже заняты разговором (канал занят) - в принципе то что нужно.
Спасибо за помощь.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH