1 前台启动freeswitch
cd /usr/local/freeswitch/bin/目录,然后运行 ./freeswitch
./freeswitch
关闭:freeswitch -stop
2 后台运行freeswitch
./freeswitch -nc
3. 后台运行转前台
./fs_cli
4. 退回后台运行
...
5. 查看sofia状态
sofia status
6. 查看注册信息
sofia status profile internal reg
7. 列出声音设备
pa devlist
8.指定输入、输出端口
pa indev #0
pa outdev #2
9.回路测试
pa looptest
10.呼叫 1014
pa call 1014
11. 挂机
pa hangup
12 重新加载模块
reloadxml
13. 重启freeswitch
sofia profile external rescan
14. 发起呼叫(假使1000已注册)
originate user/1000 &ech0
version --显示当前版本
status --现实当前状态
fs_cli中的命令
1 .退出fs_cli
/quit
/bye
/exit
2.几个常用特殊命令
/event --开启事件接收
/noevents --关闭事件接收
/nixevent --开启所有时间(除了特定的一种)
/log --设置log级别
/nolog --关闭log
/filter --过滤时间
3.订阅事件
/event plain ALL
1.首先修改/usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml
<configuration name="event_socket.conf" description="Socket Client">
<settings>
<param name="nat-map" value="false"/>
<!--0.0.0.0表示运行其它主机进行访问,127.0.0.1表示只允许本机进行访问-->
<param name="listen-ip" value="0.0.0.0"/>
<param name="listen-port" value="8021"/>
<param name="password" value="123456"/>
<!--<param name="apply-inbound-acl" value="loopback.auto"/>-->
<!--my_acl 就表示防火墙规则, -->
<param name="apply-inbound-acl" value="my_acl"/>
<!--<param name="stop-on-bind-error" value="true"/>-->
</settings>
</configuration>
2.然后修改/usr/local/freeswitch/conf/autoload_configs/acl.conf.xml
添加如下部分:
<list name="my_acl" default="deny">
<node type="allow" cidr="192.168.17.3/16"/>
<node type="allow" domain="$${domain}"/>
<!-- this allow fs_cli to connect else fs_cli wont work -->
<node type="allow" cidr="127.0.0.1/32" />
</list>
表示该my_acl规则禁止所有,除了允许的192.168.xx.xx和127.0.0.1两个IP地址
3.在192.168.17.3服务器上新建文件:/root/.fs_cli_conf
添加如下内容:
[fs200]
host => 192.168.4.200
port => 8021
password => 123456
debug => 7
其中fs200表示链接名称
将192.168.4.200上的freeswitch重启之后,在192.168.17.3上输入:
fs_cli fs200
就可以远程访问192.168.4.200上的freeswitch
---------------------
3:网关配置:
D:\VS\freeswitch-1.6.19\Win32\Debug\conf\sip_profiles\external目录下新建fs_sg.xml文件,内容配置如下:
<include>
<gateway name="fs_sg"><!-- 网关的名字 -->
<param name="username" value="sip账号"/>
<param name="password" value="sip密码"/>
<param name="realm" value="sip地址"/>
<param name="from-domain" value="sip地址"/>
</gateway>
</include>
4:拨号说明
软电话拨号:打FreeSWITCH内部用户可以直接打;打手机号需要配置拨号规则从网关打出去,拨号规则配置如下:
D:\VS\freeswitch-1.6.19\Win32\Debug\conf\dialplan\default下新建fs_di.xml文件(文件名随便),文件内容:
<include>
<extension name="extension-call">
<condition field="destination_number" expression="^0(\d+)$"">
<action application="bridge" data="sofia/gateway/fs_sg/$1"/>
</condition>
</extension>
</include>
软电话打手机号时需要加0来匹配上面这个拨号规则,然后从网关打出去
Java调用拨号:打FreeSWITCH内部用户可以直接打;打手机号也是从网关打出去,不需要匹配拨号规则
A。查看5060映射到哪个IP:netstat -an | grep 5060
在阿里上默认映射到内网IP,要想映射到外网,
修改配置sip_profiles/internal.xml
修改ext-rtp-ip和ext-sip-ip为freeswitch公网地址
<param name="ext-rtp-ip" value="115.aa.aa.aa"/>
<param name="ext-sip-ip" value="115.aa.aa.aa"/>
测试呼出电话:originate user/1000 &echo
查看用户列表:
list_users group default
配置成服务:
systemctl enable freeswitch.service