Archive for January, 2009

Русский модуль 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.