По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Технология 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 вы можете прочитать здесь.
img
В 2013 году, вместе с бета – релизом Asterisk 12 астериск - комьюнити был представлен новый API, который получил гордое название - ARI (Asterisk REST Interface). Что это и как им пользоваться, если вы любите php - рассказываем в статье. Зачем Asterisk нужен новый API? Все мы привыкли, что Asterisk имеет два интерфейса: Asterisk Manager Interface (AMI) и Asterisk Gateway Interface (AGI). AMI это асинхронный интерфейс, который используется для управления вызовами, инициацией звонков и всем, что попадает под определение «call control». AGI, в свою очередь, предоставляет синхронный интерфейс манипуляции одним каналом, являясь своего рода «прослойкой» между диалпланом и внешними скриптами. Важно отметить, что на время выполнения, AGI блокирует поток. В связке, оба интерфейса неплохо справляются с задачами, связанными с различного рода манипуляциями с каналами и диалпланом Asterisk. Но разработка сложного и многоуровневого приложения может стать по настоящему трудной задачей для разработчика, в которой придется задействовать AGI и AMI одновременно. Именно в этот момент на помощь приходит ARI (Asterisk REST Interface). Отметим, что ARI не заменяет AGI или AMI. Новый интерфейс позволяет разработчикам заменить управление на уровне диалплана внешними приложениями (скриптами). Тем самым, ARI упрощает жизнь разработчикам бизнес – приложений, которые используют Asterisk в качестве коммуникационной платформы. ARI дает девелоперам высокоуровневый REST интерфейс, через который доступно управление базовыми операциями Asterisk, например, такими как каналы, мосты (бриджи), конечные устройства, управление медиа – потоками, записью разговоров и так далее. Информация об этих объектах передается в асинхронном режиме событиями JSON поверх WebSocket. Только представьте: раньше, чтобы овладеть подобным набором инструментов, вам необходимо было иметь навыки программирования на C и разработать свой собственный модуль и внедрить в Asterisk. С использованием ARI, приложения могут быть написаны на вашем любимом языке, будь то Python, Ruby, PHP или JavaScript! Для удобства, ниже мы привели библиотеки и ссылки на них для различных языков программирования: Библиотека Язык программирования Ресурс ari4java Java https://github.com/l3nz/ari4java ari-py Python https://github.com/asterisk/ari-py AsterNET.ARI C#/.NET https://asternetari.codeplex.com/ node-ari-client JavaScript (node) https://github.com/asterisk/node-ari-client phpari PHP http://www.phpari.org/ Подведем итог: новый интерфейс ARI дает новые возможности не только для Asterisk комьюнити, но и для разработчиков бизнес приложений. От слов к делу, переходим к настройке. Настройка phpari Поскольку ARI это технология, базирующаяся на WebSocket, первым делом необходимо внести некоторые настройки в файл http.conf, который находится в директории /etc/asterisk/: cd /etc/asterisk/ vim http.conf Приводим файл к следующему виду: [general] enabled = yes bindaddr = 127.0.0.1 Далее, «сетапим» файл ari.conf, открыв его командой vim ari.conf: [general] enabled = yes pretty = yes [имя_вашего_пользователя] type = user read_only = no password = пароль_для_пользователя В секции [имя_вашего_пользователя], укажите юзернейм, а в секции password его соответствующий пароль. Перегружаем Asterisk: asterisk –rv core restart now Теперь мы установим phpari. Установку будем производить с помощью composer: Если у вас не установлен composer, вы можете скачать его по этой ссылке. Открываем для редактирования файл composer.json и добавляем в него следующий код: { "require": { "php": ">=5.3.9", "educoder/pest": "1.0.0", "devristo/phpws": "dev-master", "greenfieldtech-nirs/phpari": "dev-master" } } После чего запускаем команду: composer install Необходимая библиотека будет загружена. Переходим в директорию /vendor/greenfieldtech-nirs/phpari и открываем для редактирования файл phpari.ini: cd /vendor/greenfieldtech-nirs/phpari vim phpari.ini Редактируем следующим образом: [general] debug=0 logfile=console ; #если хотите логировать ARI в консоль, то оставьте данное поле без изменений. Если хотите логировать в файл, то укажите полный путь к нему; [asterisk_ari] username= имя_вашего_пользователя password= пароль_для_пользователя host=IP_адрес_Asterisk port=8088 endpoint=/ari transport=ws ; #нешфированный транспорт, wss для шифрования; Отлично. Теперь давайте соберем простенький .php скрипт, который будет показывать активные каналы. Для этого, в директории, где у нас находится скачанная библиотека phpari и соответственно директория /vendor, создаем файл ari.php и наполяем его следующей конфигурацией: require_once "vendor/autoload.php"; $ariCon = new phpari(); print_r($ariCon->channels()->channel_list()); Сохраняем. Сделайте 1 активный вызов на вашем Asterisk (например, позвонив с софтфона на софтфон). Переходим в консоль, и даем команду на выполнение этого скрипта: php ari.php Если все сделано правильно, в консоли мы увидим JSON – ответ, в котором будут переданы параметры активного канала: context, exten, caller, accountcode и прочие. Как вызвать приложение? Вызвать приложение из диалплана очень просто. Для этого, необходимо использовать Stasis: exten => _XXXX,1,Stasis(ваше_приложение) Что именно умеет ARI? Кратко поговорим о том, какие именно операции умеет совершать ARI: Метод Путь Описание GET /channels/{channelId} Получить информацию о канале с channelId POST /channels/{channelId} Создать канал с указанным channelId DELETE /channels/{channelId} Удалить (Hang Up) канал POST /channels/{channelId}/continue Возврат в диалплан (выход из скрипта) POST /channels/{channelId}/continue Возврат в диалплан (выход из скрипта) POST /channels/{channelId}/answer Ответить на канал POST /channels/{channelId}/mute "Замьютить" канал DELETE /channels/{channelId}/mute "Снять мьют" с канала POST /channels/{channelId}/hold Поставить вызов на удержание DELETE /channels/{channelId}/hold Снять вызов с удержания POST /channels/{channelId}/play Воспроизвести медиа файл POST /channels/{channelId}/record Начать запись GET /bridges Лист всех активных мостов (бриджей) GET /bridges Лист всех активных мостов (бриджей) POST /bridges/{bridgeId}/addChannel Добавить канал к бриджу POST /bridges/{bridgeId}/removeChannel Удалить канал с бриджа GET /endpoints Список оконечных устройств GET /endpoints/{tech} Список оконечных устройств, которые функционируют по указанной технологии GET /endpoints/{tech}/{resource} Детальная информация по оконечному устройству GET /sounds Список звуков GET /sounds/{soundId} Список звуков
img
Настройка IPv4-адресации для удаленного доступа к устройствам Cisco Чтобы иметь возможность подключения к коммутатору по Telnet или SSH, а также использовать другие протоколы управления на основе IP (например, Simple Network Management Protocol или SNMP) функционировать должным образом, коммутатору требуется IP-адрес, а также настройки других сопутствующих параметров. IP-адрес не влияет на функциональную работу коммутатора. В этой части будут рассмотрены основные параметры IPv4-адресации, необходимые для настройки коммутатора, а затем будут приведены команды и примеры настроек. Коммутаторы могут быть настроены с параметрами IPv6-адресации. Настройки IPv4 и IPv6 аналогичны. Далее уделим основное внимание исключительно IPv4. Настройки IP-адресации узла и коммутатора Коммутатор нуждается в тех же настройках IP-адресации, что и компьютер с сетевым интерфейсом Ethernet (FastEthernet). Напомню, что каждый ПК имеет процессор. Этот процессор управляется специальной операционной системой для обработки сигналов и отправки их на сетевую карту. Компьютер имеет минимум оду сетевую карту Ethernet (NIC). Настройки сетевой карты ПК включают в себя: настройка статического или получаемого по DHCP IP-адреса сетевой карты.Коммутатор использует те же принципы, что и ПК, но за исключением того, что коммутатор использует виртуальную сетевую карту внутри устройства. Как и ПК, коммутатор имеет реальный процессор, работающий под управлением ОС (IOS). Коммутатор обладает множеством портов Ethernet (FastEthernet, GigEthernet), но в отличие от ПК, коммутатор не назначает IP-адрес управления какому-то конкретному порту или всем сразу. Коммутатор использует NIC концепцию (NIC-like), называемую коммутируемым виртуальным интерфейсом (SVI), или, чаще всего, именуемым интерфейсом VLAN, который действует как отдельная сетевая карта (NIC) коммутатора. Тогда настройки на коммутаторе сводятся к настройке IP-адресации VLAN. Пример настройки показан на рисунке: На рисунке изображен виртуальный ПК, подключенный к другим реальным узлам в сети через виртуальный интерфейс VLAN 1. IP-адрес интерфейса VLAN1-192.168.1.8; маска подсети 225.255.255.0 и подсеть VLAN 1 - 192.168.1.0. Виртуальный ПК и интерфейс VLAN1 являются частью коммутатора. Остальные узлы находятся за пределами коммутатора. Используя интерфейс VLAN 1 с настроенной IP-адресацией, коммутатор может отправлять и получать кадры на любом из портов VLAN 1. В коммутаторе Cisco, по умолчанию, все порты назначены во VLAN 1. В коммутаторах можно настроить большое количество VLAN, поэтому у системного администратора есть выбор, какой VLAN использовать. Таки образом IP-адрес управления не обязательно должен быть настроен именно на VLAN1 Коммутатору Cisco второго уровня (L2) задается только один IP-адрес для управления. Однако можно использовать любой VLAN, через который подключается коммутатор. Настройка включает: настройку т интерфейса VLAN с указанием его номера (например VLAN11) и присвоением соответствующего IP-адреса с маской подсети. Например, на рисунке показан коммутатор 2 уровня с несколькими физическими портами в двух различных VLAN (VLAN 1 и 2). На рисунке также показаны подсети, используемые в этих VLAN. Системный администратор может выбрать для использования передачи данных либо то, либо другое. На рисунке виртуальный ПК коммутатора соединен с другими системами вне устройства с помощью двух интерфейсов VLAN. Подсети виртуальных локальных сетей 192.168.1.0 и 192.168.2.0. Интерфейсу VLAN 1 присвоен Ili-адрес из подсети 192.168.1.0 Интерфейсу VLAN 2, присвоен Ili-адрес из подсети 192.168.2.0 Обратите внимание, что VLAN должен быть привязан к физическому порту коммутатора. Если этого не сделать, то интерфейс VLAN не включится (то есть он будет в состоянии down), и соответственно коммутатор не сможет обмениваться пакетами с другими устройствами в сети. Примечание: Некоторые коммутаторы Cisco могут быть настроены для работы в качестве коммутатора 2 уровня или коммутатора 3 уровня. Действуя в качестве коммутатора 2 уровня, коммутатор обрабатывает, пересылает и управляет пакетами Ethernet. В другом случае, коммутатор может работать как коммутатор 3 уровня. Это означает, что коммутатор может выполнять как коммутацию 2 уровня, так и маршрутизацию IP-пакетов уровня 3, используя логику третьего уровня, обычно используемую маршрутизаторами. В данной статье рассматриваются коммутаторы второго уровня (L2) Настройка IP-адреса (и маски) на одном интерфейсе VLAN позволяет коммутатору обмениваться пакетами с другими узлами в подсети, принадлежащей этой VLAN. Однако коммутатор не может взаимодействовать за пределами локальной подсети без другого параметра конфигурации, называемого шлюзом по умолчанию (default gateway). Причина настройки шлюза по умолчанию на коммутаторе такая же, как и на обычном компьютере. То есть при отправке пакета сетевая карта компьютера думает, как и кому отправить пакет А именно: отправить IP-пакеты узлам, находящимся в той же подсети, напрямую или отправить IP-пакеты узлам, находящимся в другой подсети, через ближайший маршрутизатор, то есть через шлюз по умолчанию. На рисунке изображена данная концепция: На коммутаторе (справа) на VLAN1 настроен IP-адрес 192.168.1.200. Через этот интерфейс (VLAN1) коммутатор может обмениваться пакетами с ПК, входящими в подсеть 192.168.1.0 (желтый сектор) Однако для связи с узлом A, расположенным в левой части рисунка, коммутатор должен использовать маршрутизатор R1 (шлюз по умолчанию) для пересылки IP-пакетов на узел A. Чтобы пакеты дошли до узла А на коммутаторе необходимо произвести настройку шлюза по умолчанию, указав IP-адрес маршрутизатора R1 (в данном случае 192.168.1.1). Обратите внимание, что коммутатор и маршрутизатор используют одну и ту же маску, 255.255.255.0, которая помещает адреса в одну подсеть. Настройка IPv4-адресации на коммутаторе Настройка IP-адресации на коммутаторе осуществляется настройкой на VLAN. Следующие этапы показывают команды, используемые для настройки IPv4 на коммутаторе (настройка IP-адресации на VLAN 1). Введите команду interface vlan 1 в режиме глобальной конфигурации для входа в режим настройки интерфейса VLAN 1. Введите команду ip address <ip-address> <mask> для назначения ip-адреса и маски подсети в режиме конфигурации интерфейса. Введите команду no shutdown в режиме конфигурации интерфейса, чтобы включить интерфейс VLAN 1, если он еще не включен. Введите команду ip default-gateway<ip-address> для назначения ip-адреса шлюза по умолчанию в режиме глобальной конфигурации, чтобы настроить шлюз по умолчанию. (Необязательно) Введите команду ip name-server ip-address1 ip-address2 ... в режиме глобальной конфигурации, чтобы настроить коммутатор на использование DNS для преобразования имен в соответствующие IP-адреса. Пример настройки статической IP-адресации В этом примере показана особенно важная и распространенная команда: команда [no] shutdown. Что бы включить интерфейс ("поднять") на коммутаторе, используйте команду no shutdown в режиме конфигурации интерфейса . Что бы отключить интерфейс используйте в этом же режиме команду shutdown . Эта команда может использоваться на физических интерфейсах Ethernet, которые коммутатор использует для пересылки пакетов Ethernet, а также на интерфейсах VLAN. Кроме того, обратите внимание на сообщения, которые появляются непосредственно под командой no shutdown в примере выше. Эти сообщения являются сообщениями системного журнала, генерируемыми коммутатором, говорящий о том, что коммутатор действительно включил интерфейс. Коммутаторы (и маршрутизаторы) генерируют сообщения системного журнала в ответ на различные события, и эти сообщения появляются на консоли. Настройка коммутатора для получения IP-адреса по DHCP Коммутатор также может использовать протокол Dynamic Host Configuration Protocol (DHCP)для динамического назначения параметров IPv4-адресации. В принципе, все, что вам нужно сделать, это сказать коммутатору использовать DHCP на интерфейсе и включить интерфейс. Предполагая, что DHCP работает в этой сети, коммутатор автоматически получит все его настройки. Следующие этапы показывают команды для настройки коммутатора, используя в качестве примера интерфейс VLAN 1. Войдите в режим конфигурации VLAN 1 с помощью команды глобальной конфигурации interface vlan 1 и включите интерфейс с помощью команды no shutdown по мере необходимости. Назначьте IP-адрес и маску с помощью подкоманды ip address dhcp. Пример настройки IP-адресации коммутатора по DHCP Проверка настроек IPv4 - адресации на коммутаторе Настройку IPv4 адресацию коммутатора можно проверить несколькими способами. Во-первых, вы всегда можете посмотреть текущую конфигурацию с помощью команды show running-config. Во-вторых, вы можете посмотреть информацию об IP-адресе и маске с помощью команды show interfaces vlan x, которая показывает подробную информацию о состоянии интерфейса VLAN в VLAN x. Наконец, если используется DHCP, используйте команду show dhcp lease, чтобы увидеть (временно) арендованный IP-адрес и другие параметры. (Обратите внимание, что коммутатор не хранит полученные настройки IP-адресации по DHCP в файле running-config.) Ниже показан пример выходных данных вышеприведенных команд. Выходные данные команды show interfaces vlan 1 отображают две очень важные детали, связанные с IP-адресацией коммутатора. Во-первых, команда show выводит список состояния интерфейса VLAN 1-в данном случае "up/up." Если интерфейс VLAN 1 выключен, тогда коммутатор не сможет отправлять пакеты через этот интерфейс. Примечательно, что если вы забудете выполнить команду no shutdown, интерфейс VLAN 1 останется в состоянии выключен и будет указан как " administratively down " в выводе команды show. Во-вторых, обратите внимание, что выходные данные содержат IP-адрес интерфейса в третьей строке. Если вы вручную настроите IP-адрес, то он всегда будет отображаться; однако, если вы используете DHCP и DHCP не работает, то команда show interfaces vlan x не будет выводить IP-адрес на экран. Если же DHCP работает, то вы увидите IP-адрес после использования команды show interfaces vlan 1. Хотите почитать про базовую настройку коммутаторов? По ссылкам доступны первая и вторая части статьи
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59