FreeSwitch官方网站http://files.freeswitch.org/,下载freeswitch-1.4.0.beta6.tar.gz。
当前系统使用的是CentOS。将freeswitch放到/program/freeswitch下。
开始安装
1)安装系统工具 yum install -y git autoconf automake libtool ncurses-devel libjpeg-devel yum install -y expat-devel openssl-devel libtiff-devel libX11-devel unixODBC-devel libssl-devel python-devel \ zlib-devel libzrtpcpp-devel alsa-lib-devel libogg-devel libvorbis-devel perl-libs gdbm-devel \ libdb-devel uuid-devel @development-tools
2)因为网络问题直接到官方下载freeswitch包解压。如需要添加不同模块先编辑modules.conf文件。
tar jxvf freeswitch-1.4.0.beta6.tar.gz cd freeswitch-1.4.0
./configure –prefix=/program/freeswitch && make all && make install && make all cd-sounds-install cd-moh-install
最后一行为高清语音包。需要链接到官方网站,如果网络效果不好,需要多试几次。如果只是测试,或不需要,不做最后一步也没有问题。如果需要,建议备份出来。
3)修改默认密码”1234″
文件freeswitch/conf/vars.xml
4) 修改监控IP
文件freeswitch/conf/sip_profiles/internal.xml
5) 修改监听端口
文件freeswitch/conf/vars.xml
6) 修改拨号规则
文件freeswitch/conf/dialplan/default.xml
修改为这样就有了100个号码。匹配按照正则规则。
7)启动服务并检查
后台启动
/program/freeswitch/bin/freeswitch -nc -nonat -rp
检查端口是否监听
lsof -i :5060
8)配置linksys spa3000
进入spa3000,web界面,选择admin login,然后选择line1.配置如图。配置两台,互相拨打没有问题。呼叫会议室没有问题。 linksys设置密码后登陆账号user。设备重置是通过电话拨叫****73738#,有提示后按1,设备发出杂音开始重置。
进阶部分
1)号码出局。
要拨叫的号码前加7.
文件freeswitch/conf/dialplan/default.xml,
添加
编辑文件 freeswitch/conf/sip_profiles/external/gw1.xml
运维命令
在freeswitch/bin下使用fs_cil客户端。启动后在“freeswitch@internal>”控制器下进行操作,基本命令如下。
reloadxml 修改完xml后加载使用
sofia profile external rescan reloadxml 配置网关生效
sofia status 显示当前sofia状态
status 显示当前状态
sofia status profile internal reg 显示当前注册上来的用户信息
/exit 退出
附录:
1)
号码说明
号码 | 说明
9664 | 保持音乐
9196 | echo,回音测试
9195 | echo,回音测试,延迟5秒
9197 | milliwatte extension,铃音生成
9198 | TGML 铃音生成示例
5000 | 示例IVR
4000 | 听取语音信箱
33xx | 电话会议,48K(其中xx可为00-99,下同)
32xx | 电话会议,32K
31xx | 电话会议,16K
30xx | 电话会议,8K
2000-2002 | 呼叫组
1000-1019 | 默认分机号
2)目录说明
bin 可执行程序
db 系统数据库(sqlite),FreeSWITCH 把呼叫信息存放到数据库里以便在查询时无需对核心数据结构加锁
htdocs HTTP Web srver 根目录
lib 库文件
mod 可加载模块
run 运行目录,存放 PID
sounds 声音文件,使用 playback() 时默认的寻找路径
grammar 语法
include 头文件
log 日志,
CDR 等 recordings 录音,使用 record() 时默认的存放路径
scripts 嵌入式语言写的脚本,如使用 lua()、luarun()、jsrun 等默认寻找的路径
storage 语言留言(Voicemail)的录音
conf 配置文件部分
3)启动命令参数说明freeswitch
-core — 出错时进行内核转储
-rp — enable high(realtime) priority settings
-vg — 在 valgrind 下运行,调试内存泄露时使用
-nosql — 不使用 SQL,show channels 类的命令将不能显示结果
-heavy-timer — 更精确的时钟。可能会更精确,但对系统要求更高
-nonat — 如果路由器支持 uPnP 或 NAT-PMP,则 FreeSWITCH
可以自动解决 NAT 穿越问题。如果路由器不支持,则该选项可以使启动更快
-nonatmap — 停止穿私网记录
-nocal — 关闭时钟核准。FreeSWTICH 理想的运行环境是 1000 Hz 的内核时钟 如果你的内核时钟小于 1000 Hz 或在虚拟机上,可以尝试关闭该选项
-nort — 关闭实时时钟
-stop — 停止freeswitch
-nc — 启动到后台模式,没有控制台
-c — 启动到控制台
4)端口说明,如有防火墙需要开放tcp、udp的5060端口。
5)FreeSwitch默认只支持音频,支持视频。 文件freeswitch/conf/vars.xml如下:
修改为
发表评论