FreeSWITCH通过mod_mariadb原生连接MySQL
前言
根据官方更新说明(https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes),从1.10.0版本开始,FreeSWITCH可以通过模块mod_mariadb原生连接MySQL,而不用再倒腾ODBC驱动。之前有写过相关笔记,这次单独放出来方便搜索。
以下内容为配置步骤,系统环境为Debian 11,FreeSWITCH版本为1.10.6。编译安装步骤参考本人另一篇笔记:debian11编译安装freeswitch
- FreeSWITCH服务器IP:192.168.0.10
- MySQL服务器IP:192.168.0.11,端口:3307
步骤
- 安装依赖
apt install -y libmariadb-dev mariadb-client
# centos7下相关依赖应该是:yum install -y mariadb mariadb-devel
- 编译FreeSWITCH的时候编辑module.conf.xml,取消
mod_mariadb的注释,然后再进行编译 - 编译安装完成后,编辑
autoload_configs/pre_load_modules.conf配置文件。默认启用的是mod_pgsql,需要注释掉,并取消对mod_mariadb的注释。
<configuration name="pre_load_modules.conf" description="Modules">
<modules>
<!-- Databases -->
<load module="mod_mariadb"/>
<!-- <load module="mod_pgsql"/> -->
</modules>
</configuration>
- 准备数据库。在MySQL建库,库名如
freeswitch,可以找一个已有FreeSWITCH库拷过去,也可以是空库,让FreeSWITCH启动时自行创建。这里只建了一个空库。 - 编辑FreeSWITCH配置文件:
autoload_configs/switch.conf.xml,找到core-db-dsn相关配置。取消mariadb数据库连接的注释,且注释掉postgresql相关的配置。
<param name="core-db-dsn" value="mariadb://Server=192.168.0.11;Port=3307;Database=freeswitch;Uid=root;Pwd=123456;" />

- (不确定是否要做,不做也能连上FreeSWITCH)编辑FreeSWITCH配置文件:
autoload_configs/db.conf.xml
<configuration name="db.conf" description="LIMIT DB Configuration">
<settings>
<param name="core-db-dsn" value="mariadb://Server=192.168.0.11;Port=3307;Database=freeswitch;Uid=root;Pwd=123456;" />
</settings>
</configuration>
- 编辑FreeSWITCH的sip_profile配置文件,将同样的数据库配置信息添加到sip_profile文件中。
<profile name="external">
......
<settings>
......
<param name="core-db-dsn" value="mariadb://Server=192.168.0.11;Port=3307;Database=freeswitch;Uid=root;Pwd=123456;" />
......
</settings>
</profile>
- 因为是空库,所以先启动一下让FreeSWITCH自己建表
/usr/local/freeswitch/bin/freeswitch -nonat
# 启动完成后,打开数据库看看有没有自行建表
# 用软电话注册,查看registration表有没有新注册的用户,有的话说明FreeSWITCH连接数据库成功
- 重启FreeSWITCH。正式启动
/usr/local/freeswitch/bin/freeswitch -nonat -nosql -nc
- 验证
/usr/local/freeswitch/bin/fs_cli -x "sofia status"
FreeSWITCH通过mod_mariadb原生连接MySQL的更多相关文章
- PHP的学习--连接MySQL的三种方式
记录一下PHP连接MySQL的三种方式. 先mock一下数据,可以执行一下sql. /*创建数据库*/ CREATE DATABASE IF NOT EXISTS `test`; /*选择数据库*/ ...
- freeswitch用户整合(使用mysql数据库的用户表)
转:freeswitch用户整合(使用mysql数据库的用户表) freeswitch是一款强大的voip服务器,可以语音和视频.但是它默认是采用/directory文件夹下的xml来配置用户的,对于 ...
- linux环境下matlab连接mysql
因为matlab是基于java的,但是原生的matlab是没有jdbc的,这是一个java的mysql connection. 只有matlab有这个包,才能正确的连接mysql. 1.在http:/ ...
- 使用Navicat Premium连接mysql数据库
Navicat Premium是一个可多重连接的数据库管理工 具,它可让你以单一程序同时连接. Navicat Premium 使你能简单并快速地在各种数据库系统间传输数据,或传输一份指定 SQL 格 ...
- django静态文件,form表单提交数据,连接mysql,操作ORM
静态文件配置 1. 什么是静态文件 css js img ... 2. 静态文件的存储位置 ''' 我们在创建Django项目的时候,没有生成static目录,我们会把静态文件存储在static目录下 ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- 【初学python】使用python连接mysql数据查询结果并显示
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
- Node.js Express连接mysql完整的登陆注册系统(windows)
windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...
- PDO连接mysql数据库
1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...
- 使用ABP EntityFramework连接MySQL数据库
ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见 ...
随机推荐
- OData WebAPI实践-OData与EDM
本文属于 OData 系列 引言 在 OData 中,EDM(Entity Data Model) 代表"实体数据模型",它是一种用于表示 Web API 中的结构化数据的格式.E ...
- 关于python中的OSError报错问题
Traceback (most recent call last): File "main.py", line 1, in <module> from trai ...
- 2022-12-30:某天小美进入了一个迷宫探险,根据地图所示,这个迷宫里有无数个房间 序号分别为1、2、3、...入口房间的序号为1 任意序号为正整数x的房间,都与序号 2*x 和 2*x + 1
2022-12-30:某天小美进入了一个迷宫探险,根据地图所示,这个迷宫里有无数个房间 序号分别为1.2.3.-入口房间的序号为1 任意序号为正整数x的房间,都与序号 2x 和 2x + 1 的房间之 ...
- 2021-01-06:mysql中,我存十亿个手机号码,考虑存储空间和查询效率,用什么类型的字段去存?
福哥答案2021-01-06: [答案来自此链接:](https://www.zhihu.com/question/438078173)首先提出假设:考虑一下这几个问题:手机号码都是数字吗?都是中国的 ...
- WPF入门教程系列二十四——DataGrid使用示例(1)
WPF入门教程系列二--Application介绍 WPF入门教程系列三--Application介绍(续) WPF入门教程系列四--Dispatcher介绍 WPF入门教程系列五--Window 介 ...
- Error in nextTick: "TypeError: Right-hand side of 'instanceof' is not an object"
发生这种情况,直接去查看 props 对象是否 类型正确 props 有 大概两种 写法吧, 一种就是对象形 ,一种是数组形 // 对象形props: { show: { type: Boolean ...
- 汉字编码新尝试:字理组字编码方案v0.0
↑对,这就是正片↑(同步自敝知乎专栏,不定期更新) 高清(确信)版:http://farter.cn/zzdm/latest.png 不用任何教程,试试对着表解码一下: 43 295 817 146 ...
- js原型和原型链(用代码理解代码)
众所周知js原型及原型链是很多开发者的一个疼点(我也不例外),我也曾多次被问起,也问过不少其他人,如果在自己没有真正的去实践和理解过:那么突然之间要去用最简单的话语进行概述还真不是一件容易的事情: 其 ...
- 图书机读目录MARC简介,ISO格式目录数据生成
一.简介 机读目录(Machine-Readable Catalogue,MARC),是利用计算机读取和处理书目信息,是计算机编目的产品. 它以代码形式和特定的结构将书目信息记录在计算机的存储载体上, ...
- K8S in Action 读后感(概念简介)
一.K8S的用武之地 今天,大型单体应用正被逐渐拆分成小的.可独立运行的组件,我们称之为微服务.微服务彼此之间解耦,所以它们可以被独立开发.部署.升级.伸缩.这使得我们可以对每一个微服务实现快速迭代, ...