命令行参数

freeswitch -h 或 freeswitch -help 或 freeswitch --help ,查看帮助文档。

运行FreeSwitch_客户端

运行FreeSwitch_客户端_02

常用的参数

运行FreeSwitch_App_03


如果你的路由器不支持uPnP(或NAT-PMP)协议,建议关闭这个选项。

运行FreeSwitch_App_04

系统启动脚本

在UNIX类系统上,启动脚本一般放在 /etc/init.d/

判断freeswitch 是否运行

1、查看进程

ps aux |grep freeswitch

2、查看端口

netstat -anplut |grep 5060

3、查看日志

4、使用客户端软件直接连接freeswitch

控制台与命令客户端

运行FreeSwitch_App_05

编辑 conf/autoload_configs/switch.conf.xml ,定义控制台快捷键。

运行FreeSwitch_App_06

freeswitch 是一个典型的C/S结构,使用客户端fs_cli 连接 freeswitch。mod_enevt_socket模块是默认加载的。

运行FreeSwitch_API_07

在用户主目录下编辑配置文件 .fs_cli_conf ,可以定义要连接的多个机器。

运行FreeSwitch_API_08

注意:确保目标机器的freeswitch 的Event Socket是监听在真实网卡的ip地址上,而不是127.0.0.1。编辑 conf/autoload_configs/event_socket.conf.xml 中的ip地址改为服务器ip或“0.0.0.0”来实现。保存后,在控制台执行“reload mod_event_socket”。

使用

运行FreeSwitch_App_09

运行FreeSwitch_API_10

运行FreeSwitch_App_11

呼叫

发起呼叫

假设用户1000 已经注册

运行FreeSwitch_客户端_12

呼叫字符串

假设freeswitch ua的地址为:192.168.4.4:5060,alice ua 的地址为:192.168.4.4:5090,bob ua的地址为:192.168.4.4:26000。如果 Alice 已经注册。

运行FreeSwitch_客户端_13

API 与 APP

echo 是一个常用的应用程序(Application,App):控制一个Channel的一端。

另一个常用的App是park。在Alice接电话后对端必须有一个人在和她讲话,如果freeswitch找不到一个合适的人和Alice通话,那边它可以将该电话挂起。

运行FreeSwitch_客户端_14

另一个程序 hold。它能在等待的同时播放保持音乐(Music on Hold,MOH)

运行FreeSwitch_App_15

运行FreeSwitch_API_16

运行FreeSwitch_API_17

freeswitch 是一个B2BUA来桥接两个UA进行通话的,在Alice接听电话后,bridge程序再启动一个ua呼叫bob。

运行FreeSwitch_App_18

运行FreeSwitch_API_19

App和API的区别

一个App是一个程序,作为一个Channel一端与另一端的UA进行通信,相当于工作在Channel内部;而一个API则是独立于一个Channel之外的,它只能通过找到Channel的UUID来控制一个Channel,相当于一个第三者。

大部分公用的API在mod_commands模块中加载的;而App在mod_dptools中。App又称为拨号计划工具(Dialplan Tools)

API帮助命令

运行FreeSwitch_客户端_20

运行FreeSwitch_App_21