ubuntu 18.04 server源码编译安装freeswitch 1.10.7支持音视频通话、收发短信——筑梦之路

软件版本说明

ubuntu版本18.04:https://releases.ubuntu.com/18.04.6/ubuntu-18.04.6-live-server-amd64.iso

freeswitch 版本1.10.7:https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.7.-release.tar.gz

spandsp包:https://codeload.github.com/freeswitch/spandsp/zip/refs/heads/master

sofia-sip包:https://codeload.github.com/freeswitch/sofia-sip/tar.gz/refs/tags/v1.13.9

libks: https://github.com/signalwire/libks.git

 安装编译工具和依赖包

apt-get updateapt-get install -y autoconf git libtool g++ zlib1g-dev libjpeg-dev libcurl4-openssl-dev libspeex-dev libldns-dev libedit-dev libssl-dev pkg-config yasm liblua50-dev libopus-dev libsndfile1-dev libpq-dev libreadline-dev lua5.2 lua5.2-doc liblua5.2-dev libtiff5 libtiff5-devsudo apt-get install -y vimsudo apt-get install -y g++sudo apt-get install -y zlib1g-devsudo apt-get install -y libjpeg-devsudo apt-get install -y libsqlite3-devsudo apt-get install -y libcurl4-gnutls-devsudo apt-get install -y libpcre3-devsudo apt-get install -y libspeexdsp-devsudo apt-get install -y libedit-devsudo apt-get install -y libssl-devsudo apt-get install -y libopus-devsudo apt-get install -y liblua5.2-devsudo apt-get install -y libldns-devsudo apt-get install -y libsndfile1-devsudo apt-get install python3-pip -ysudo apt-get install unixodbc unixodbc-devsudo apt install libavformat-dev -ysudo apt install libswscale-dev -ysudo apt install doxygen cmake uuid-dev -y

编译安装sofia-sip 

git clone https://github.com/freeswitch/sofia-sip.gitgit checkout -b v1.13.9./bootstrap.sh -j./configuremakemake install

编译安装spandsp

git clone https://github.com/freeswitch/spandsp.gitcd spandspgit checkout -b finecode20230705 0d2e6ac65e0e8f53d652665a743015a88bf048d4./bootstrap.sh -j./configuremakemake install

编译安装libks

git clone https://github.com/signalwire/libks.git
cd libks
sudo cmake .
sudo make
sudo make install#sudo mkdir -p /usr/lib64/pkgconfig/
#sudo cp /usr/lib/pkgconfig/libks.pc /usr/lib64/pkgconfig/cat /etc/profileexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:${PKG_CONFIG_PATH}

编译安装freeswitch

git clone --branch v1.10.7 https://github.com/signalwire/freeswitch.gitcd freeswitch# 编辑配置,去掉模块mod_signalwire、mod_verto,启用模块mod_callcenter
sed -i 's/applications\/mod_signalwire/#applications\/mod_signalwire/g' freeswitch/modules.confsed -i 's/endpoints\/mod_verto/#endpoints\/mod_verto/g' freeswitch/modules.confsed -i 's/#applications\/mod_callcenter/applications\/mod_callcenter/g' freeswitch/modules.conf./configure --enable-portable-binary --with-gnu-ld --with-python3 --with-openssl --enable-core-odbc-support --enable-zrtp  --enable-core-pgsql-supportmake -j2make installmake -j cd-sounds-install
make -j cd-moh-instal

配置软连接和启动

#freeswitch启动:
/usr/local/freeswitch/bin/freeswitch -nonat -nc#做软链,方便启动:
ln -s /usr/local/freeswitch/bin/fs_cli /usr/local/bin/
ln -s /usr/local/freeswitch/bin/freeswitch /usr/local/bin/

#详细启动日志并进入控制台模式命令freeswitch -c -nonat -rp#退出详细模式启动命令shutdown#后台启动freeswitch服务(推荐使用)freeswitch -nc -nonat#进入控制台模式命令fs_cli#退出控制台命令/exit #关闭freeswitch命令freeswitch -stop

默认号码和说明

参考资料:https://www.cnblogs.com/wuchangsoft/p/16730694.html

https://www.cnblogs.com/kn-zheng/p/17025534.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/858527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记——路由网络基础——路由汇总(路由聚合)

九、路由汇总(路由聚合) 1、路由汇总背景 子网划分、VLSM解决了地址空间浪费的问题,但同时也带了新的问题,路由表中的路由条目数量增加。为减少路由条目数量可以使用路由汇总。 对于一个大规模的网络来说,路由器或其他具备路由功能的设备势…

C#的Switch语句2(case后的值与模式匹配)

文章目录 switch语法结构case具体的值枚举值字符串const关键字 如果没有匹配的值default语句不一定要在最后 模式匹配与C的差异-case穿透(Fall-through)下一篇文章 switch语法结构 基础的语法结构,在上一篇文章已经写了,具体请看…

git 初基本使用-----------笔记

Git命令 下载git 打开Git官网(git-scm.com),根据自己电脑的操作系统选择相应的Git版本,点击“Download”。 基本的git命令使用 可以在项目文件下右击“Git Bash Here” ,也可以命令终端下cd到指定目录执行初始化命令…

6.20作业

1.已知网址www.hqyj.com截取出网址的每一个部分(要求,该网址不能存入文件中) echo www.hqyj.com | cut -d "." -f "1,2,3" 2.整理思维导图 3.将配置桥接网络的过程整理成文档,发csdn

条码工具 Dynamic Web TWAIN HTML5 版本的工作原理

Dynamic Web TWAIN 是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。然后用户可以编辑图像并将图像保存为多种格式,用户可保存图像到远程数据库或者Share…

轻松搞定Python List 列表必备方法大全!

更多Python学习内容:ipengtao.com 在 Python 编程中,list(列表)是一种非常重要且常用的数据结构。列表可以存储不同类型的元素,并且提供了许多方便的内置方法来操作和处理这些元素。本文将详细介绍 Python 中 list 列表…

【笔记】HashMap的头插死循环问题

HashMap头插死循环是指在JDK1.7中,多线程环境下,HashMap进行扩容时由于多个线程一起执行扩容,可能会导致某一结点被错误插入头部并形成一个循环链表。 发生死循环的源码如下: // hashmap由数组链表构成 void transfer(Entry[] ne…

Android 13 修改系统导航默认值

Android 13 原生系统上,设置-系统-手势-系统导航 菜单,可以修改系统导航方式。 手势导航: 三按钮导航: adb 获取当前导航方式,手势导航 是 2 ,三按钮导航是 0 。 settings get secure navigation_mode 修…

电脑网络动态IP配置:步骤详解与实用指南

在构建和管理电脑网络时,IP地址的配置是一个关键步骤。IP地址是设备在网络中的唯一标识符,它决定了设备如何与其他设备进行通信。有两种主要的IP地址类型:静态IP和动态IP。静态IP是手动配置的,而动态IP则是由网络中的DHCP服务器自…

Android C++系列:内存知识整理

1. 控制C的内存分配 在嵌入式系统中使用C的一个常见问题是内存分配,即对new 和 delete 操作符的失控。 具有讽刺意味的是,问题的根源却是C对内存的管理非常的容易而且安全。具体地说,当一个对象被消除时,它的析构函数能够安全的释…

202406最新manjaro安装sogou输入法解决方案(采用aur本地package+sogou deb包解决方案)

本地执行安装方法 1.拉取源码 git clone https://gitee.com/liushuai05/fcitx-sogoupinyin.git cd fcitx-sogoupinyin 2.获取sogou下载地址并替换到源码中 - 下载地址:https://pinyin.sogou.com/linux/ - 点击立即下载->x86_64->下载,然后右键复…

LoRaWAN在嵌入式网络通信中的应用:打造高效远程监控系统(附代码示例)

引言 随着物联网(IoT)技术的发展,远程监控系统在各个领域的应用越来越广泛。LoRaWAN(Long Range Wide Area Network)作为一种低功耗广域网通信协议,因其长距离传输、低功耗和高可靠性等特点,成为…

407串口01发送

实验一: 工程。 链接:https://pan.baidu.com/s/1g8DV4yZWOix0BbcZ08LYDQ?pwd2176 提取码:2176串口1的使用。发送功能。 单片机发送信息到电脑。 通过串口进行通信。 首先单片机这边。 单片机这边,需要对单片机的串口模块进行使…

zctf2016_note2-堆利用-unlink

一、题目 题目:zctf2016_note2 题目描述:二、WriteUp (一)题目环境 glibc版本2.23 通过patchelf进行修改(二)信息收集 $ checksec note2Arch: amd64-64-littleRELRO: Partial RELRO # (.plt.got)段依…

Redis-HyperLogLog数据类型及其常用命令详解

1.Redis概述 2.HyperLogLog数据类型 HyperLogLog(HLL)是一种用于近似计算大数据集合中唯一元素数量(基数)的概率性数据结构。 概率数据结构: HyperLogLog 使用的是一种概率算法,它可以在极少的内存消耗下估…

SpringBoot2+Vue3开发博客管理系统

项目介绍 博客管理系统,可以帮助使用者管理自己的经验文章、学习心得、知识文章、技术文章,以及对文章进行分类,打标签等功能。便于日后的复习和回忆。 架构介绍 博客管理系统采用前后端分离模式进行开发。前端主要使用技术:Vu…

鸿蒙HarmonyOS服务卡片实战

引言 在现代开发中,服务卡片是不可或缺的一部分,比如音乐,天气类等应用,官网的介绍中写道:卡片让您便捷地预览服务信息,例如查看天气或日历日程等内容。您可将卡片添加到屏幕上,让这类信息触手…

[C++][设计模式][观察者模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受1.代码一1.FileSplitter.cpp2.MainForm.cpp 2.代码二1.FileSplitter.cpp2.MainForm.cpp 1.动机 在软件构建过程中,需要为某些对象建立一种“通知依赖关系” 一个对象(目标对象)的状态发生改变,所有的依赖对象…

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库,性能强是建立在专业运维之上的,需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批…

一、企业级架构设计-archimate基础概念

目录 一、标准 二、实现工具 1、Archimate 1、Archimate 基本概念 1、通用元模型 2、结构关系 3、依赖关系 1、服务关系 2、访问关系 3、影响关系 1、影响方式 2、概念 3、关系线 4、案例 4、关联关系 4、动态、节点和其他关系 1、时间或因果关系 2、信息流 …