FreeSwitch常用命令

不羁岁月 提交于 2020-01-21 15:56:59

1、查看当前已注册用户
sofia status profile internal
sofia status profile internal reg
sofia status profile internal reg 1005

2、在系统中用软电话拨打另一用户
originate user/1000 9999
originate user/1000 9999 XML default

3、查看网关注册状态
sofia status

4、通过freeswitch直接外呼电话
originate sofia/gateway/gw1/xxxxxx &echo

5、FreeSWITCH
启动到后台的参数:
freeswitch -nc

6、FreeSWITCH在启动时默认会启用uPnP6、FreeSWITCH在启动时默认会启用uPnP(或NAT-PMP)如果你的路由器不支持该协议,这一步可能耗时较长,因而会影响启动速度。所以,如果你只是在内网测试并且像作者一样一天启动很多次的话,建议关掉这个选项。关于NAT的内容我们会在后面讲到
freeswitch –nonat
上面两个参数也可以组合来用:freeswitch –nc -nonat

7、看进程是否存在。
1)如果进程已经启动,下列命令能列出所有与FreeSWITCH相关的进程:
ps aux | grep freeswitch
2)看相关端口是否被占用。假设你使用默认的5060端口,则使用下述命令可以列出所有与5060端口相关的网
络连接:
netstat -an | grep 5060
或者,在Linux平台上,能直接得到FreeSWITCH的进程号(需要root权限):
netstat -anp | grep 5060

8、控制台快捷键
为了调试方便,FreeSWITCH还在conf/autoload_configs/switch.conf.xml中定义了一些控制台快捷键。可以
通过F1~F12这几个按键来使用它们(不过,在某些操作系统上,有些快捷键可能与操作系统相冲突,这时你就只
能直接输入这些命令或重新定义它们了),也可以修改配置文件加入比较常用的命令(修改完毕后记着运行
reloadxml命令使之生效),默认的配置如下:

<cli-keybindings>

<key name="1" value="help"/>

<key name="2" value="status"/>

<key name="3" value="show channels"/>

<key name="4" value="show calls"/>

<key name="5" value="sofia status"/>

<key name="6" value="reloadxml"/>

<key name="7" value="console loglevel 0"/>

<key name="8" value="console loglevel 7"/>

<key name="9" value="sofia status profile internal"/>

<key name="10" value="sofia profile internal siptrace on"/>

<key name="11" value="sofia profile internal siptrace off"/>

<key name="12" value="version"/>
</cli-keybindings>

踢掉注册上来的用户
sofia profile internal flush_inbound_reg 1007@192.168.1.101
sofia profile internal reg 1007

查看系统加载编码器
show codec 命令可以看到系统加载的编码器

控制台上实时看到SIP消息
freeswitch> sofia profile internal siptrace on
freeswitch> sofia profile external siptrace on**

tcpdump [2]是经典的抓包工具。比如下面的命令可以仅抓取5060端口上的SIP包:
tcpdump -nq -s 0 -A -vvv -i eth0 port 5060

其中,-n、-q表示不进行域名翻译及减少输出内容;-s 0表示不限制包长,即争取抓最大的长度;-A表示以
ASCII方式输出,这样用眼看起来比较直观;-v表示显示的详细程度,“v”越多则越详细;-i表示使用指定的网
卡;port 5060表示过滤器,这里我们只关心5060端口上的SIP包。
另外,可以使用-w将结果写入文件中,如下列命令将结果写入/tmp/dump.pcap文件中:
tcpdump -nq -s 0 -i eth0 -w /tmp/dump.pcap port 5060

当还需要分析RTP流时,可以将port 5060简单改成udp,这样就可以抓取所有的UDP包:
tcpdump -nq -s 0 -i eth0 -w /tmp/dump.pcap udp

如果你是在服务器上抓包,并想只抓某个用户的包,可以根据用户的IP地址来进行过滤
tcpdump -i eth0 -s 0 -A host 192.168.7.5 and port 65272

我们也需要抓取所有的RTP包进行分析。在FreeSWITCH中,默认的端口号范围是16384~32768,因此
我们可以使用如下命令抓包:
tcpdump -i eth0 -w /tmp/sip-rtp.pcap “udp and (port 5060 or port 5080 or portrange 16384-
32768)”

mod_callcenter命令集
手工将座席签入:callcenter_config agent set status 1005@default ‘Available’
将该座席的状态置为Logged Out:callcenter_config agent set status 1005@default ‘Logged Out’
列出当前所有的坐席:callcenter_config agent list
如果座席本身没有在配置文件中配置,也可以使用命令添加:callcenter_config agent add 1007@default callback
当然还需要用下列命令给它设置相关的参数,如contactcallcenter_config agent set contact 1007@default user/1007
当前的队列:callcenter_config queue list
列出当前的梯队:callcenter_config tier list

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!