前言

  • 环境:

    • 系统版本:debian 11 x86_64
    • FreeSWITCH版本:1.10.6

安装步骤

  1. 安装依赖(安装之前最好换apt软件源为国内的)
apt install -y gnupg2 wget autoconf lsb-release libtool libtool-bin libtiff-dev uuid-dev pkg-config openssl libssl-dev sqlite3 libsqlite3-dev libcurl4-openssl-dev libspeexdsp-dev libldns-dev libedit-dev yasm nasm ffmpeg libswscale-dev libavformat-dev lua5.4 liblua5.4-dev libopus-dev libpq-dev libmariadb-dev unixodbc unixodbc-dev libsndfile1-dev
  1. 下载FreeSWITCH源码包
git clone https://github.com/signalwire/freeswitch.git -bv1.10 freeswitch
cd freeswitch
./bootstrap.sh -j
  1. 编译安装spandsp
git clone https://github.com/freeswitch/spandsp.git
cd spandsp
./bootstrap.sh -j
./configure
make
make install
ldconfig
  1. 编译安装sofia-sip
git clone https://github.com/freeswitch/sofia-sip.git
cd sofia-sip
./bootstrap.sh -j
./configure
make
make install
ldconfig
  1. 编译安装FreeSWITCH
# 预编译
./configure --prefix=/usr/local/freeswitch
# 编译。如果是多核处理器,比如4核,可以用make -j4,能加快编译速度
# 编译时可以编辑modules.conf,取消编译mod_signalwire、mod_opus
make
make install
  1. 启动
# 启动服务端
/usr/local/freeswitch/bin/freeswitch -nosql -nonat -nc
# 如果有ipv6相关报错,需要删掉/usr/local/freeswitch/etc/freeswitch/sip_profiles目录下名字带ipv6的目录和文件
# 进入控制台
/usr/local/freeswitch/bin/fs_cli

创建软链接

ln -s /usr/local/freeswitch/bin/freeswitch /usr/local/bin/
ln -s /usr/local/freeswitch/bin/fs_cli /usr/local/bin/

FreeSWITCH连接MySQL

mysql版本:5.7

从版本1.10.0开始,FreeSWITCH通过mod_mariadb原生支持MySQL

  1. 编译时修改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. 编辑autoload_configs/switch.conf.xml,添加下面一行内容。注意修改IP、端口、数据库名、用户名、用户密码。如果有postgresql相关的配置信息,需要注释掉。
<param name="core-db-dsn" value="mariadb://Server=192.168.0.10;Port=3307;Database=freeswitch;Uid=root;Pwd=123456;" />
  1. 编辑sip_profile,添加下面内容,注意修改IP、端口、数据库名、用户名、用户密码。
<param name="core-db-dsn" value="mariadb://Server=192.168.0.10;Port=3307;Database=freeswitch;Uid=root;Pwd=123456;" />
  1. 测试启动:
/usr/local/freeswitch/bin/freeswitch -nonat
# 启动时会自动创建数据表
# 一些报错如"Specified key was too long; max key length is 3072 bytes"、"Duplicate key name"可忽略
  1. 使用软电话如MicroSIP注册,查看数据表registrations中有没有注册信息,有的话说明FreeSWITCH已连接MySQL
  2. 在FreeSWITCH控制台执行shutdown关闭FreeSWITCH,重新启动
/usr/local/freeswitch/bin/freeswitch -nonat -nosql -nc

debian11编译安装freeswitch的更多相关文章

  1. freeswitch编译安装,初探, 以及联合sipgateway, webrtc server的使用场景。

    本文主要记录freeswitch学习过程. 一 安装freeswitch NOTE 以下两种安装方式,再安装的过程中遇到了不少问题,印象比较深刻的就是lua库找到不到这个问题.这个问题发生在make ...

  2. 64位FreeSWITCH编译安装(版本1.4.20)

    1.安装64位的CentOS6.5操作系统(勾选的服务器版本安装). 2.下载FreeSWITCH安装包以及关联的lib库.下载地址http://files.freeswitch.org/downlo ...

  3. Centos 6 安装FreeSWITCH

    为了安装FreeSWITCH ,我选择的Linux是CentOS,目前最新的Centos版本是6.具体安装CentOS的是步骤详见网上的其它资料,本节的主要目的是为了记录FreeSWITCH的安装过程 ...

  4. Centos7源代码安装freeswitch和启动freeswitch

    centos7下安装freeswitch版本:1.6. 1.下载源代码: 进入目录 cd /usr/local/src 克隆原代码 git clone -b v1.6 https://freeswit ...

  5. centos 安装 freeswitch,开启与关闭

    ---恢复内容开始--- 官网说明地址 :https://freeswitch.org/confluence/display/FREESWITCH/CentOS+7+and+RHEL+7 1.获取源码 ...

  6. Ubuntu安装FreeSWITCH亲测

    本人在安装FreeSWITCH的时候遇到了相当多的坑,网上很多方法都模棱两可,经常装失败,最后终于装成功后做一下总结 最顺利的安装方式 1. 下载压缩文件 下载地址:http://files.free ...

  7. 记录安装freeswitch的日常

    已知安装版本:Linux:Centos7 Freeswitch:1.10.2 解: 注意:(最好呢是先下载好包,然后上传到这个所用的环境中) 1.安装对应依赖 yum install -y git a ...

  8. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  9. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  10. Linux下编译安装Vim8.0

    什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...

随机推荐

  1. Linux修改系统时间(手动/自动同步)

    一.手动修改 1.在终端窗口中输入date来查看系统当前的时间. 2.使用命令:"date -s 完整日期时间(YYYY-MM-DD hh:mm:ss)" 3.最后使用命令:&qu ...

  2. Notion 中文:客户端、网页端汉化方案

    Notion 官方已经正式公布将会支持中文.不过距离正式发布中文版,可能还有一段时间. Notion 的汉化方案 目前,Notion 汉化方案有两种: 客户端汉化 此方法本质上也是在客户端中增加脚本, ...

  3. 一天吃透SpringCloud面试八股文

    1.什么是Spring Cloud ? Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Tas ...

  4. 【C++】初始化列表构造函数VS普通构造函数

    普通构造函数VS初始化列表构造函数 初始化列表构造函数最优先匹配问题 对于一个类而言,只要其中包含有初始化列表的构造函数,编译器在编译使用{}语法的构造时会最倾向于调用初始化列表构造函数,哪怕做类型转 ...

  5. Bracket Sequence

    F. Bracket Sequence time limit per test 0.5 seconds memory limit per test 256 megabytes input standa ...

  6. Cobalt Strike 连接启动教程,制作图片🐎(2)

    扫描有两种方式:arp 和 icmp 查看进程列表 攻击----生成后门-----Payload 可以生成各类语言免杀牧马---(输出:选择C或者python或者php) go.咕.com 生成c语言 ...

  7. 万字长文详述ClickHouse在京喜达实时数据的探索与实践

    1 前言 京喜达技术部在社区团购场景下采用JDQ+Flink+Elasticsearch架构来打造实时数据报表.随着业务的发展 Elasticsearch开始暴露出一些弊端,不适合大批量的数据查询,高 ...

  8. 2021-i春秋秋季赛部分misc+re wp

    两道re比较简单,没有什么好说的,misc的符号执行那题还有点意思,总的来说题目不难 CTFMakesMeAngr 给出了符号执行的中间语言,对着文档把汇编逻辑逆一下,发现是个凯撒加密,位移为14,注 ...

  9. GLIBC 升级安装与 SCL 知识盲区

    前言 glibc 是 GNU 发布的 libc 库,即 c 运行库.glibc 是 linux 系统中最底层的 api,几乎其它任何运行库都会依赖于 glibc.glibc 除了封装 linux 操作 ...

  10. 基于 Linux 集群环境上 GPFS 的问题诊断

    作者:谷珊,帅炜,陈志阳来源:IBM Developer GPFS 的概述 GPFS 是 IBM 公司提供的一个共享文件系统,它允许所有的集群节点可以并行访问整个文件系统.GPFS 允许客户共享文件, ...