Freeswitch 控制台与命令客户端

简介: Freeswitch 控制台与命令客户端

系统不带参数会启动到控制台,在控制台上你可以输入各种命令以控制或查询 FreeSWITCH 的状态。试试输入以下命令:


version           -- 显示当前版本
status            -- 显示当前状态
sofia status      -- 显示 sofia 状态
help              -- 显示帮助
复制代码


为了调试方便,FreeSWITCH 还在 conf/autoload_configs/switch.conf.xml 中定义了一些控制台快捷键。你可以通过F1-F12来使用它们(不过,在某些操作系统上,有些快捷键可能与操作系统的相冲突,那你就只直接输入这些命令或重新定义他们了)。


<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>
复制代码


FreeSWITCH 是 Client-Server结构,不管 FreeSWITCH 运行在前台还是后台,你都可以使用客户端软件 fs_cli 连接 FreeSWITCH.


fs_cli 是一个类似 Telnet 的客户端(也类似于 Asterisk 中的 asterisk -r命令),它使用 FreeSWITCH 的 ESL(Event Socket Library)库与 FreeSWITCH 通信。当然,需要加载模块 mod_event_socket。该模块是默认加载的。


正常情况下,直接输入 bin/fs_cli 即可连接上,并出现系统提示符。如果出现:


[ERROR] libs/esl/fs_cli.c:652 main() Error Connecting [Socket Connection Error]
复制代码


这样的错误,说明 FreeSWITCH 没有启动或 mod_event_socket 没有正确加载,请检查TCP端口8021端口是否处于监听状态或被其它进程占用。


fs_cli 也支持很多命令行参数,值得一提的是 -x 参数,它允许执行一条命令后退出,这在编写脚本程序时非常有用(如果它能支持管道会更有用,但是它不支持):


bin/fs/_cli -x "version"
bin/fs/_cli -x "status"
复制代码


其它的参数都可以通过配置文件来实现,在这里就不多说了


使用fs_cli,不仅可以连接到本机的 FreeSWITCH,也可以连接到其它机器的 FreeSWITCH 上(或本机另外的 FreeSWITCH 实例上),通过在用户主目录下编辑配置文件 .fs_cli_conf(注意前面的点“.”),可以定义要连接的多个机器:


[server1]
host     => 192.168.1.10
port     => 8021
password => secret_password
debug    => 7
[server2]
host     => 192.168.1.11
port     => 8021
password => someother_password
debug    => 0
复制代码


注意:如果要连接到其它机器,要确保 FreeSWITCH 的 Event Socket 是监听在真实网卡的 IP 地址上,而不是127.0.0.1。另外,在UNIX中,以点开头的文件是隐藏文件,普通的ls 命令是不能列出它的,可以使用 ls -a


一旦配置好,就可以这样使用它:


bin/fs_cli server1
bin/fs_cli server2
复制代码


在 fs_cli 中,有几个特殊的命令,它们是以 “/” 开头的,这些命令并不直接发送到 FreeSWITCH,而是先由 fs_cli 处理。/quit、/bye、/exit、Ctrl + D 都可以退出 fs_cli;/help是帮助。


其它一些 “/”开头的指令与 Event Socket 中相关的命令相同,如:


/event       -- 开启事件接收
/noevents    -- 关闭事件接收
/nixevent    -- 除了特定一种外,开启所有事件
/log         -- 设置 log 级别,如 /log info 或 /log debug 等 
/nolog       -- 关闭 log
/filter      -- 过滤事件
复制代码


另外,一些“重要”命令不能直接在 fs_cli 中执行,如 shutdown 命令,在控制台上可以直接执行,但在 fs_cli中,需要执行 fsctl shutdown。


除此之外,其它命令都与直接在 FreeSWITCH 控制台上执行是一样的。它也支持快捷键,最常用的快捷键是 F6(reloadxml)、F7(关闭 log输出)、F8(开启 debug 级别的 log 输出)。


在 *nix上,两者都通过 libeditline 支持命令行编辑功能。可以通过上、下箭头查看命令历史。

相关文章
|
7月前
|
Linux Shell PHP
linux(十五)文件和目录相关命令-控制台输出命令echo和重定向
linux(十五)文件和目录相关命令-控制台输出命令echo和重定向
130 0
|
4月前
|
Windows
基本的Dos命令 在控制台如何进入某一个文件或者进入不同的盘符
这篇文章介绍了如何在Windows DOS命令行环境中进入不同盘符和文件夹,包括使用Win+R快捷键打开运行窗口、通过输入盘符加冒号(如"D:")切换到指定盘符、使用"cd"命令进入文件夹,以及一些基本的文件操作命令如"dir"查看文件和"del"删除文件等。
基本的Dos命令 在控制台如何进入某一个文件或者进入不同的盘符
|
7月前
|
网络安全 数据库 Windows
Metasploit6.0系列教程 -- MSF控制台命令
Metasploit6.0系列教程 -- MSF控制台命令
66 1
|
7月前
|
编解码 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
111 0
|
Linux 开发工具 数据安全/隐私保护
Linux基础操作2(常用基础命令,控制台操作)
Linux基础操作2(常用基础命令,控制台操作)
94 0
Linux基础操作2(常用基础命令,控制台操作)
|
网络安全 数据库 Windows
Metasploit6.0系列教程 -- MSF控制台命令
Metasploit6.0系列教程 -- MSF控制台命令
164 0
Metasploit6.0系列教程 -- MSF控制台命令
|
Java API Nacos
sentinel 控制台控制客户端配置 | 学习笔记
快速学习 sentinel 控制台控制客户端配置
211 0
sentinel 控制台控制客户端配置 | 学习笔记
|
开发工具 git
git基础命令,主要是控制台使用git
git基础命令,主要是控制台使用git
|
网络协议 Java
Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台
Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台
191 0
Java网络编程Demo,使用TCP 实现简单群聊功能GroupchatSimple,多个客户端输入消息,显示在服务端的控制台
C++控制台实现客户端与服务端即时通信(C/S)
C++控制台实现客户端与服务端即时通信(C/S)
348 0
下一篇
DataWorks