Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Queues расширенная настройка [закрыт]

0

Здравствуйте уважаемые! По необходимости организации связи появился вопрос как расширить параметры queue. Суть в том, чтобы было например 3 группы номеров с таймаутом, группы: (101,102),(103,104),(105,106). Вызов падает в очередь, сначала звонят агенты 101,102, через таймаут 101,102,103,104, через таймаут 101,102,103,104,105,106. Читал про Penalty - не подходит, первая группа агентов может быть не занята и не отвечать. Думаю что можно как то организовать через PauseQueueMember(queuename|agent), т.е поставить на паузу сначала 103-106, потом через таймаут снять 103,104, потом через таймаут снять 105,106. Используем trixbox и aster 1.4, подскажите в какую сторону копать.
Перенаправление из очереди в очередь - не подходит, т.к. MOH будет прерываться, и будут лишние hangup.

удалить переоткрыть спам изменить тег редактировать

спросил 2012-07-30 09:32:25 +0400

Mihail1810 Gravatar Mihail1810
11 3 3

обновил 2012-07-30 09:51:14 +0400

Comments

Используйте пенальти и автопаузу.

zzuz ( 2012-07-30 10:25:46 +0400 )редактировать

Как где? Сделать самому.

zzuz ( 2012-07-30 10:59:29 +0400 )редактировать

Автопауза же удаляет из очереди агентов которые не берут трубки, а мне надо наоборот их снимать. Или вначале всех ставить на паузу, а потом убирать по таймауту

Mihail1810 ( 2012-07-30 11:04:47 +0400 )редактировать

Ну так , Вам и придумывать , как реализовать Автопаузу. Можете автоматически и ставить на паузу , и снимать , и даже удалять агентов из очереди (только непонятно зачем?).

zzuz ( 2012-07-30 11:16:56 +0400 )редактировать

ну как не понятно, есть город - в городе несколько офисов, в каждом офисе - несколько менеджеров, так вот клиент когда звонит в один офис - а там тупые манагеры не берут трубки, звонок продалжается в этом офисе, и потом подключается 2й, 3й офисы, чтоб не потерять клиента.

Mihail1810 ( 2012-07-30 11:21:17 +0400 )редактировать

2 Ответа

0
extensions.ael:
    context dial_delay {
        _666XXXXX => {
        Wait(${EXTEN:3:2});
        Dial(Sip/${EXTEN:5});
        }
    }
queues.conf:
    ...
    member => Local/66610201@dial_delay
    member => Local/66615202@dial_delay
    member => Local/66620203@dial_delay
    ...

Ну или можно заморочиться с патчем пенальти (https://issues.asterisk.org/view.php?id=16722), не совсем уверен, но вроде заставляет penaltychange в queuerules.conf вести себя адекватно, т.е. изменение пенальти отрабатывает независимо от состояния операторов группы.

ссылка удалить спам редактировать

ответил 2014-04-25 03:07:19 +0400

Who Cares Gravatar Who Cares
1

Comments

вот ТАК делать НЕ надо.

meral ( 2014-04-25 13:40:56 +0400 )редактировать
0

Если я правильно понял идею, то проще всего ето реализовать без изпользования Queue, а с помощью Local channels и цмд Wait().

[context]
exten => 1,Dial(Local/group1@delay&Local/group2@delay&Local/group3@delay)
exten => n,Hangup()

[delay]
exten => group1,1,Dial(SIP/101&SIP/102,%timeout%)
exten => group1,n,Hangup()

exten => group2,1,Wait(%ждем 10 sec%)
exten => group2,n,Dial(SIP/101&SIP/102&SIP/103&SIP/104,%timeout%)

exten => group3,1,Wait(%ждем 20 sec%)
exten => group3,n,Dial(SIP/101&SIP/102&SIP/103&SIP/104&SIP/105&SIP/106,%timeout%)
ссылка удалить спам редактировать

ответил 2012-07-30 11:27:14 +0400

eurolan Gravatar eurolan
94 2 6

Comments

Хана CDR'ам)

zzuz ( 2012-07-30 11:30:54 +0400 )редактировать

Почему заморачиваюсь с очередями - так это потому, что при одновременно пришедших в группу 2х звонках - один отваливается, т.к. все абоненты заняты, а в очереди такого нету

Mihail1810 ( 2012-07-30 11:49:38 +0400 )редактировать

Логично и правильно.

zzuz ( 2012-07-30 11:53:59 +0400 )редактировать

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-07-30 09:32:25 +0400

Просмотрен: 1,226 раз

Обновлен: Apr 25 '14

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.