freeswitch 是一款好用的开源软交换平台。
随着voip客户的发展和运营商网络的升级换代,SBC在对接测试中的应用场景越来越多。
freeswitch通过简单的安装配置即可满足大部分SBC的功能需求。
我们需要有一个稳定版本的fs-sbc的安装过程和配置指南。
在这里记录一下新安装的fs作为sbc的基本配置。
centos:CentOS release 7.0 (Final)或以上版本
freeswitch:v1.10.7
GCC:4.8.5
freeswitch-1.10.7基础平台的编译安装见文档“freeswitch1.10.7 on CENTOS7编译安装“。
FS-SBC的初始配置方案。
conf/chatplan/default.xml
conf/dialplan/*
conf/directory/*
conf/ivr_menus/*
conf/jingle_profiles/*
conf/mrcp_profiles/*
conf/sip_profile, external-ipv6 external-ipv6.xml internal-ipv6.xml internal.xml
conf/skinny_profiles/*
sip_invite_to_params=user=phone,sip_invite_from_params=transport=udp;user=phone,sip_invite_from_uri=${effective_caller_id_number}@1.2.3.4:5066,
sip_invite_params=user=phone,sip_invite_call_id=${sip_call_id}
}sofia/external5066/sip:${destination_number}@1.2.3.4:5060"/>
}sofia/external3060/sip:${destination_number}@1.2.3.4:5080"/>
bin目录下需要一些简单的维护脚本。
clear_log.sh
clear_wav.sh
monitorfs.sh
防火墙配置结果如下。
ports: 22/tcp 20000-60000/udp
rule family="ipv4" source address="1.2.3.4/32" port port="3060" protocol="udp" accept
rule family="ipv4" source address="1.2.3.4/32" port port="5066" protocol="udp" accept
vi /etc/security/limits.conf
* soft core unlimited
* hard core unlimited
* soft data unlimited
* hard data unlimited
* soft fsize unlimited
* hard fsize unlimited
* soft sigpending unlimited
* hard sigpending unlimited
* soft nofile 65536
* hard nofile 65536
* soft msgqueue unlimited
* hard msgqueue unlimited
* soft nproc 65536
* hard nproc 65536
* soft locks unlimited
* hard locks unlimited
* soft memlock unlimited
* hard memlock unlimited
修改账户启动执行脚本。
vi ./bash_profile
ulimit -c unlimited
ulimit -d unlimited
ulimit -f unlimited
ulimit -i unlimited
ulimit -n 65536
ulimit -q unlimited
ulimit -u 65536
ulimit -x unlimited
ulimit -l unlimited
查看linux系统端口范围
sysctl -a | grep ipv4.ip_local_port_range
修改sysctl.conf
vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 20000 60999
使sysctl配置立即生效:
sysctl -p
vi /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
sudo crontab -e
00 4 * * * sh /usr/local/freeswitch/bin/clear_log.sh 15
30 4 * * * /usr/sbin/ntpdate cn.pool.ntp.org; /sbin/hwclock -w
0 5 * * * /usr/local/freeswitch/bin/fs_cli -x "fsctl sync_clock_when_idle"
freeswitch的基础功能基本可以满足SBC的功能需求,通过简单配置即可使用。
sbc作为公私网的信令和媒体通道,安全性一定是最重要的考虑项。
空空如常
求真得真