前言

根据官方更新说明(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

步骤

  1. 安装依赖
apt install -y libmariadb-dev mariadb-client
# centos7下相关依赖应该是:yum install -y mariadb mariadb-devel
  1. 编译FreeSWITCH的时候编辑module.conf.xml,取消mod_mariadb的注释,然后再进行编译
  2. 编译安装完成后,编辑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>
  1. 准备数据库。在MySQL建库,库名如freeswitch,可以找一个已有FreeSWITCH库拷过去,也可以是空库,让FreeSWITCH启动时自行创建。这里只建了一个空库。
  2. 编辑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;" />

  1. (不确定是否要做,不做也能连上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>
  1. 编辑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>
  1. 因为是空库,所以先启动一下让FreeSWITCH自己建表
/usr/local/freeswitch/bin/freeswitch -nonat
# 启动完成后,打开数据库看看有没有自行建表
# 用软电话注册,查看registration表有没有新注册的用户,有的话说明FreeSWITCH连接数据库成功
  1. 重启FreeSWITCH。正式启动
/usr/local/freeswitch/bin/freeswitch -nonat -nosql -nc
  1. 验证
/usr/local/freeswitch/bin/fs_cli -x "sofia status"

FreeSWITCH通过mod_mariadb原生连接MySQL的更多相关文章

  1. PHP的学习--连接MySQL的三种方式

    记录一下PHP连接MySQL的三种方式. 先mock一下数据,可以执行一下sql. /*创建数据库*/ CREATE DATABASE IF NOT EXISTS `test`; /*选择数据库*/ ...

  2. freeswitch用户整合(使用mysql数据库的用户表)

    转:freeswitch用户整合(使用mysql数据库的用户表) freeswitch是一款强大的voip服务器,可以语音和视频.但是它默认是采用/directory文件夹下的xml来配置用户的,对于 ...

  3. linux环境下matlab连接mysql

    因为matlab是基于java的,但是原生的matlab是没有jdbc的,这是一个java的mysql connection. 只有matlab有这个包,才能正确的连接mysql. 1.在http:/ ...

  4. 使用Navicat Premium连接mysql数据库

    Navicat Premium是一个可多重连接的数据库管理工 具,它可让你以单一程序同时连接. Navicat Premium 使你能简单并快速地在各种数据库系统间传输数据,或传输一份指定 SQL 格 ...

  5. django静态文件,form表单提交数据,连接mysql,操作ORM

    静态文件配置 1. 什么是静态文件 css js img ... 2. 静态文件的存储位置 ''' 我们在创建Django项目的时候,没有生成static目录,我们会把静态文件存储在static目录下 ...

  6. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  7. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  8. Node.js Express连接mysql完整的登陆注册系统(windows)

    windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...

  9. PDO连接mysql数据库

    1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ...

  10. 使用ABP EntityFramework连接MySQL数据库

    ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见 ...

随机推荐

  1. Django笔记三十九之settings配置介绍

    本文首发于公众号:Hunter后端 原文链接:Django笔记三十九之settings配置介绍 这一篇笔记介绍 Django 里 settings.py 里一些常用的配置项,这些配置有一些是在之前的笔 ...

  2. 2022-07-25:xiu是用rust语言编写的流媒体服务器软件项目。k8s安装xiu,drone文件如何写?

    2022-07-25:xiu是用rust语言编写的流媒体服务器软件项目.k8s安装xiu,drone文件如何写? 答案2022-07-25: 云原生环境不可能完全一样,只能做参考. 我采用的是dron ...

  3. 2022-05-05:给定一个正数num,要返回一个大于num的数,并且每一位和相邻位的数字不能相等. 返回达标的数字中,最小的那个。 来自微软。

    2022-05-05:给定一个正数num,要返回一个大于num的数,并且每一位和相邻位的数字不能相等. 返回达标的数字中,最小的那个. 来自微软. 答案2022-05-05: 从左往右看,是否有相邻两 ...

  4. 2021-05-18:Nim博弈。给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余。谁最先拿空arr,谁赢。根据arr,返回谁赢 。

    2021-05-18:Nim博弈.给定一个正数数组arr,先手和后手每次可以选择在一个位置拿走若干值, 值要大于0,但是要小于该处的剩余.谁最先拿空arr,谁赢.根据arr,返回谁赢 . 福大大 答案 ...

  5. 2021-07-21:一张扑克有3个属性,每种属性有3种值(A、B、C),比如“AAA“,第一个属性值A,第二个属性值A,第三个属性值A,比如“BCA“,第一个属性值B,第二个属性值C,第三个属性值A

    2021-07-21:一张扑克有3个属性,每种属性有3种值(A.B.C),比如"AAA",第一个属性值A,第二个属性值A,第三个属性值A,比如"BCA",第一个 ...

  6. 2021-11-02:生命游戏。根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个

    2021-11-02:生命游戏.根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机.给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个 ...

  7. Cypress 踩坑记 - DOM 遮挡

    Cypress 是一个非常流行的测试工具,然而实际使用过程中发现一些问题,这里做些记录. 问题发现 在 Cypress 下 click 是非常常用的指令,然而在一些特殊场景下 click 并不能如想象 ...

  8. ARC144

    ARC 144 比赛情况:一眼订正,鉴定为做起 \(3\) 道题. A - Digit Sum of 2x \(2x\) 进位就不满足 \(M\) 最大的条件了,所以 \(x\) 不能进位. 然后要求 ...

  9. 20200825 BAT批处理文件详细教程

    原文链接:https://www.jb51.net/article/151923.htm 纯转载.侵删. 第一章 批处理基础 第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列 ...

  10. cmake 安装一个目录下的图片 到另一个目录文件中去

    install(DIRECTORY ./cfg/labels/ DESTINATION ./fservo/cfg/yolo_cfg/labels/) install (DIRECTORY ./cfg/ ...