运维常用
-
判断fs是否正在运行的两种方式:
ps aux | grep freeswitch // 列出与fs相关的所有进程
netstat -an | grep 5060 // 查看相关端口是否被占用,fs默认使用5060端口
-
fs开启/关闭:
freeswitch -nc // 后台启动fs
freeswitch -stop // 关闭fs
-
db连接测试
isql -v freeswitch // odbc配置文件位置 /etc/odbc.ini 和 /etc/odbcinst.ini
-
查看eventSocket连接情况
netstat -an|grep 8021 (fs的eventSocket端口默认是8021)
客户端(fs_cli)命令
- 更改dialplan后刷新并生效:
reloadxml
profile和网关相关
- 查看当前profile状态(包括端口、运行中的网关等):
sofia status
- 启动一个新增的profile:
sofia profile <new_profile_name> start
- 删除网关:
sofia profile external killgw rs
(这里删除的是名称是rs的网关) - 刷新网关(新增网关时使用):
sofia profile external rescan | restart reloadxml
(使用rescan时只会对新增的配置生效,如果改变了ip和端口,使用rescan是不会刷新的,可以使用restart,但使用restart时会影响当前正在进行的通话) - 强制重启网关(修改已有网关时使用):
先sofia profile external killgw rs
,再sofia profile external rescan
- 查看某个网关状态:
sofia status gateway gw1
注册用户相关
- 列出所有internal上的已注册用户
sofia status profile internal reg
- 模糊查询注册用户
sofia status profile internal reg 1000
- 精准查询注册用户
sofia status profile internal user 1000
- 查看注册用户的联系地址(每个用户其实就是对应一个端口号)
sofia_contact 1000@192.168.1.123
- 查看一个用户有多少已注册客户端
sofia_count_reg 1000@192.168.1.123
debug相关
- 控制台打开更详细的调试日志(数字越大越详细)
sofia loglevel all 9
- 控制台打开更详细的Sofia日志(默认是console级别)
sofia tracelevel debug
、sofia tracelevel notice
originate相关
- 向用户1000发起呼叫,接通后执行echo程序
originate user/1000 &echo
- 向用户1000及1001发起共振或顺振,接通后执行echo程序
originate user/1000,user/1001 &echo
共振
originate user/1000|user/1001 &echo
顺振 - 向用户1000发起呼叫,接通后进入public.xml中查找路由“1001”
originate user/1000 1001 XML public
- 向用户1000发起呼叫,指定主叫名称和主叫号码
originate user/1000 &echo XML default 'dustin qi' 181788
或
originate {origination_caller_id_name='dustin qi',origination_caller_id_number=181788}user/1000 &echo
- 先向用户1000发起呼叫,(用户1000接通后)再向用户1001发起呼叫,(用户1001接通后)再将二者接通:
originate {origination_caller_id_name='dustin qi'}user/1000 &bridge(user/1001)
或
originate {origination_caller_id_number=12345}user/1000 &bridge({origination_caller_id_number=181788}user/1001)
一般来说,网关都会放在/external目录下,意味着最终会被装入external这个profile中。一个自定义的网关配置文件gw.xml如下。其中realm是i指定的网关服务器地址,可以是ip或域名,如果后面不写端口则默认5060
-
更改acl访问控制文件后刷新并生效:
reloadacl
-
打开sip消息日志(调试排错时):
sofia profile internal siptrace on
sofia profile external siptrace on
sofia profile global siptrace on // 如果不知道走的是internal还是external,可以全打开
sofia profile global siptrace off // 关闭sip抓包