Александр Мисюрин
19.08.2019
279

Голосовые уведомления для очередей, запись и удаление через сервисный код

Многие фирмы имеют в своем распоряжении собственных технических специалистов, логистов и т.д., которых очень часто объединяют в одну группу или очередь вызова. Иногда на предприятии происходят массовые сбои или проводятся плановые работы, для того, чтобы обычные пользователи были в курсе происходящих работ и не отвлекали специалистов, может пригодиться голосовое уведомление о происходящих событиях. Однако записывать […]

Многие фирмы имеют в своем распоряжении собственных технических специалистов, логистов и т.д., которых очень часто объединяют в одну группу или очередь вызова. Иногда на предприятии происходят массовые сбои или проводятся плановые работы, для того, чтобы обычные пользователи были в курсе происходящих работ и не отвлекали специалистов, может пригодиться голосовое уведомление о происходящих событиях. Однако записывать голосовую запись для оповещения через FreePBX (если используется) или просить у кого-либо микрофон, а затем заливать на АТС, может быть неудобно, или вовсе невозможно при отсутствии доступов.

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

Тестирование проводилось на CentOs 6.9, Asterisk 13.21, FreePBX 14, а также программа Audacity (можно использовать любой другой редактор звука).

Для начала необходимо создать файл записи с тишиной, который будем подставлять вместо текущей записи, поскольку иначе в консоль Asterisk будут сыпаться ошибки.

Пустая запись в audacity
Пустая запись в audacity

Соответственно при «удалении» текущей назначенной записи, будем подменять ее на запись с тишиной.

Делать ее длинной не имеет смысла, достаточно около 0.2 секунд, чтобы Asterisk ее увидел. Формат записи: WAV 16 bit mono 8000Hz

После данную запись необходимо поместить в директорию записей Asterisk: /var/lib/asterisk/sounds/ru/custom/ и назначить пользователя asterisk.

Chown asterisk. /var/lib/asterisk/sounds/ru/custom/empty.wav

Чтобы указать запись в группе или очереди, ее необходимо загрузить на АТС, достаточно скопировать пустую запись с другим именем и через модуль System Recordings поместить на АТС.

Заливаем запись
Заливаем запись

Указать в группе данную запись в поле Join Announcement, для оповещения в любом случае.

 Указываем в группе
Указываем в группе
В случае использования «чистого» Asterisk данную запись нужно указывать до отправки звонка в очередь, например:
exten => 600,1,Playback(rec)
same => n,Queue(support,rtT,,,90)
same => n,Hangup

После указания записи в очереди необходимо реализовать возможность ее записи. Используем сервисный код вида: *номер очереди. Устанавливаем переменную, отвечающую за действие: запись или удаление, а также назначаем переменной номер очереди.

exten => _*600,1,Read(mark,ru/custom/mark,10)
same => n,Set(numq=${EXTEN:1})
same => n,GotoIf($["${mark}"="1"]?tech_rec,1,1:tech_rec,2,1)

После ввода цифры, отправляем на соответствующий контекст и exten:

[tech_rec]
exten => 1,1,Answer()
same => n,Playback(ru/vm-intro)
same => n,Record(/var/lib/asterisk/sounds/ru/custom/rec_${numq}.wav,,,k)
same => n,Playback(ru/privacy-thankyou)
same => n,Hangup

exten => 2,1,Answer()
same => n,System(cp –f /var/lib/asterisk/sounds/ru/custom/empty_record.wav /var/lib/asterisk/sounds/ru/custom/rec_${numq}.wav) //вместо удаления записи, подменяем ее пустой
same => n,Playback(ru/vm-deleted)
same => n,Hangup

Соответственно, при выборе записи, проиграется текст, с просьбой записать голосовое сообщение, для того, чтобы запись не удалялась при положенной трубке, указывается опция k (keep recording) в приложении Record.

Сообщение о необходимом действии можно записать подобным образом или воспользоваться бесплатными сайтами.

Проверяем запись.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices