freeswith
預設使用sqlite
作為資料庫,但是很多時候我們需要使用mysql
等資料庫作為伺服器資料庫使用。這裡以mysql
為例介紹相關配置
yum install mysql-connector-odbc.x86_64 unixodbc-devel.x86_64
vim /etc/odbc.ini
[freeswitch] # mysql的表名字
description = mysql
driver = mysql
server = 127.0.0.1 # mysql所在的位址
socket = /var/lib/mysql/mysql.sock
port = 3306
password = 123456 # 資料庫密碼
database = freeswitch # 資料庫是freeswitch
option = 67108864
charset = utf8
vim /etc/odbcinst.ini
[mysql]
description = odbc for mysql
driver = /usr/lib64/libmyodbc5.so
setup = /usr/lib64/libodbcmys.so
driver64 = /usr/lib64/libmyodbc5.so
setup64 = /usr/lib64/libodbcmys.so
fileusage = 1
如果你的伺服器沒有安裝mysql
可以按照下述方法安裝,如果已經有了資料庫,則跳過這個步驟。
因為筆者使用的系統是centos 7
所以推薦使用mariadb
替代mysql
。
yum install mysql.x86_64 mysql-connector-odbc.x86_64 mysql-devel.x86_64 mysql-libs.x86_64 mysql-server.x86_64 perl-dbd-mysql.x86_64
// 用 mariadb 替代 mysql
yum install mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
yum install mariadb-devel
初始化資料庫後建立freeswitch
資料庫create database freeswitch;
接下來測試odbc
是否正常
isql -v freeswitch
如果登陸成功,那麼就說明是ok的。此時的mysql
資料庫裡面的表還是空的。
回到編譯目錄,重新編譯,加入--enable-core-odbc-support
引數。
./configure --enable-core-odbc-support
make
&&make
install
這裡的資料庫賬號root
密碼123456
找到相應的檔案按照如下配置:
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="core-db-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
>
name
="delete-all-outbound-member-on-startup"
value
="false"
/>
name
="odbc-dsn"
value
="freeswitch:root:123456"
/>
settings
>
cmd=
"set"
data
="json_db_handle=odbc://freeswitch:root:123456"
/>
重啟freeswitch
基本流程就完成了。 freeswitch 使用記錄
當新建 new 乙個channel時,它首先會進行初始化 init 然後進入路由 routing 階段,也就是我們 查詢解析dialplan的階段。在這裡,要注意乙個專門的術語 hunting 在傳統的交換機裡,它譯為選線,在這 裡我就譯為選路吧 找到合適的路由入口後,hunting會執行 exec...
freeswitch 使用外部directory
freeswitch 例子中提供了靜態檔案的directory 實際應用中都是從資料庫載入的 配置方法如下 1.首先要開啟 mod xml curl 模組 quote quote 2.配置 xml curl.conf檔案 配置了乙個 dialplan閘道器和乙個directory 閘道器 quote...
FreeSWITCH使用mysql儲存使用者
為什麼80 的碼農都做不了架構師?freeswitch預設是採用 directory資料夾下的xml來配置使用者的,對於後期開發來說是非常不方便的,所以本文來實現使用mysql來儲存使用者,並用lua指令碼來接管使用者驗證,步驟如下 一 配置odbc 二 建立資料庫 建立使用者表 create ta...