热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在CentOS上部署和配置FreeSWITCH

在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。

为什么80%的码农都做不了架构师?>>>   hot3.png

一、安装步骤

安装方法有多种,可以从Git仓库中安装,可以源码安装,如下我们使用源码安装

#安装依赖
yum install -y autoconf automake libtool gcc-c++ ncurses-devel make zlib-devel libjpeg-devel
yum install -y openssl-devel e2fsprogs-devel curl-devel pcre-devel speex-devel sqlite-devel#下载主程序包,解压并编译安装
wget http://files.freeswitch.org/freeswitch-releases/freeswitch-1.4.0.beta6.tar.bz2
tar xvjf freeswitch-1.4.0.beta6.tar.bz2
cd freeswitch-1.4.0
./configure
make install#安装声音文件
make sounds-install
make moh-install#启动文件
cp build/freeswitch.init.redhat /etc/init.d/freeswitch
chmod +x /etc/init.d/freeswitch#至此FreeSWITCH就已经安装完成,在UNIX类操作系统上,默认的安装位置是/usr/local/freeswitch/,有两个常用
#的命令 freeswitch 和 fs_cli 位于/usr/local/freeswitch/bin/目录下,为了方便使用,建议做一下软链接,如下
ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin/#建立软连接后,执行 freeswitch 命令即可启动了,如果你想后台运行执行命令 freeswitc -nc(即no console)
#关闭FreeSWITCH,使用命令 freeswitch -stop 或者通过命令fs_cli命令连接FreeSWITCH后,使用命令 shutdown
#也可关闭,退出fs_cli控制台使用 /exit 或者按 Ctrl + D 组合键#FreeSWITCH在启动时默认会启用uPnP或NAT-PMP协议,试图查找你的路由器是否支持并在你的路由器上“打洞”,如果你的
#路由器不支持该协议,这一步可能耗时交久,会影响启动速度,所以如果你只是在内网测试,建议关闭此选项,如下
freeswitch -nc -nonat

 

二、报错处理

configure: error: You need to either install libldns-dev or disable mod_enum in modules.conf
#libldns-dev在centos上对应的是ldns-devel,安装这个包得先安装epel-release源
yum install -y epel-release
yum install -y ldns-develconfigure: error: You need to either install libedit-dev (>= 2.11) or configure with --disable-core-libedit-support
yum install -y libedit-devel

 

三、FreeSWITCH的启动参数详解

一般来说,FreeSWITCH不需要任何命令参数就可以启动,但在某些情况下,你需要以一些特殊的参数启动

[root@localhost /]# freeswitch -help
Usage: freeswitch [OPTIONS]These are the optional arguments you can pass to freeswitch:-nf -- no forking 不允许fork新进程-u [user] -- specify user to switch to 启动后以非root用户 user 身份运行-g [group] -- specify group to switch to 启动后以非root用户 group 身份运行-core -- dump cores 出错时进行内核转存-help -- this message-version -- print the version and exit-rp -- enable high(realtime) priority settings 开启高优先级(实时)设置-lp -- enable low priority settings 开启低优先级设置-np -- enable normal priority settings (system defaults) 普通优先级-vg -- run under valgrind 在valgrind下运行,调试内存泄露时使用-nosql -- disable internal sql scoreboard 不使用SQL,show channels类的命令将不能显示结果-heavy-timer -- Heavy Timer, possibly more accurate but at a cost 更精确的时钟可能会更精确但对系统要求高-nonat -- disable auto nat detection 如果路由器支持uPnP或NAP-PMP,则FreeSWITCH可以自动解决NAT穿越问题,如果路由器不支持则该选项可以使启动更快-nonatmap -- disable auto nat port mapping-nocal -- disable clock calibration 关闭时钟核准,FreeSWITCH理想的运行环境是1000Hz的内核时钟,如果你的内核时钟小于1000Hz或在虚拟机上,可以使用该选项-nort -- disable clock clock_realtime 关闭实时时钟-stop -- stop freeswitch 关闭FreeSWITCH,它会在run目录中查找PID文件-nc -- do not output to a console and background 启动到后台模式,没有控制台-ncwait -- do not output to a console and background but wait until thesystem is ready before exiting (implies -nc) 后台模式,等待系统完全初始化完毕之后,在退出父进程,隐含“-nc”选项-c -- output to a console and stay in the foreground 启动到控制台,默认Options to control locations of files:-base [basedir] -- alternate prefix directory 指定其他的基准目录,在配置文件中使用$${base}-cfgname [filename] -- alternate filename for FreeSWITCH main configuration file-conf [confdir] -- alternate directory for FreeSWITCH configuration files 指定其他的配置文件所在目录,需与 -log 和 -db 合用-log [logdir] -- alternate directory for logfiles 指定其它日志目录-run [rundir] -- alternate directory for runtime files 指定其他存放PID文件运行目录-db [dbdir] -- alternate directory for the internal database 指定其他数据库目录-mod [moddir] -- alternate directory for modules 指定其他模块目录-htdocs [htdocsdir] -- alternate directory for htdocs 指定其他HTTP根目录-scripts [scriptsdir] -- alternate directory for scripts 指定其他脚本目录-temp [directory] -- alternate directory for temporary files 指定其他临时文件目录-grammar [directory] -- alternate directory for grammar files 指定其他语法目录-recordings [directory] -- alternate directory for recordings 指定其他录音目录-storage [directory] -- alternate directory for voicemail storage 指定其他存储目录如语音信箱等-sounds [directory] -- alternate directory for sound files 指定其他声音文件目录

 

 

 

 


转:https://my.oschina.net/stache/blog/1523683



推荐阅读
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 1.tarzxfapache-activemq-5.12.0-bin.tar.gztarzxfapache-activemq-5.12.0-bin.tar.gz2.cdapac ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 在分析和解决 Keepalived VIP 漂移故障的过程中,我们发现主备节点配置如下:主节点 IP 为 172.16.30.31,备份节点 IP 为 172.16.30.32,虚拟 IP 为 172.16.30.10。故障表现为监控系统显示 Keepalived 主节点状态异常,导致 VIP 漂移到备份节点。通过详细检查配置文件和日志,我们发现主节点上的 Keepalived 进程未能正常运行,最终通过优化配置和重启服务解决了该问题。此外,我们还增加了健康检查机制,以提高系统的稳定性和可靠性。 ... [详细]
  • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • Python学习day3网络基础之网络协议篇
    一、互联网协议连接两台计算机之间的Internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列网络协议。二、为什么要有互联网协议互联网协议就相当于计 ... [详细]
  • 本文详细介绍了在Windows XP系统中安装和配置Unix打印服务的方法,以支持远程行式打印机(LPR)功能。对于同时使用Windows 2000 Server打印服务器和Unix打印服务器的网络环境,该指南提供了实用的步骤和配置建议,确保不同平台之间的兼容性和高效打印。 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
author-avatar
小宇宙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有