Centos 6.x部署FreeSWITCH

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lyb2518/article/details/71108326

Centos 6.x部署FreeSWITCH

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) 的透明代理。

安装依赖库

  • 添加RPM仓库
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  • 需要安装的组件
yum install git gcc-c++ autoconf automake libtool wget python ncurses-devel zlib-devel libjpeg-devel openssl-devel e2fsprogs-devel sqlite-devel libcurl-devel pcre-devel speex-devel ldns-devel libedit-devel

下载FreeSWITCH源代码,配置模块,编译,安装

cd /usr/src
git clone -b v1.4 https://freeswitch.org/stash/scm/fs/freeswitch.git
cd /usr/src/freeswitch
./bootstrap.sh –j
./configure –C
make && make install

安装声音

make sounds-install
make moh-install

设置拥有者和权限

cd /usr/local
useradd --system --home-dir /usr/local/freeswitch -G daemon freeswitch
passwd -l freeswitch

chown -R freeswitch:daemon /usr/local/freeswitch/ 
chmod -R 770 /usr/local/freeswitch/
chmod -R 750 /usr/local/freeswitch/bin/*

mkdir /var/run/freeswitch
chown -R freeswitch:daemon  /var/run/freeswitch

ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/ # needed by /etc/init.d/freeswitch

启动FreeSWITCH

cd /usr/local/freeswitch/bin
./freeswitch

开机自动启动设置

cp /usr/src/freeswitch/build/freeswitch.init.redhat /etc/init.d/freeswitch
chmod 750 /etc/init.d/freeswitch
chown freeswitch:daemon /etc/init.d/freeswitch

chkconfig --add freeswitch && chkconfig --levels 35 freeswitch on

问题

  • 通过映射端口需要注意的问题
nano /usr/local/freeswitch/conf/sip_profiles/internal.xml
找到下面两处
<param name="ext-rtp-ip" value="auto-nat"/>
<param name="ext-sip-ip" value="auto-nat"/>

改成类似于下面两行,xxx.xxx.xxx.xxx表示IP地址
<param name="ext-rtp-ip" value="autonat:xxx.xxx.xxx.xxx"/>
<param name="ext-sip-ip" value="autonat:xxx.xxx.xxx.xxx"/>
修改好了,保存文件,记得重启FreeSWITCH。
重启命令:service freeswitch restart
  • 批量创建用户
安装好后,FreeSWITCH 默认有20个用户(1000-1019),密码:1234
这里演示创建30个用户(1020-1049cd /usr/src/freeswitch/scripts/perl/
./add_user --users=1020-1049 -- confpath=/usr/local/freeswitch/conf
chown -R freeswitch:daemon /usr/local/freeswitch/conf/directory/default
chmod -R 770 /usr/local/freeswitch/conf/directory/default

需要修改一下/conf/dialplan/default.xml文件
nano /usr/local/freeswitch/conf/dialplan/default.xml

<extension name="Local_Extension">
<condition field="destination_number" expression="^(10[01][0-9])$">
……
</condition>
</extension>
    修改成
<extension name="Local_Extension">
<condition field="destination_number" expression="^(10[0-4][0-9])$">
……
</condition>
</extension>
最后记得执行一下reloadxml命令,执行该命令需要登录到FreeSWITCH控制台.

参考

1.https://freeswitch.org/confluence/display/FREESWITCH/CentOS+6
2.https://wiki.freeswitch.org/wiki/Auto_NAT

猜你喜欢

转载自blog.csdn.net/lyb2518/article/details/71108326