Linux 下 FreeSWITCH 远程连接中文语音

210 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

参考百问《Freeswitch》

  1. 安装unixODBC 和 MySQL ODBC Connector

yum install unixODBC-devel mysql-connector-odbc

\

  1. 创建软连接\

ln -s libmyodbc5.so libmyodbc.so

\

  1. 在远程MySQL服务器中创建数据库“freeswitch” ,创建有密码用户\

\

  1. 添加如下 DSN 到 ``/etc/odbc.ini和 /root/.odbc.ini

[freeswitch]
DRIVER   = MySQL
SERVER   = 192.168.0.104
PORT     = 3306
DATABASE = freeswitch
USER     = fsu
PASSWORD = 123456
OPTION   = 3
\

5. 执行如下命令测试连接:
``

isql freeswitch -v

报错:

[S1000][unixODBC][MySQL][ODBC 5.1 Driver]Host '192.168.0.105' is not allowed to connect to this MySQL server [ISQL]ERROR: Could not SQLConnect


``

``6. 到远程的MySQL 服务器下,进入“mysql”数据库执行如下SQL命令

update user set host = '%' where user = 'root'; 再执行如下命令

isql freeswitch 用户名 密码 -v

返回

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+

  1. 下载最新版freeswitch:files.freeswitch.org/\ \
  2. 解压,配置,编译 FreeSWITCH

tar -xf freeswitch-1.2.5.3.tar.bz2

./configure --enable-core-odbc-support

make&& make install

\

9.在/usr/local/freeswitch下执行如下命令

grep -ir dsn .

\

查出全部希望使用MySQL 替代SQLite 的功能的配置文件

显示如下

...\

./autoload_configs/switch.conf.xml:   
./autoload_configs/db.conf.xml.bak:       
./autoload_configs/cidlookup.conf.xml:   
./autoload_configs/voicemail.conf.xml:     
./autoload_configs/callcenter.conf.xml:   
./autoload_configs/nibblebill.conf.xml:   
./autoload_configs/db.conf.xml:   

...

这些功能都可以改用MySQL,修改这些配置文件中的参数value

如\

\

10.运行FreeSWITCH

启动过程中自动在已建的freeswitch数据库中创建表

download.csdn.net/detail/vivn…

在/usr/local/freeswitch/sounds/下建立目录zh/cn/sue(因为不知道声音主人的名字,就先用sue代替了,抱歉抱歉)
mkdir -p /usr/local/freeswitch/sounds/zh/cn/sue
将声音文件移动到目标目录
mv output/* /usr/local/freeswitch/sounds/zh/cn/sue/
– 增加中文定义
cd /usr/local/freeswitch/conf/lang
cp -a en zh
cd zh
mv en.xml cn.xml
编辑cn.xml,将第2行换成

– 增加对中文的加载
编辑/usr/local/freeswitch/conf/freeswitch.xml,找到<section name=”languages” description=”Language Management”>段,加入

– 增加中文say模块的加载
编辑/usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
去除的注释
– 设置中文为默认语言
编辑/usr/local/freeswitch/conf/vars.xml,加入以下几行
<X-PRE-PROCESS cmd=”set” data=”default_language=zh”/>
<X-PRE-PROCESS cmd=”set” data=”default_dialect=cn”/>
<X-PRE-PROCESS cmd=”set” data=”default_voice=sue”/>
– 重新加载xml,在fs_cli,执行:
reloadxml
中文语音就装好啦。凡是有录音的,都会播放中文内容,没有录音的,还是会播放英文内容。