четверг, 8 мая 2014 г.

Очереди звонков Asterisk

При телефонизации необходимость создания очереди звонков возникает достаточно часто. Например при наличии нескольких  менеджеров , руководитель хочет, что бы им на отдел поступали звонки и звонки равномерно распределялись по менеджерам, или что бы все звонки поступали ко всем сразу все это работает. Работает с помощью Queue.
С начала добавим в sip.conf наших менеджеров:
[111]
context=support
callerid="111" <111>
username=111
secret=*******
call-limit=1
callgroup=10
pickupgroup=15
dtmfmode=rfc2833
deny = 0.0.0.0/0.0.0.0
permit = 192.168.10.10/255.255.255.255

Теперь создадим очередь и добавим в конце описание нашей очереди. Описывается она в queues.conf:
[general]
persistentmembers = yes
autofill = yes

[queue1] ;Название нашей очереди
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/111
member=>SIP/112
member=>SIP/113
member=>SIP/114

А теперь осталось направить входящие звонки на Queue. Для этого в extensions.conf, в том контексте в котором должны поступать звонки на очередь, прописываем:

exten => 101,1,Answer() 
exten => 101,n,Background(/etc/asterisk/sounds/support/ivr-techpodderzhka)
exten => 101,n,WaitExten(5)
exten => 101,n,Dial(${SIP/500,120,r)
exten => 1,1, Dial(${SIP/500,120,r)
exten => i,1, Dial(${SIP/501,120,r) ; если клиент набрал несуществующий номер пункта меню

exten => 2,1,Dial(SIP/111&SIP/112&SIP/113&SIP/114,r)
exten => 2,n,Playback(/etc/asterisk/sounds/support/queue-vsezanyaty)
exten => 2,n,Queue(queue1,t,,,300) 

Комментариев нет:

Отправить комментарий