ubuntu 18.04 server源码编译安装freeswitch 1.10.11——筑梦之路

前言

这里主要编译支持语音通话、视频通话、短信、webrtc功能的PBX。

安装编译工具包和依赖包

sudo apt-get updatesudo apt-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.git./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 installcat /etc/profileexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:${PKG_CONFIG_PATH}source /etc/profile

 编译安装freeswitch

git clone --branch v1.10.11 https://github.com/signalwire/freeswitch.git# 编辑配置,去掉模块mod_signalwire,启用模块mod_callcentersed -i 's/applications\/mod_signalwire/#applications\/mod_signalwire/g' freeswitch/modules.confsed -i 's/#applications\/mod_callcenter/applications\/mod_callcenter/g' freeswitch/modules.confcd freeswitch ./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-install

 

 

配置软连接和后台启动

#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/

使用systemctl管理服务(可选)

cat /etc/systemd/system/freeswitch.service
[Unit]
Description=FreeSWITCH Soft-Switched Voice over IP Telephony
After=network.target[Service]
Type=forking
ExecStart=/usr/local/freeswitch/bin/freeswitch -nc
ExecStop=/usr/local/freeswitch/bin/freeswitch -stop[Install]
WantedBy=multi-user.target# ##################
systemctl daemon-reloadsystemctl enable freeswitch --nowsystemctl status freeswitch

测试验证

思路:使用软电话注册互拨测试就行,包括语音通话测试、视频通话测试、短信发送等。

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

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

相关文章

百问网全志D1h开发板投屏功能实现

投屏功能实现 D1系列号称点屏神器,不仅能点屏,还能用于投屏。 源码准备 百问网为 【百问网D1h开发板】提供了投屏功能需要使用的源码,直接git下载即可: git clone https://github.com/DongshanPI/DongshannezhaSTU_DLNA_Scree…

平板WPS转换的PDF文件保存位置解析

在日常工作和生活中,我们经常需要将文档转换成PDF格式进行分享,以确保接收者能够无障碍地查看文件内容,不受软件版本或操作系统的限制。WPS作为一款功能强大的办公软件,也提供了文档转换为PDF的功能。然而,有时在转换并…

基于振弦采集仪的工程安全监测技术研究与应用

基于振弦采集仪的工程安全监测技术研究与应用 随着工程规模的不断扩大和复杂性的增加,工程安全监测变得越来越重要。工程安全监测的目的是保证工程的安全运行,预防事故的发生,保护人们的生命财产安全。其中,振弦采集仪作为一种重…

【Vite】控制打包结构

配置 vite.config.json 文件: import { defineConfig } from "vite";export default defineConfig({// ...build: {rollupOptions: {output: {entryFileNames: "js/[name]-[hash].js",chunkFileNames: "js/[name]-[hash].js",assetF…

【Android八股文】如何对ListView RecycleView进行局部刷新的?

文章目录 一、如何对ListView进行局部刷新的?1.1 方法一:更新对应view的内容1.2 方法二:通过ViewHolder去设置值1.3 方法三:调用一次getView()方法1.4 封装在万能适配器当中1.5 总结二、如何对RecyclerView 进行局部刷新的?2.0 为什么会有DiffUtil?2.1 讲解一下DiffUtil2…

JOSEF约瑟 JOLP(ROS-2D)型两级跑偏开关 精度高,耐振动

​ 品牌 :JOSEF约瑟 型号名称 :JOLP(ROS-2D)型两级跑偏开关 触点容量 :AC380V 10A 触点数量 :常开:2常闭:2 极限角度 :70 复位方式 :自动 动作力 :3kg 防护等级 :IP66 结构特点 1.通用的安装设计可使跑偏检测装置随意安装在输送机纵梁顶!顶部或底部位置 2.封闭、防腐、坚固的铸…

3D数字人视频合成用户指南

数字人开放平台3D互动数字人如何接入_虚拟数字人(DVH)-阿里云帮助中心3D互动数字人(对应开放平台的“智能客服”场景)是虚拟数字人开放平台提供能够支持用户与3D数字人进行实时语音交互的数字人产品能力,需要配合智能对话机器人产品使用。本篇…

安装appnium

官网: https://appium.io/docs/en/latest/quickstart/uiauto2-driver/ 安装Node.js 首先,确保安装了Node.js,因为Appium是基于Node.js的。可以从Node.js官网下载并安装最新稳定版。安装Appium Server 你可以通过npm(Node.js的包管…

徐徐拉开的帷幕:拜登与特朗普的辩论大戏 日元跌破160大关!创1986年以来最低纪录

北京时间6月27日(本周五)上午9:00,拜登和特朗普将参加2024年总统候选人电视辩论。作为参考,2016年大选辩论期间,美元汇率对辩论结果的反应相对温和,希拉里胜选预期增强在一定程度上支撑了美元。 时间逐渐临…

Java - 程序员面试笔记记录 实现 - Part1

社招又来学习 Java 啦,这次选了何昊老师的程序员面试笔记作为主要资料,记录一下一些学习过程。 1.1 Java 程序初始化 Java 程序初始化遵循规则:静态变量优于动态变量;父类优于子类;成员变量的定义顺序; …

python运行相关

一、check python是否仍然在运行 Windows 操作系统下用任务管理器查看 打开任务管理器:Ctrl Shift Esc 查看进程列表: 在“进程”选项卡中,找到与 Python 相关的进程。 检查CPU和内存使用情况: 如果数值在不断变化&#xf…

Spring的jar包下载(最新版6.0版本)

1.在Spring官网的projects下面点击spring-framework 2.进入github官网 3.进入github后往下滑,点击Spring Framework Artifacts 4.往下滑找到 点击 5.在左边先点击Artifacts,在右边找到 libs-snapshot,展开libs-snapshot(之前其他…

React Hooks小记(九)_useMemo 和 memo 函数

useMemo 和 memo 函数 1. memo 函数 当父组件被重新渲染的时候,也会触发子组件的重新渲染,这样就多出了无意义的性能开销。如果子组件的状态没有发生变化,则子组件是必须要被重新渲染的。 在 React 中,我们可以使用 React.memo…

k8s及常用对象简介

文章目录 一、k8s是什么应用程序早期部署形式容器的引入k8s的作用 二、k8s中的常用对象1、Node获取node信息 2、Namespacenamespace的使用 3、Pod生命周期pod的使用 4、DaemonSetDaemonSet的使用 5、Deployment创建deploy 6、ReplicaSet7、StatefulSet创建StatefulSet 8、更新操…

免费代理池,在线公共ip池

这些公共代理是完全免费提供的,不需要任何授权。 免费代理通常是开放的、流行的公共代理。 与私人代理不同,公共代理不需要注册或密码。事实上,它们是负责安装在计算机上的代理服务器并且不关心更改默认设置的系统管理员的错误或疏忽。因此&…

道路救援入驻派单小程序开源版开发

道路救援入驻派单小程序开源版开发 1、用户立即救援 2、后台收到救援通知,派单救援师傅. 道路救援入驻派单小程序通常会包含一系列功能,旨在方便救援服务提供商、用户和后台管理系统之间的交互。以下是一个可能的功能列表: 用户端功能&…

GPOPS-II教程(4): 多级火箭上升最优控制问题

文章目录 本篇重点问题描述动力学方程约束条件性能指标 GPOPS代码main function1. 初始参数设置2. 边界条件设置3.初值猜测4.设置GPOPS求解器参数5.求解6.画图 continuous function1. 取输入参数2. 计算过程变量3. 写动力学方程4. 给输出 endpoint function坐标转换函数位置-速…

大猫咪守护LoRA:定制你的大猫私人大猫咪宠物写真合影,某音某书流行款

🌹大家好!我是安琪!感谢大家的支持与鼓励。 大猫咪LoRA模型简介 今天应群里同学大猫咪宠物合影写真提议,为大家介绍一款来自作者 沐沐人像合成的主题为大猫咪守护的LoRAl模型:沐沐-大猫咪。这是一款当下在某音、某书…

UniApp中的背景音频播放:深入理解uni.getBackgroundAudioManager()

在移动应用开发中,音频播放是一个常见且重要的功能。UniApp框架提供了强大的背景音频管理器 uni.getBackgroundAudioManager(),让我们能够轻松实现跨平台的音频播放功能。本文将深入探讨如何在UniApp中使用这个API来创建优质的音频播放体验。 1. 背景音频管理器简介 uni.getB…

解决llama-factory运行中的No module named ‘_bz2‘和No module named ‘_lzma‘

问题描述 在llama-factory执行lora微调时&#xff0c;按照手册安装了依赖&#xff0c;微调还是遇到错误 File "/usr/local/python3.10.2/lib/python3.10/site-packages/datasets/utils/extract.py", line 1, in <module>import bz2File "/usr/local/pyt…