По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Технология TTS (text-to-speech) служит для преобразования текстовой информации в голос. Проще говоря, вы пишите – система проговаривает. В системах телефонной связи такая технология может быть полезна, если необходимо произнести баланс клиента или для озвучивания прочих голосовых сообщений. О том, как настроить TTS в FreePBX 13 с помощью командной строки Asterisk расскажем в статье.
Встроенный TTS
В FreePBX предусмотрен встроенный движок для TTS, который носит название filte. Движок хорошо отрабатывает английскую речь, но не умеет работать с русской. Вкратце ознакомимся с его настройкой. Тут все достаточно тривиально, переходим в Applications -> Text to Speech
Name - дайте имя для TTS механизма
Text - укажите произносимый системой набор слов
Choose an Engine - выберите движок для воспроизведения. По умолчанию, единственным доступным является filte
Destination - куда будет отправлен звонок, после проговаривания фразы указанной в поле Text
На этом этапе система произнесет набор слов по-английски. Писать методом транслитерации – плохая идея. Движок конечно произнесет указанные слова, но это вряд ли можно будет отправить в «продакшн». Итак, как же бесплатно настроить русскоговорящий TTS в FreePBX? Легко, с помощью системы синтеза речи festival
Русский язык FreePBX Festival
Установку будем производить на примере последней сборки FreePBX Distro на базе CentOS 6. Переходим к установке. Скачиваем исходные файлы
cd /usr/src
wget http://www.cstr.ed.ac.uk/downloads/festival/2.1/speech_tools-2.1-release.tar.gz
wget http://www.cstr.ed.ac.uk/downloads/festival/2.1/festival-2.1-release.tar.gz
Распаковываем архивы и инсталлируем необходимые файлы
tar zxvf festival-2.1-release.tar.gz
tar zxvf speech_tools-2.1-release.tar.gz
cd speech_tools
./configure
make
make install
cd ..
cd festival
./configure
make
make install
Система может потребовать установить пакет ncurses-devel. Сделайте это с помощью команды yum install ncurses-devel
Создаем переменную PATH, которая описывает путь до исполняемых файлов в директории festival/bin/
export PATH=$PATH:/usr/src/festival/bin/
Создадим директорию для хранения русскоязычных файлов. Для этого, последовательно в директории festival/lib/ создадим папки /voices и /russian:
mkdir /usr/src/festival/lib/voices/
mkdir /usr/src/festival/lib/voices/russian/
Скачиваем русскоязычный бандл:
wget http://sourceforge.net/projects/festlang.berlios/files/msu_ru_nsh_clunits-0.5.tar.bz2
Далее, распаковываем скачанный архив в созданную директорию:
tar xjf msu_ru_nsh_clunits-0.5.tar.bz2 -C ./festival/lib/voices/russian
Открываем через редактор vim файл /usr/src/festival/lib/languages.scm
vim /usr/src/festival/lib/languages.scm
В самом начале файла вставляем следующие строки:
(define (language_russian)
"(language_russian)
Set up language parameters for Russian."
(set! male1 voice_msu_ru_nsh_clunits)
(male1)
(Parameter.set 'Language 'russian)
)
В файле находим строки указанные ниже:
(language_british_english))
((equal? language 'british_english)
После указанных выше строк, добавляем следующее:
(language_russian))
((equal? language 'russian)
Далее открываем файл /usr/src/festival/lib/siteinit.scm и в самый конец добавляем строку ниже:
(set! voice_default 'voice_msu_ru_nsh_clunits)
Создаем кэш – директорию. Для этого, скопируйте команду ниже:
mkdir /var/lib/asterisk/festivalcache/ && chown asterisk:asterisk /var/lib/asterisk/festivalcache/
Открываем файл /etc/asterisk/festival.conf и добавляем следующие строки:
[main]
host=localhost
port=1314
usecache=yes
cachedir=/var/lib/asterisk/festivalcache/ \созданный выше файл
festivalcommand=(tts_textasterisk "%s" 'file)(quit)
Запускаем сервер festival
festival --server
Если все успешно, то вы увидите строки ниже:
[pbx@localhost ~]#festival --server
server Fri Aug 12 13:00:32 2016 : Festival server started on port 1314
Приступаем к тестам. Открываем файл /etc/asterisk/extensions_custom.conf и создаем тестовый диал – план как указано ниже:
[festival]
exten => s,1,Answer
exten => s,n,Festival('Привет. Все. работает.')
exten => s,n,Hangup
Сохраняем изменения. Для того, чтобы настроить воспроизведение из графического интерфейса FreePBX мы воспользуемся модулем Custom Destinations. Для его настройки перейдите во вкладку Admin -> Custom Destinations . Нажимаем на кнопку Add Destination
Разберем каждую из опций:
Target - укажите здесь festival,s,1, согласно созданному ранее диал-плану. Синтаксис заполнения следующий - [имя_контекста],[экстеншен],[приоритет]
Description - описание создаваемого правила
Notes - заметки. Если вы создаете много подобных правил, советуем создавать подробные заметки, чтобы избежать дальнейшей путаницы.
Return - если ваш контекст заканчивается командой Return (команда возвращает вызов в родительский контекст), то в поле Destination укажите назначение для вызова после отработки TTS.
По окончанию настроек нажмите Submit и затем Apply Config.
Теперь необходимо настроить маршрутизацию на кастомный контекст, который мы только что создали в FreePBX. Например, можно настроить маршрутизацию из IVR меню по нажатию цифры 5 на телефоне, как указано ниже:
Звоним на IVR и нажимаем 5 и слышим синтезированный голос. Параллельно смотрим на запущенный через CLI сервер Festival:
client(1) Fri Aug 12 13:00:54 2016 : accepted from localhost
client(1) Fri Aug 12 13:01:04 2016 : disconnected
client(2) Fri Aug 12 13:01:20 2016 : accepted from localhost
client(2) Fri Aug 12 13:01:20 2016 : disconnected
Google TTS в FreePBX
Еще пару лет назад можно было бы легко воспользоваться Google TTS для синтеза речи. Для этого надо было добавить движок во вкладке Settings -> Text To Speech Engines и отредактировать файл /var/lib/asterisk/agi-bin/propolys-tts.agi. Но, к сожалению, Google начал использовать капчу, чем перекрыл автоматизированный и бесплатный доступ к своему сервису.
Дополнительно про настройку TTS от Festival вы можете прочитать здесь.
Всем привет! Мы продолжаем обозревать и рассказывать вам про коммерческие модули для FreePBX и сегодня на очереди модуль Class of Service, который помогает администратору управлять доступом пользователей к различному функционалу IP-АТС. Итак, поехали!
Обзор
Лицензии на использование модуля Class of Service продаются за 99$ (на
Для управлениями сертификатами SSL в графическом интерфейсе FreePBX 13 создан специальный модуль - Certificate Management. Но, перед тем как перейти к его настройке, давайте вспомним, для чего же нужен сертификат и что же такое SSL в Asterisk?
SSL и FreePBX
Сертификат SSL позволяет вашему FreePBX иметь уникальную цифровую подпись, с помощью которой, каждый раз при обращении к интерфейсу будет создаваться защищенное соединение между web – сервером и клиентским устройством. SSL сертификат включает в себя информацию о его владельце и открытый ключ. Выдачей SSL сертификатов занимается специальный центр сертификации (Certification authority), честность которого априори неоспорима.
Помимо этого, сертификат позволяет совершать звонки по защищенному транспортному протоколу TLS и шифровать голосовые потоки через SRTP.
Генерация CSR
Приступаем к получению сертификата. Центр сертификации попросит вас предоставить сгенерированный CSR файл (Certificate Signing Request). Это является обязательной частью подачи заявления на сертификат, и содержит в себе различные данные об организации, такие как наименование, полное имя домена, код страны и прочие.
Перейдем во вкладку Admin -> Certificate Management. В открывшемся окне модуля нажимаем + Generate CSR. Откроется окно генерации CSR файла:
Разберемся поподробнее с каждым из пунктов:
Name - имя для сгенерированного CSR файла. Когда файл будет сгенерирован, он будет иметь название, как указано в этом поле
Common Name (Host Name) (CN) - полное имя домена
Organization Name (O) - полное наименование организации, как указано в учредительных документах
Organization Unit (OU) - наименование подразделения (отдела), на который выписывается данный сертификат
Country (C) - код страны из двух букв. В нашем случае RU.
State/Province (ST) - наименование области или края, в котором вы находитесь. В нашем случае мы оставили это поле пустым
City or Locality (L) - укажите город. Мы указали Moscow
По окончанию настроек нажмите Generate CSR. После того, как CSR файл будет сгенерирован, он станет доступен для скачивания в главном интерфейсе модуля. Для его загрузки, нажмите на кнопку Download CSR. Сам файл представляет из себя ключ, заключенный в теги начала и окончания:
-----BEGIN CERTIFICATE REQUEST-----
MIIC0zCCAbsCAQAwgY0xFDASBgNVBAMTC21lcmlvbmV0LnJ1MRgwFgYDVQQKEw9N
ZXJpb24gTmV0d29ya3MxCzAJBgNVBAsTAklUMQswCQYDVQQGEwJSVTEMMAoGA1UE
CBMDUUxEMQ8wDQYDVQQHEwZNb3Njb3cxIjAgBgkqhkiG9w0BCQEWE2ludmFsaWRA
ZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKvJYr==
-----END CERTIFICATE REQUEST-----
После этого, вам необходимо написать заявление в центр сертификации и приложить к нему этот файл, после чего вы сможете получить свой SSL сертификат.
Загрузка сертификата
После того, как мы получили сертификат от сертификационного центра (CA), его необходимо загрузить на сервер. Нажимаем на кнопку New Certificate и выбираем Upload Certificate
Name - имя для сертификата
Description - описание сертификата. Используется только внутри модуля и не влияет на импорт сертификата.
Passphrase - кодовая фраза, то есть пароль. Необходима для доступа к сертификату и генерации сертификатов на стороне клиента. Если вы не укажете пароль в данном поле, то вам придется указывать его каждый раз, когда потребуется новый сертификат. К тому же, отсутствие пароля приводит к незащищенности приватного ключа сертификата.
CSR Reference - в данном поле выберите сгенерированный CSR файл на предыдущем этапе.
Поле Certificate - откройте файл сертификата, который вам предоставил сертификационный центр и полностью копируйте его в это поле, начиная от тэга «-----BEGIN CERTIFICATE-----» до «-----END CERTIFICATE-----»
Поле Trusted Chain - порой, центр сертификации (CA), помимо самого сертификата может предоставить вам целый набор файлов. Они называется Trusted Chain, то есть цепочки доверия. Последовательно откройте каждый из файлов и скопируйте их содержимое в это поле.
По окончанию настроек нажмите Generate Certificate. По окончанию настроек вы сможете увидеть ваш сертификат в общем списке. В процессе эксплуатации он доступен для редактирования:
Бесплатный сертификат Let’s Encrypt
Интерфейс FreePBX 13 имеет встроенную возможность настройки бесплатного SSL сертификата с помощью сертификационного центра Let’s Encrypt. Чтобы воспользоваться бесплатным сертификатом, у вашего сервера должно быть настроено доменное имя, и его оно должно резолвиться по его IP – адресу.
Помимо этого, следующие хосты должны быть добавлены в разрешенные в настройках фаервола:
outbound1.letsencrypt.org
outbound2.letsencrypt.org
mirror1.freepbx.org
mirror2.freepbx.org