freeswitch 1.10版本 centos7安装

2023-05-16

文章目录

      • 简介
      • 安装
      • 使用ODBC连接mysql
      • 可能出现的问题

简介

FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。

FreeSWITCH 支持多种通讯技术标准,包括 SIP, H.323, IAX2 以及 GoogleTalk ,可以方便的与其他开源的PBX系统进行对接,例如 sipX, OpenPBX, Bayonne, YATE 或者 Asterisk.

FreeSWITCH 支持许多高级的 SIP 特性,例如 presence/BLF/SLA 、TCP TLS 和 sRTP,它还可以用来作为类似于 SBC (Session Border Controller) 的透明代理。

FreeSWITCH 是一个开源的电话交换平台,从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能。能原生地运行于Windows、Max OS X、Linux、BSD 及 solaris 等诸多32/64位平台。可以用作一个简单的交换引擎、一个PBX,一个媒体网关或媒体支持IVR的服务器等。它支持SIP、H323、Skype、Google Talk等协议,并能很容易地与各种开源的PBX系统如sipXecs、Call Weaver、Bayonne、YATE及Asterisk等通信。

安装

安装yum数据源
lizhenghao
pat_rSr5EbxhSBMSW7a1Wz1dR2xQ

echo "signalwire" > /etc/yum/vars/signalwireusername
echo "TOKEN" > /etc/yum/vars/signalwiretoken
yum install -y https://$(< /etc/yum/vars/signalwireusername):$(< /etc/yum/vars/signalwiretoken)@freeswitch.signalwire.com/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release
yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release

安装所需要的依赖包
升级 gcc到最新版本(gcc-9)

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
scl enable devtoolset-9 'bash'
source /etc/profile

依赖包libavformat-dev
下载界面:
http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release.html

rpm -Uvh cheese-release*rpm

或者直接下载更新

rpm -Uvh http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release-7-1.noarch.rpm

 yum -y install libavformat-devel
 yum -y install libswscale-devel

开启mod_av需要的依赖包 (暂时没找到)如果没有安装 则需要取消编译mod_av
取消视频模块 mod_nuimrcp模块

yum -y install libavresample-dev  (暂未找到)
vim ./build/modules.conf.in
#applications/mod_av

编译时检查此文件有没有注释#applications/mod_av
vim /usr/local/src/freeswitch/modules.conf 
  #applications/mod_av
  

其他make时需要的依赖包

yum -y install fltk  fltk-devel
yum -y install libtiff-devel 
yum -y install libjpeg-turbo-devel
yum -y install speex*
yum -y install libedit-devel
yum -y install libcurl-devel.x86_64
yum -y install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel openssl-devel
yum -y install yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git

yum -y install  git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel libdb4-devel e2fsprogs-devel erlang flite-devel g722_1-devel gcc-c++ gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtheora-devel libtiff-devel libtool libuuid-devel libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel wget which yasm zlib-devel libshout-devel libmpg123-devel lame-devel

安装缺少的用于生成RPM包的依赖项

yum-builddep -y freeswitch --skip-broken

git下载编译安装 spandsp、sofia-sip

cd /usr/local/src/
git clone https://ghproxy.com/https://github.com/freeswitch/spandsp.git
cd spandsp/
./configure
make 
make install
cd /usr/local/src/
git clone https://ghproxy.com/https://github.com/freeswitch/sofia-sip.git
cd sofia-sip/
./configure
make 
make install

安装spandsp、sofia-sip后
至少应该在哪里列出

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

 ls /usr/local/lib/pkgconfig
 sofia-sip-ua.pc  spandsp.pc

git下载1.10版本的的freeswitch 源码包(如果下载其他版本可自行修改版本号)

cd /usr/local/src/
git clone -b v1.10 https://ghproxy.com/https://github.com/signalwire/freeswitch.git freeswitch
cd freeswitch
./bootstrap.sh -j

./configure  CFLAGS="-Wno-error" --enable-portable-binary \
            --prefix=/usr/local/freeswitch --localstatedir=/var/freeswitch --sysconfdir=/etc/freeswitch \
            --with-gnu-ld --with-python --with-erlang --with-openssl \
            --enable-core-odbc-support --enable-zrtp 
make
make -j8 install    (使用make -j后面跟一个数字,比如make -j8 即绑定8个cpu同时编译,提高效率)

./configure 提示此界面为 编译成功
在这里插入图片描述

安装声音文件(make的时候可以自动下载,下载较慢,可以用通过迅雷下载链接下载上传)

cd /usr/local/src/freeswitch

make cd-sounds-install
make cd-moh-install



上传文件(命令可直接下载,但是很慢)
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-8000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-16000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-32000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-48000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-8000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-16000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-32000-1.0.52.tar.gz
http://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-48000-1.0.52.tar.gz


make  cd-sounds-install  //CD音质
make cd-moh-install     //CD音质
或者
make sounds-install             //8K音质
make moh-install                  //8K音质



配置freeswitch在任何一个路径都可以运行

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

freeswitch -nc  后台启动
fs_cli  进入命令 


带界面启动:-c
后台运行:-nc
退出:shutdown 
设置日志级别(console loglevel help可以查看6的含义):console loglevel 6
查看服务器运行状态:status
查看有多少用户已注册:sofia status profile internal reg
退出fs_cli(不关闭fs):/bye

看到此界面是启动成功,可以看到5060的端口
在这里插入图片描述

vim /usr/local/src/freeswitch/src/mod/event_handlers/mod_event_socket/conf/autoload_configs/event_socket.conf.xml
将ip改为127.0.0.1改成0.0.0.0

在这里插入图片描述

使用ODBC连接mysql

yum在线安装驱动

yum -y install  unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel openssl-devel

yum -y install mysql-connector-odbc

ODBC配置:

vim /etc/odbc.ini

[freeswitch]
Description=MySQL realtime database
Driver=/usr/lib64/libmyodbc8w.so      ##根据/etc/odbcinst.ini中MySQL ODBC 8.0 Unicode Driver来定
SERVER=192.168.253.11       ##数据库连接地址
PORT=8809 	 				##数据库端口号
DATABASE=freeswitch			##数据库库名
OPTION=67108864					
CHARSET=UTF8
USER=frees					##数据库连接用户	
PASSWORD=Zz123..0			##用户密码
Threading=0

vim  /etc/odbcinst.ini


[MySQL ODBC 8.0 Unicode Driver]
Driver=/usr/lib64/libmyodbc8w.so
UsageCount=8

[MySQL ODBC 8.0 ANSI Driver]
Driver=/usr/lib64/libmyodbc8a.so
UsageCount=8

                

输入:isql -v freeswitch测试是否能够连通:
在这里插入图片描述
安装php–为freeswitch后期扩展开发预备

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

//查看
yum search php72w
//安装php以及扩展
yum install php72w php72w-fpm php72w-cli php72w-common php72w-devel php72w-gd php72w-pdo php72w-mysql php72w-mbstring php72w-bcmath

可能出现的问题

[root@centos2 nasm-2.14]# yum -y install libedit-devel
已加载插件:fastestmirror

解决办法:

1. (可能没有modules.conf文件,请使用第二条)
vi /usr/local/src/freeswitch/modules.conf
将enabled=1改为enabled=0
2.修改yum的配置文件
 vi /etc/yum.conf
将plugins=1改为plugins=0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

freeswitch 1.10版本 centos7安装 的相关文章

  • freeswitch部署及网关调试

    freeswitch部署及网关调试 目录 freeswitch部署及网关调试 1 一 freeswitch部署 3 一 基础部署 3 二 根据实际情况需求的部署配置 4 1 freeswitch开启支持音频和视频 4 2 配置联通 电信双线
  • linux常用命令笔记(二)

    2020 03 18 一 echo 1 原文输出 双引号可加可不加 echo hello world echo hello world 2 输出变量的值 echo 变量名 echo PATH 输出环境变量PATH的值 注意 linux环境变
  • FreeSwitch学习笔记

    FreeSwitch FreeSwitch应用场景 在线计费 预付费功能 电话路由服务器 语音转码服务器 支持资源优先权和QoS的服务器 多点会议服务器 IVR 语音通知服务器 VoiceMail服务器 PBX应用和软交换 应用层网关 防火
  • Centos7 防火墙详细操作

    centos7 通过firewall cmd命令添加防火墙白名单 1 查看防护墙状态 firewall cmd state 或 systemctl status firewalld active running gt 表示防火墙已经开启 i
  • freeswitch编译过程以及添加odbc连接mysql

    freeswitch 编译 参考官网wiki bootstrap sh j configure prefix home make make j install make j cd sounds install make j cd moh i
  • Centos7安装后没有图形界面

    Centos7虚拟机安装好后重启只能进到命令行不能进入图形界面 原因 安装时没有安装图形界面 选择了Minimal Install 解决方法 安装过程中将设置SOFTWARE SELECTION勾选GNOME Desktop gt Deve
  • Linux 上的 PostgreSQL“initdb”(数据库初始化)

    我正在努力在 Linux 系统 CentOS RedHat Fedora 上工作的 PostgreSQL 9 x 中创建数据库集群 单个数据库 我已经安装了正确的 PostgreSQL 软件包 服务器和客户端 但是 我无法创建数据库并获取某
  • InnoDB:错误:空间标头页由数据文件 ./ibdata1 中的零字节组成

    我的 WordPress 设置非常好 但今天服务器突然停止加载我的网站 我登录并重新启动我的 centos 7 VPS 重启后没有启动MariaDB 这是我在日志中发现的内容 141026 18 13 50 Note usr libexec
  • 使用 JeMalloc 查找 Java 应用程序中的本机内存泄漏

    目前我正在尝试解决 Java 内存问题 我的 Java 应用程序不断使用越来越多的内存 最终它被 Linux OOM 杀手杀死 很可能是本地内存泄漏 因为经过检查 使用 VisualVM 的 JVM 的元空间和堆看起来都不错 使用top命令
  • 使用 crontab/cron 安排 python 3.6 脚本

    我只是在我的 Centos 开发服务器上设置一个 crontab job 在我的 crontab 中 我有以下内容 忽略时间设置 这是在 UTC 服务器时间 15 32 左右添加的 只是为了获得下一次计划运行 34 15 cd welcom
  • FreeSwitch + Mode Verto + Webrtc + Android + 无法从 android 拨打电话

    我做了一个mode verto安卓客户端 使用WebRtc 预建库 org webrtc google webrtc 1 0 libjingle io pristine libjingle 11139 aar and 自由切换但只成功进行单
  • CentOS *** 错误:Phusion Passenger 似乎没有运行

    当我通过 capistrano 将 Rails 应用程序部署到我的 CentOS 服务器时 我一直收到此错误 错误 Phusion Passenger 似乎没有运行 如果您确定它正在运行 那么导致此问题的原因可能是 的 您使用 Apache
  • MariaDB 10.2 和 Openssl 1.1.0e 出现“不完整类型 MD5_CONTEXT”错误

    我无法在 CentOS 7 中构建启用 RocksDB 的 MariaDB 10 2 它有以下编译错误 root mariadb 10 2 mysys ssl my md5 cc In function void md5 result MD
  • 以气流用户身份运行气流进程和气流网络服务器

    Problem 我正在 GCP 上设置 Google Compute Engine 虚拟机airflow安装在其上 我现在正在尝试整合airflow with systemd按照以下说明http airflow readthedocs io
  • PHP 警告:第 0 行的未知模块已加载

    在 Mac OSX Mavericks 上使用 homebrew php55 每当我运行 php 命令时 我都会收到以下错误消息 一切运行正常 只是很烦人 PHP Warning Module intl already loaded in
  • CentOS 7 上 Ambari 2.7.5 安装失败

    我正在 CentOS 7 计算机上安装 Apache Ambari 2 7 5 我正在关注Apache 网站上的安装指南 指南第 1 步的最后一个命令 mvn B 全新安装 rpm rpm DnewVersion 2 7 5 0 0 Dbu
  • 系统上未安装 docker-runc

    我最近更新了基于 Centos 7 的机器 从那时起 我无法启动任何码头工人 有人对这个问题有经验吗 如果有 你是如何解决的 感谢您的宝贵帮助 错误日志下方 docker run it centos6 labs ompi161 devtoo
  • 通过 nginx 访问时,php 在 /tmp/systemd-private-nABCDE/tmp 中有自己的 /tmp

    我发现奇怪的行为php and tmp文件夹 Php 在使用时使用另一个文件夹 tmp PHP 5 6 7 nginx php fpm 我以两种方式执行相同的脚本 通过浏览器和通过 shell 但是当通过浏览器启动时 文件不是真实的 tmp
  • Centos 7 Postgres 服务的环境变量

    最近我遇到了使用自定义 PGDATA 路径启动 postgresql 服务的问题 它尝试查找未初始化的默认数据目录 var lib pgsql 9 3 data 因此触发了这些错误 问题似乎是 Centos 7 上的服务启动器删除了所有环境
  • 如何在 CentOS 7.2 上使用 yum 安装 gcc 5.3?

    我使用的是CentOS 7 2 当我使用yum groupinstall Development Tools gcc版本是4 8 5 像这样 我想安装 gcc 5 3 如何解决这个问题yum Update 通常人们想要最新版本的 gcc 并

随机推荐

  • JAVA判断时间格式为 “YYYY-MM-DD“

    常用的方法如下 xff1a import java text DateFormat import java text SimpleDateFormat import java util Date public class DataTest
  • win系统修改右键新建菜单

    win系统修改右键新建菜单 在右键新建中添加自己想要的文件修改右键新建顺序修改右键新建中菜单项的名字 在右键新建中添加自己想要的文件 首先win 43 R再regedit调出注册表在HKEY CLASSES ROOT目录下找到对应后缀名 x
  • Django基础(一)

    目录 创建项目 创建一个应用 启动服务 创建项目 D pythonProject3 Django gt django admin startproject hello 执行完成命令 大概10s之后会出现一个以hello命名的文件夹 创建一个
  • 二分图多重匹配——小结

    二分图的重匹配 xff0c 说白了就说一对多的匹配 还是匈牙利算法 xff0c 一般都是给出两个集合 xff0c 然后让你对这两个集合进行匹配 xff0c 但是其中一个集合是可以多次匹配的 xff0c 但是匹配的次数是有限的 xff08 假
  • C.Garland(DP)

    题目链接 xff1a C Garland 题意 给你了一个序列 xff0c 包含n个数 xff0c 这个序列是由1 n数字构成 xff0c 但是题目给你的这个序列并不完整 xff0c 让你去补完整 xff0c 那些输入的值为0的位置的就是让
  • P1908 逆序对(离散化)

    洛谷P1908 逆序对 逆序对就不用解释了 xff0c 题上也说的很清楚 那我分别用归并排序和树状数组来解决一下这道题目 归并排序 我们都知道 xff0c 归并排序是通过把大区间一直分 xff0c 分成小区间 xff0c 然后小区间排序好了
  • Codeforces Round #618 (Div. 2)

    太菜了 xff0c 也只能补补题了 A Non zero 这道题瞎弄一下就过了 xff0c 数0的个数 xff0c 把0全变成1 xff0c 然后再判断现在和是不是0 xff0c 和是0的话就再加上1 span class token ma
  • HDU 1025最长递增子序列(二分法)

    最长递增子序列 xff08 二分 xff09 HDU1025 https www felix021 com blog read php 1587 找最长递增子序列 xff0c 以前一般用DP的方法找 xff0c 因为理解简单 xff0c 实
  • Codeforces Round #658 (Div. 2)

    比赛链接 xff1a https codeforces com contest 1382 A Common Subsequence 题意 给你两组数 xff0c 问你有没有相同 的书 xff0c 有的话 xff0c 输出最短的那组 xff0
  • mysql学习笔记之数据库

    我的mysql学习参考于github文章 数据库 xff1a 高效的存储和处理数据的介质 xff08 比如磁盘和内存 xff09 xff0c 又根据介质的不同 xff0c 分为关系数据库和非关系数据 关系数据库特点 xff1a 1 xff0
  • Python_pytorch (三)分解网络模型

    python pytorch 小土堆pytotch学习视频链接 from的是一个个的包 xff08 package import 的是一个个的py文件 file py 所使用的一般是文件中的类 class 第一步实例化所使用的类 然后调用类
  • Python_pytorch(四)网络搭建

    搭建架构 span class token keyword import span torch span class token keyword import span torchvision span class token keywor
  • Python_pytorch(五)模型训练

    反向传播 Loss Function span class token keyword import span torchvision span class token keyword from span torch span class
  • 【计蒜客】泥塑课C++

    泥塑课 描述 小米是一个幼儿园老师 xff0c 每学期的泥塑课上 xff0c 她都会给每个学生发不超过 250 立方厘米的等量橡皮泥 xff0c 教大家做泥塑 在上课过程中 xff0c 她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮
  • linux无法粘贴文件

    无粘贴功能的主要原因是无权限复制 xff0c 所以解决方案是 xff1a 打开终端 xff0c 输入 xff1a sudo nautilus 那么就会打开一个有管理员权限的文件夹资源器 xff0c 现在右键就有粘贴功能了
  • Zookeeper详解(三)——开源客户端curator

    开源客户端curator true re de curator是Netflix公司开源的一个zookeeper客户端 xff0c 后捐献给apache xff0c curator框架在zookeeper原生API接口上进行了包装 xff0c
  • mysql 修改字段类型

    修改字段类型 xff1a span class token keyword alter span span class token keyword table span 表名 span class token keyword modify
  • 【python】字符串(二)

    今天我们来学习如何判断字符串格式的内容 xff0c 针对基础判断 文章目录 一 基础知识二 例题 xff08 一 xff09 找元音 xff08 二 xff09 判断电话号码合法 一 基础知识 我们先来看看一般会用到那些知识点 xff1a
  • CentOS7 个性化

    CentOS美化 前言一 上图看效果原生桌面效果图美化后的效果图 二 使用步骤1 安装相关的包2 调整主题和字体 总结 前言 咳咳咳 xff5e 无论什么系统 xff0c 美化是必不可少的 xff0c 可以没用 xff0c 但不能没有 xf
  • freeswitch 1.10版本 centos7安装

    文章目录 简介安装使用ODBC连接mysql可能出现的问题 简介 FreeSWITCH 是一个电话的软交换解决方案 xff0c 包括一个软电话和软交换机用以提供语音和聊天的产品驱动 FreeSWITCH 可以用作交换机引擎 PBX 多媒体网