ubuntu14.04 lts 安装freeswitch

发布时间 2023-05-08 17:26:48作者: 阿风小子

ubuntu14.04 lts 安装freeswitch:

0、安装一堆依赖包。

apt-get install libedit-dev libldns-dev libpcre3-dev libspeexdsp-dev libspeex-dev libcurl4-openssl-dev libopus-dev libncurses5-dev libtiff-dev libjpeg-dev zlib1g-dev libssl-dev libsqlite3-dev build-essential automake autoconf git-core wget libtool liblua50-dev libsndfile1-dev yasm

1、使用root权限  su root ,

FSfile=$(curl -s https://files.freeswitch.org/releases/freeswitch/ | sed -n 's/.*"\(freeswitch\-[0-9]*\.[0-9]*\.[0-9]*\.tar\.gz\)".*/\1 /p' | tail -n 1) && echo Downloading $FSfile && curl https://files.freeswitch.org/freeswitch-releases/$FSfile | tar -xz && mv ${FSfile/.tar.gz//} freeswitch

2、进入freeswitch目录 

因为需要支持mp3 格式,因此需要安装mod_shout 

mod_shout 需要的依赖包:apt-get install libvorbis0a libogg0 libogg-dev libvorbis-dev libshout3-dev libmpg123-dev libmp3lame-dev

a、修改freeswitch目录下modules.conf 大概121行 

formats/mod_shout

把前面的#去掉

b、修改/conf/vanilla/autoconfig 目录下modules.conf.xml   110行左右 把注释去掉

<!--For icecast/mp3 streams/files-->
<load module="mod_shout"/>

  ./configure

make 

make install 

3、如果遇到编译mod_shout失败 因为 libmpg123-dev,则从mpg123官网直接下载新版本后编译安装即可解决。

4、编译过程中遇到lua.h找不到异常退出,

fatal error: lua.h: No such file or directory
则重新安装一下lua

apt-get install liblua5.1-0-dev

然后freeswitch make 的时候指定lua相关的.h目录
make -I/usr/include/lua5.1/
应该就可以正确编译了。

5、安装完成后

 

建立软连接,方便开启:

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

启动后,可以通过 module_exits mod_sofia mod_shout来看看关键模块是否安装成功。

 简单配置
      a.   到vars.xml文件中将默认密码修改一下,否则不安全,而且终端中也会出现警告。另外为了防止默认端口被扫描,还可以修改下默认的端口号!方法如下
                vi /usr/local/freeswitch/conf/vars.xml,修改下面两行
                     <X-PRE-PROCESS cmd="set" data="default_password=1234"/>  -->“1234”改成别的
                     <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/> -->“5060”改成别的
      b.   取消对IPv6的支持(除非需要ipv6否则请取消):
                cd /usr/local/freeswitch/conf/sip_profiles 执行下面的操作: 
                      mv internal-ipv6.xml internal-ipv6.xml.removed
                      mv external-ipv6.xml external-ipv6.xml.removed