Asterisk. Простые очереди queues.
Для примера создадим очередь вызовов для приемом звонков в техническую поддержку.1. Открываем файл /etc/asterisk/queues.conf
2. Приводим файл примерно к такому виду:
[general]
persistentmembers = yes
autofill = yes
[queue-support] ;Название нашей очереди
music = default ;Во время ожидания будет звучать музыка по умолчанию
strategy = ringall ;В очереди будут звонить все телефоны одновременно
timeout = 60
retry = 5
maxlen = 0
joinempty = yes ;разрешать входить в очередь даже в том случае,
;если все операторы не доступны
ringinuse = no
;Блок для анонса позиции в очереди
announce-frequency = 30 ;частота анонсов
announce-holdtime = no ;не объявлять приблизительное время ожидания
announce-position = limit ;если очередь слишком велика (более 6 вызовов), то
announce-position-limit = 6 ;информация о позиции выдаваться не будет, что бы
;не пугать пользователей
;Описываются пути к речевым файлам,
;которые используются для нашей простой очереди
queue-youarenext = /etc/asterisk/sounds/support/queue-youarenext
queue-thereare = /etc/asterisk/sounds/support/queue-thereare
queue-callswaiting = /etc/asterisk/sounds/support/queue-callswaiting
queue-thankyou = /etc/asterisk/sounds/support/queue-thankyou
;Описываем телефоны, которые будут принимать вызовы.
member=>SIP/11
member=>SIP/12
member=>SIP/13
member=>SIP/14
member=>SIP/15
3 Выкладываем звуковые файлы по указанным путям.
4 Открываем файл /etc/asterisk/sip.conf
5 Добавляем в файл номера, указанные в параметре member. Пример для одного номера:
[11](subscriber)
context=customer_support
callerid="9735332" <9735332>
username=11
secret=*******
call-limit=1
callgroup=17
pickupgroup=17
dtmfmode=rfc2833
deny = 0.0.0.0/0.0.0.0
permit = 10.100.14.253/255.255.255.255
Здесь 9735332 – номер под которым будет совершать исходящие звонки абонент 11.
6 Открываем файл /etc/asterisk/extensions.conf
7 Добавляем в него контекст вызовов. Например:
exten => 101,1,Answer()
exten => 101,n,Background(/etc/asterisk/sounds/support/ivr-techpodderzhka)
exten => 101,n,WaitExten(5)
exten => 101,n,Set(CALLERID(all)="9735332" <9735332>)
exten => 101,n,Dial(${OUTTRUNKSI}/88007750770,120,r)
exten => 1,1,Set(CALLERID(all)="9735332" <9735332>)
exten => 1,n,Dial(${OUTTRUNKSI}/88007750770,120,r)
exten => i,1,Set(CALLERID(all)="9735332" <9735332>)
exten => i,n,Dial(${OUTTRUNKSI}/88007750770,120,r); если клиент набрал
;несуществующий номер пункта меню
exten => 2,1,Set(CALLERID(all)="9735332" <9735332>)
exten => 2,n,Dial(SIP/11&SIP/12&SIP/13&SIP/14&SIP/15,r)
exten => 2,n,Playback(/etc/asterisk/sounds/support/queue-vsezanyaty)
exten => 2,n,Queue(queue-support)
Здесь подразумевается, что после приветствия, пользователь должен нажать «1» или «2». В случая, нажатия «1», вызов передается в единый контакт центр по номеру 88007750770. Если абонент нажал «2», то сначала происходит одновременный дозвон всем операторам, если никто не ответил или занят, то проигрывается сообщение о том, что вызов переводиться в очередь. Затем включается сам механизм очередей. Команда Queue(queue-support).
8. Рестартуем модули Asterisk, которые подверглись редактированию:
asterisk*CLI> queue reload all
asterisk*CLI> sip reload
asterisk*CLI> dialplan reload
9. Все. Конфигурирование закончено.
Посмотреть статус очереди можно в консоли Asterisk командой
queue show queue-support
Dial(SIP/11&SIP/12&SIP/13&SIP/14&SIP/15,r) вот при таком раскладе формируются 5 записей в CDR на 1 звонок... Not good..
ОтветитьУдалить