fs_cli 是一个类似 Telnet 的客户端,使用 FreeSWITCH 的 ESL(Event Socket Library)库与 FreeSWITCH 通信。

  1. fs_cli
  2. .=======================================================.
  3. | _____ ____ ____ _ ___ |
  4. | | ___/ ___| / ___| | |_ _| |
  5. | | |_ \___ \ | | | | | | |
  6. | | _| ___) | | |___| |___ | | |
  7. | |_| |____/ \____|_____|___| |
  8. | |
  9. .=======================================================.
  10. | Anthony Minessale II, Ken Rice, |
  11. | Michael Jerris, Travis Cross |
  12. | FreeSWITCH (http://www.freeswitch.org) |
  13. | Paypal Donations Appreciated: paypal@freeswitch.org |
  14. | Brought to you by ClueCon http://www.cluecon.com/ |
  15. .=======================================================.
  16. .=======================================================================================================.
  17. | _ _ ____ _ ____ |
  18. | / \ _ __ _ __ _ _ __ _| | / ___| |_ _ ___ / ___|___ _ __ |
  19. | / _ \ | '_ \| '_ \| | | |/ _` | | | | | | | | |/ _ \ | / _ \| '_ \ |
  20. | / ___ \| | | | | | | |_| | (_| | | | |___| | |_| | __/ |__| (_) | | | | |
  21. | /_/ \_\_| |_|_| |_|\__,_|\__,_|_| \____|_|\__,_|\___|\____\___/|_| |_| |
  22. | |
  23. | ____ _____ ____ ____ __ |
  24. | | _ \_ _/ ___| / ___|___ _ __ / _| ___ _ __ ___ _ __ ___ ___ |
  25. | | |_) || || | | | / _ \| '_ \| |_ / _ \ '__/ _ \ '_ \ / __/ _ \ |
  26. | | _ < | || |___ | |__| (_) | | | | _| __/ | | __/ | | | (_| __/ |
  27. | |_| \_\|_| \____| \____\___/|_| |_|_| \___|_| \___|_| |_|\___\___| |
  28. | |
  29. | ____ _ ____ |
  30. | / ___| |_ _ ___ / ___|___ _ __ ___ ___ _ __ ___ |
  31. | | | | | | | |/ _ \ | / _ \| '_ \ / __/ _ \| '_ ` _ \ |
  32. | | |___| | |_| | __/ |__| (_) | | | | _ | (_| (_) | | | | | | |
  33. | \____|_|\__,_|\___|\____\___/|_| |_| (_) \___\___/|_| |_| |_| |
  34. | |
  35. .=======================================================================================================.
  36. Type /help <enter> to see a list of commands
  37. +OK log level [7]

直接输入bin/fs_cli即可连接到FreeSWITCH上,并出现系统提示符。如果出现类似:
图片.png

  1. [ERROR] libs/esl/fs_cli.c:652 main() Error Connecting [Socket Connection Error]

需要加载模块 mod_event_socket。该模块是默认加载的,上面的错误是FreeSWITCH 没有启动或 mod_event_socket 没有正确加载,请检查TCP端口8021是否处于监听状态或被其它进程占用。

查看版本

  1. freeswitch@VM-0-2-debian> version
  2. FreeSWITCH Version 1.10.5-release-17-25569c1631~64bit (-release-17-25569c1631 64bit)

查看状态

  1. freeswitch@VM-0-2-debian> status
  2. UP 0 years, 19 days, 0 hours, 0 minutes, 18 seconds, 824 milliseconds, 476 microseconds
  3. FreeSWITCH (Version 1.10.5 -release-17-25569c1631 64bit) is ready
  4. 27056 session(s) since startup
  5. 0 session(s) - peak 36, last 5min 0
  6. 0 session(s) per Sec out of max 30, peak 45, last 5min 0
  7. 1000 session(s) max
  8. min idle cpu 0.00/98.73
  9. Current Stack Size/Max 240K/8192K

斜杠(/)命令

图片.png

命令行参数

-x 参数,它允许执行一条命令后退出

  1. # fs_cli -x "version"
  2. FreeSWITCH Version 1.10.5-release-17-25569c1631~64bit (-release-17-25569c1631 64bit)

查看状态

  1. # fs_cli -x "status"
  2. UP 0 years, 0 days, 10 hours, 54 minutes, 42 seconds, 267 milliseconds, 410 microseconds
  3. FreeSWITCH (Version 1.10.5 -release-17-25569c1631 64bit) is ready
  4. 48516 session(s) since startup
  5. 6 session(s) - peak 58, last 5min 21
  6. 1 session(s) per Sec out of max 30, peak 49, last 5min 6
  7. 1000 session(s) max
  8. min idle cpu 0.00/86.40
  9. Current Stack Size/Max 240K/8192K

通过在用户主目录下编辑配置文件.fs_cli_conf(注意前面的点“.”),可以定义要连接的多个机器:

  1. [server1]
  2. host => 192.168.1.10
  3. port => 8021
  4. password => secret_password
  5. debug => 7
  6. [server2]
  7. host => 192.168.1.11
  8. port => 8021
  9. password => someother_password
  10. debug => 0

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

  1. bin/fs_cli server1
  2. bin/fs_cli server2

退出命令

/quit、/bye、/exit、Ctrl + D 都可以退出 fs_cli

Event Socket命令

Event Socket 中相关的命令相同,如:

  1. /event -- 开启事件接收
  2. /noevents -- 关闭事件接收
  3. /nixevent -- 除了特定一种外,开启所有事件
  4. /log -- 设置 log 级别,如 /log info /log debug
  5. /nolog -- 关闭 log
  6. /filter -- 过滤事件

关闭fs

在 fs_cli中执行

  1. fsctl shutdown