Документация администратора
- Групповой вызов абонентов
- Запись звонков в многоканальном режиме
- Переадресация на сотовые номера сотрудников
- Приложение Record
- Ручное резервное копирование автоматической телефонной станции
- Синтез речи
- Сообщение после звукового сигнала
- Смена исходящей маршрутизации для внутреннего номера
- Скрипт отслеживания службы
- Настройка уведомлений Телеграм
Групповой вызов абонентов
1. Пример группового вызова абонентов
Set : DIALGROUP(group_100,add)=PJSIP/user-101-domain
Set : DIALGROUP(group_100,add)=PJSIP/user-102-domain
Set : DIALGROUP(group_100,add)=PJSIP/user-103-domain
Set : DIALGROUP(group_100,add)=PJSIP/user-104-domain
Set : DIALGROUP(group_100,add)=PJSIP/user-105-domain
Dial : ${DIALGROUP(group_100)},60,tT
Запись звонков в многоканальном режиме
Начиная с версии 8.3.4
Для настройки записи в многоканальном режиме необходимо изменить глобальную переменную MIXMONITOR_COMMAND в маршрутизации. Данный параметр можно изменить только в базе данных в таблице static_extensions.
Значение переменной по умолчанию:
/var/lib/asterisk/scripts/wavtompeg/script.php --uniqueid="^{UNIQUEID}"
Значение переменной для записи в многоканальном режиме:
/var/lib/asterisk/scripts/wavtostereompeg/script.php --uniqueid="^{UNIQUEID}"
Для записи разговора используется приложение MixMonitor с параметрами:
MixMonitor: ${UNIQUEID}.wav,,${MIXMONITOR_COMMAND}
Настройки приложения для записи в многоканальном режиме
MixMonitor: ${UNIQUEID}.wav,r(${UNIQUEID}_receive.wav)t(${UNIQUEID}_transmit.wav),${MIXMONITOR_COMMAND}
Для изменения параметра во всей телефонной станции необходимо выполнить запрос:
Выбрать строки:
SELECT * FROM `realtime_extensions` WHERE `app` = "MixMonitor";
Для записи в одноканальном режиме необходимо заменить строки выполнив следующий запрос:
UPDATE `realtime_extensions` SET `appdata` = "${UNIQUEID}.wav,,${MIXMONITOR_COMMAND}" WHERE `app` = "MixMonitor";
Для записи в многоканальном режиме необходимо заменить строки выполнив следующий запрос:
UPDATE `realtime_extensions` SET `appdata` = "${UNIQUEID}.wav,r(${UNIQUEID}_receive.wav)t(${UNIQUEID}_transmit.wav),${MIXMONITOR_COMMAND}" WHERE `app` = "MixMonitor";
Переадресация на сотовые номера сотрудников
Переадресация при входящих вызовах
Для настройка вызова на сотовый, необходимо использовать приложение Dial. Добавляется в место где необходимо произвести вызов на сотовый.
Dial: SIP/<Номер>@<Транк>,<Время>
Номер - Номер абонента
Транк - Транк через который совершается вызов
Время - Время дозвона абонента
Пример:
NoOp: Входящий вызов
...
...
...
Dial: SIP/user-110-office,15,tT
Dial: SIP/81234567890@peer-71234567890-office,60
Hangup
Переадресация при добавочных вызовах
Для настройки переадресации при наборе добавочного номера необходимо добавить в маршрутизацию добавочных номеров расширение 110.
Пример маршрутизации добавочного номера 110 с переадресацией на сотовый:
NoOp: Вызов на добавочный номер
Dial: SIP/user-110-office,15,t
Dial: SIP/81234567890@peer-71234567890-office,60
Hangup
Переадресация при внутренних вызовах
Для настройки переадресации при наборе внутреннего номера необходимо добавить в маршрутизацию внутренних номеров расширение 110.
Пример маршрутизации внутреннего номера 110 с переадресацией на сотовый:
NoOp: Вызов на внутренний номер
...
...
...
Dial: SIP/user-110-office,15,tT
Dial: SIP/81234567890@peer-71234567890-office,60
Hangup
Приложение Record
Краткое содержание
Запись в файл.
Описание
Если имя файла содержит «%d», эти символы будут заменены числом, увеличивающимся на единицу при каждой записи файла. Пользователь может нажать «#», чтобы прекратить запись и перейти к следующему приоритету. Если пользователь повесит трубку во время записи, все данные будут потеряны и приложение закроется.
-
RECORDED_FILE - Будет установлено окончательное имя файла записи без расширения.
-
RECORD_STATUS - Это окончательный статус команды
-
DTMF- Был получен завершающий DTMF ('#' или '*', в зависимости от опции 't')
-
SILENCE- В записи возникла максимальная тишина.
-
SKIP- На линию еще не ответили и была указана опция 's'.
-
TIMEOUT- Достигнута максимальная длина.
-
HANGUP- Канал завис.
-
ERROR- Произошла неисправимая ошибка, повлекшая за собой ПРЕДУПРЕЖДЕНИЕ в журналах.
-
Синтаксис
Record(filename.format,[silence,[maxduration,[options]]])
Аргументы
-
filename
-
filename - необходимый
-
format - требуется - формат типа записываемого файла (wav, gsm и т. д.).
-
-
silence - Количество секунд молчания, которое можно разрешить перед возвращением.
-
maxduration - Максимальная продолжительность записи в секундах. Если отсутствует или равен 0, то максимума нет.
-
options
-
a - Добавлять к существующей записи, а не заменять.
-
n - Не отвечайте, но все равно запишите, если на линии еще не ответили.
-
o - Выход при нажатии 0, установив для переменной RECORD_STATUS значение «OPERATOR» вместо «DTMF».
-
q - тихо (не издавать звуковой сигнал).
-
s - пропустить запись, если на линии еще нет ответа.
-
t - используйте альтернативный ключ завершения '*' (DTMF) вместо стандартного '#'
-
u - Не обрезайте записанное молчание.
-
x - Игнорировать все клавиши терминатора (DTMF) и продолжать запись до зависания.
-
k - Сохранять записанный файл после зависания.
-
y - Прекратить запись, если получена какая-либо цифра DTMF.
-
Ручное резервное копирование автоматической телефонной станции
Заходим через putty на сервер.
Для удобства можно использовать приложение Midnight Commander.
# mc
Создаем во временной папке \tmp, папку куда будем заливать резервные копии, и в будущем заархивируем (например backup).
# mkdir /tmp/backup
Копируем в нее, сохраняя всю структуру, папки:
etc/asterisk
opt/evolvex
var/lib/asterisk
var/www/html
Ниже производим действие в консоли:
# cd /tmp/backup
# mysqldump pbx > pbx.sql (вводим пароль от базы)
В папке backup должен появиться файл pbx.sql
Теперь всю папку backup заархивируем - находясь в папке tmp пропишем в консоли:
# cd /tmp
# tar czf archive.tar.gz /tmp/backup/
Полученный архив закачиваем на обменник, можно по ftp (логин@адрес_фтп_сервера) и вводим пароль пользователя.
Синтез речи
Введение
Для оперативного создания голосовых приветствий и интерактивных голосовых меню в версии 8.0.0 была реализована возможность синтезировать речь через Web интерфейс телефонной станции. Данный модуль использует синтез от компании Яндекс. Для подключения данного модуля необходимо получить Yandex IAM Token. Полученный токен необходимо ввести в Настройки - Яндекс - Yandex IAM Token.
Синтез речи
Для работы с синтезом речи необходимо открыть меню Медиа - Синтез речи. Откроется окно настроек синтеза речи.
Для выбора голоса и амплуа необходимо воспользоваться таблицей ниже.
Голос | Пол | Амплуа |
---|---|---|
alena (по умолчанию) |
Ж | (по умолчанию) нейтральная — neutral радостная — good |
filipp |
M | — |
ermil |
M | (по умолчанию) нейтральный — neutral радостный — good |
jane |
Ж | (по умолчанию) нейтральная — neutral радостная — good раздраженная — evil |
madirus |
M | — |
omazh |
Ж | (по умолчанию) нейтральная — neutral раздраженная — evil |
zahar |
M | (по умолчанию) нейтральный — neutral радостный — good |
dasha |
Ж | (по умолчанию) нейтральная — neutral радостная — good дружелюбная — friendly |
julia |
Ж | (по умолчанию) нейтральная — neutral строгая — strict |
lera |
Ж | (по умолчанию) нейтральная — neutral дружелюбная — friendly |
masha |
Ж | (по умолчанию) радостная — good строгая — strict дружелюбная — friendly |
marina |
Ж | (по умолчанию) нейтральная — neutral шепот — whisper дружелюбная — friendly |
alexander |
M | (по умолчанию) нейтральный — neutral радостный — good |
kirill |
M | (по умолчанию) нейтральный — neutral строгий — strict радостный — good |
anton |
M | (по умолчанию) нейтральный — neutral радостный — good |
В текстовом поле добавить необходимый текст для синтеза и нажать кнопку "Синтезировать". Программа автоматически подготовит необходимый формат файла для телефонной станции, дополнительное конвертирование не нужно. В правой части окна в таблице "Список синтеза речи" добавится строка синтезированной речи.
Для скачивания аудиофайла нажмите кнопку "Скачать".
Таблица заполняется по мере синтеза речи и хранит файлы за все время синтеза. При необходимости старые записи можно удалить.
Дополнительно
При необходимости данный модуль можно интегрировать с другими сервисами и приложениями. Для примера можно использовать интеграцию с CRM системой. При звонке в офис компании, голосовое приветствие будет синтезировано автоматически и система поприветствует клиента по имени и отчеству.
Сообщение после звукового сигнала
Подготовка аудиофайла
Необходимо подготовить файл звукового приветствия, например "Оставьте сообщение после звукового сигнала".
Через меню Медиа - Аудиофайлы загрузите файл с наименованием "message-office".
Файл должен быть в формате wav (rate 8000 Hz, sample rate 16 bits, mono).
Настройка маршрутизации
Необходимо подготовить новую маршрутизацию, например "message-office"
В созданной маршрутизации добавить расширение "s"
NoOp : Сообщение после звукового сигнала
Answer
Playback : message-office
Record : /tmp/${UNIQUEID}.wav,,300,k
Hangup
Настройка отправки на электронную почту
Добавить в маршрутизацию расширение "h"
NoOp : Отправка сообщения на электронную почту
AGI : email/attachment.php,--source="${CALLERID(number)}",--destination="Номер",--emails="mail@example.com",--attachment="/tmp/${UNIQUEID}.wav"
Hangup
Настройка перенаправления
В нужном месте маршрутизации добавьте приложение "GoTo"
NoOp : Входящий вызов
...
...
...
Goto : message-office,s,1
Hangup
Смена исходящей маршрутизации для внутреннего номера
1. Меню - Канальный драйвер - Конечная точка
2. Нажимаем редактировать напротив нужной конечной точки.
3. Меняем параметр маршрутизация.
Скрипт отслеживания службы
1. Скрипт отслеживания службы
#!/bin/sh
# Название процесса
DAEMON="asterisk"
# "Убираем" grep из вывода
EXCLUDE="grep"
# Минимальное количество процессов
PROC_NUM="0"
# Команда для перезапуска
RESTART="/etc/init.d/asterisk restart"
# Утилита ps
PS="/bin/ps"
# Утилита grep
GREP="/usr/bin/grep"
if [ `$PS -ax | $GREP $DAEMON | $GREP -v $EXCLUDE | wc -l` -le "$PROC_NUM" ]
then
$RESTART
fi
Настройка уведомлений Телеграм
1. Авторизуемся на телефонной станции.
2. Поиск идентификатора чата сотрудника.
Для поиска идентификатора чата, необходимо что бы сотрудник отписался боту телеграм.
В телефонной станции заходим в меню Отладка - Телеграм.
Если сотрудник отписался боту, то можно увидеть сообщение от данного сотрудника и его идентификатор чата.
Данные об идентификаторе чата отображаются в течении последних 24 часов с момента написания телеграм боту.
3. Настройка контактов получателей сообщений.
Заходим в меню Модули - Телеграм.
Открываем список контактов получателей через Контакты в необходимой строке.
Добавляем сотрудника в список контактов получателей:
Наименование - Любое наименование.
Описание - Описание контакта.
Включен: Да.
Идентификатор чата - идентификатор чата скопированный из отладки.