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

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.

спросил Jul 30 '12

Mihail1810 Gravatar Mihail1810
11 3 3

обновил Jul 30 '12

Comments

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

zzuz (Jul 30 '12)edit

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

zzuz (Jul 30 '12)edit

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

Mihail1810 (Jul 30 '12)edit

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

zzuz (Jul 30 '12)edit

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

Mihail1810 (Jul 30 '12)edit

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 вести себя адекватно, т.е. изменение пенальти отрабатывает независимо от состояния операторов группы.

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

ответил Apr 24 '14

Who Cares Gravatar Who Cares
1

Comments

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

meral (Apr 25 '14)edit
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%)
ссылка удалить спам редактировать

ответил Jul 30 '12

eurolan Gravatar eurolan
94 2 6

Comments

Хана CDR'ам)

zzuz (Jul 30 '12)edit

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

Mihail1810 (Jul 30 '12)edit

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

zzuz (Jul 30 '12)edit

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

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

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

Статистика

Задан: Jul 30 '12

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

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

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