All articles, tagged with “freeswitch”

OPAL интеграция: mod_opal официально присвоен статус бета-версия

Разработчики FreeSWITCH сообщили хорошую новость: OPAL интеграции продвигается вперед. OPAL интеграции через mod_opal, официально присвоен статус бета-версия. OPAL- Абстракция Библиотека для телефонии — с открытым исходным кодом (ранее openh323). OPAL расширяет возможности своего предшественника, включая, помимо протоколов H.323, такие протоколы IAX2 и SIP. Кроме того, OPAL не ограничивается строго голосовых приложений, так он может работать с факсами и видео. С ним поставляется с несколькими аудио-и видео-кодеков, а также позволяет загружать пользовательские кодеки.

If you would like to try mod_opal be sure to use the ‘buildopal.sh’ script in the build subdirectory of the FreeSWITCH source directory. This script will install OPAL and the required PTLIB. Also, be sure to update your FreeSWITCH installation to the latest SVN. Если вы хотите попробовать mod_opal Обязательно используйте ‘buildopal.sh’ скрипт в поддиректории script. Этот сценарий устанавит OPAL и необходимый PTLIB. Кроме того, не забудьте обновить FreeSWITCH до последней SVN версии.

Делаем звуковые файлы для FreeSWITCH с помощью Festival

Для тестирования модуля mod_say_ru я использую festival (синтезатор речи)

файл с фразами text/tts.txt — папка|имя файла|текст| затем ./tts-build.sh по окончанию бдут готовый файл с фразами freeswitch-sound-ru.0.2.tar.gz

Различия в качестве синтеза между

Качество не ахти какое (первое более похоже на первые), мне даже больше нравится 0.4

Вышел первый релиз-кандидат FreeSWITCH 1.0.3

Комана разработчиков FreeSWITCH выпустила первый релиз-кандидат для последней версии FreeSWITCH. RC1 Включает многочисленные исправления ошибок и новые расширения, которые были добавлены с момента выхода 1.0.2. Всем рекомендуется скачать последнюю версию и попробывать ее.

Что нового в 1.0.3

  • LCR — новый модуль (mod_lcr), представленный Рэймондом Чандлером. Этот модуль предназначены для выбора маршрута звонков, основываясь на данных поиска по базе данных. Более подробная информация доступна здесь.
  • DID Routing Engine (mod_easyroute) описание этого модуля в предыдущей новости. *SLA — предварительная поддержка SLA (Shared Line Appearance) для Polycom и SNOM телефонов.
  • Skype — два различных интерфейса к Skype предназначены для разных целей. Более подробно читайте mod_skypiax и mod_airpe.

Русский модуль say

Краткая инструкция по установке и применению модуля mod_say_ru. Скачайте и разархивировать архив в папку с установленным Freeswitch, или собрать из исходников mod_say_ru. Для проверки можете скачать переведенные фразы и разархивировать файл в папку freeswitch/sounds/, для качественной озвучки скачайте список фраз.

В файле freeswitch/conf/freeswitch.xml заменить en на ru секция Speech Phrase Management

<!-- <X-PRE-PROCESS cmd="include" data="lang/en/*.xml"/> -->
<X-PRE-PROCESS cmd="include" data="lang/ru/*.xml"/>

В файле freeswitch/conf/autoload_configs/modules.conf.xml добавить строку

<load module="mod_say_ru"/>

В файле freeswitch/conf/vars.xml добавить

<X-PRE-PROCESS cmd="set" data="default_language=ru"/>

Произношение фраз в план набора

Приложение phrase использую макросы произносит фразы:

<action application="phrase" data="saymoney,272034725.29"/>

Данная строка произносит 272034725 долларов 29 центов используя макрос saymoney.

<macro name="saymoney">
  <input pattern="(.*)">
    <match>
         <action function="execute" data="sleep(1000)"/> 
         <action function="say" data="$1" method="pronounced" type="currency"/>
    </match>
  </input>
</macro>

Макрос saymoney (его имя должно совпадать с именем в плане набора), в нем может быть один или несколько pattern, для фильтрации условий используется Regex. Далее выполняется одно или несколько действий.

Макросы

Все фразы (voicemail, digits и т.д) должны быть определены в разделе lang для русского lang/ru/ru.xml.

<language name="ru" sound-path="$${base_dir}/sounds/ru/example" tts-engine="cepstral" tts-voice="callie">
  • name — имя языка (например “RU”), что приведет к вызову модуля mod_say_ru для построения фраз (например, деньги, дата, время и т.д.)
  • sound_path — путь к голослвым файлам этого языка.
  • *tts_engine — движок текс в голос (The text-to-speech).
  • tts_voice — какой голос будет использоваться для TTS.

В архиве есть демонстрационные макросы freeswitch/conf/lang/ru.

Функии

  • execute — вы можете выполнить любой другой FreeSwitch API’s.
  • play-file — воспроизведение звукового файла.
  • say — произносит фразы определенного типа (type) с использованием методов (method) произношения.

Методы:

  • counted
  • iterated
  • pronounced

Типы:

общие

  • number - номер
  • items
  • persons
  • messages - сообщения

Дата и время

  • time_measurement
  • current_date — текущая дата
  • current_time — текущее время
  • current_date_time — текущая дата и время

 IP-адрес

  • ip_address
  • Орфография
  • name_spelled
  • name_phonetic

Деньги

  • currency - валюта

Для проверки есть демо план набора conf/dialplan/default/556_say_demo.xml. Теперь при звонке на номер 556 вы прослушаете произношение валют и ip-адрес двумя способами.

валюты до 999 миллионов

<action function="say" data="$1" method="pronounced" type="currency"/> — минуc ноль долларов 33 цента

ip-адреса

<action function="say" data="$1" method="iterated" type="ip_address"/> — один два пять точка

<action function="say" data="$1" method="pronounced" type="ip_address"/> — сто двадцать пять точка

Сборка из исходников

Скачайте исходники модуля mod_say_ru и разархивируйте в папке с исходниками FreeSWITCH, добавте в файл modules.conf или если еще незапускали ./bootstrap.sh то в файл build/modules.conf.in.

say/mod_say_ru

Далее пересоберите FreeSWITCH.

новый модуль Easyroute

Кен Райс любезно подарил сообществу новый модуль к проекту: mod_easyroute.

mod_easyroute является DID routing engine, который использует ODBC источник данных, чтобы выяснить, где содержится маршруты для звонков. Основное назначение модулю для маршрутизации большого количества входящих вызовов. Модуль использует концепцию один шлюз для многих номеров. Просмотр в базе данных строку набора и другую полезную информацию которая возвращается в канал.

документация по модулю

Новый FreeSWITCH клиент

Новый FreeSWITCH клиент написаный на библиотеке ESL. Это C библиотека которая используется на новым клиентов fs_cli

Некоторые особенности:

  • простое подключение к FreeSWITCH на локальном хосте
  • соединения могут быть установлены с FreeSWITCH работающем на удаленных хостах
  • файл конфигурации в стиле INI файла
  • можно контролировать многие удаленные хосты с одного терминала

Установка

пока только из исходников

  • cd libs/esl
  • make

запуск ./fs_cli

В ближайшее время будет реализован дополнительный функционал

  • Вариант для выхода C^d.
  • автодополнение

документация по модулю

Платформа для VoIP телефонии FreeSWITCH

FreeSWITCH — программная платформа для телефонии с открытыми исходными текстами. протоколы

  • SIP (TLS,sRTP,TCP)
  • H323 (покачто только для конечного оборудования)
  • IAX2
  • GoggleTalk

Другие возможности — передача и прием факсов (протокол T.30), шифрование SIP и RTP, привязки для множества языков. Возможно написание VoIP приложений на языках JavaScript, Python, PERL, Lua, Java, C#. Работает с частотами дискретизации 8/16/32/48кГц, в том числе и в режиме конференций, включает в поставку кодеки семейства Siren и кодек Celt.