FreeSWITCH 的常用命令及其用途的详细说明,以表格形式整理:
FreeSWITCH 常用命令表
类别 | 命令 | 用途 | 示例 |
---|---|---|---|
系统控制 | shutdown | 停止 FreeSWITCH 服务(在控制台中执行会退出并关闭服务)。 | shutdown |
reloadxml | 重新加载 XML 配置文件(如拨号计划、用户配置等)。 | reloadxml | |
status | 查看 FreeSWITCH 的当前运行状态(版本、运行时间、内存使用等)。 | status | |
version | 显示 FreeSWITCH 的版本信息。 | version | |
通话控制 | originate | 发起一个外呼通话。 | originate user/1000 &echo |
uuid_bridge | 将两个通话 UUID 桥接(合并通话)。 | uuid_bridge <uuid1> <uuid2> | |
uuid_kill | 终止指定 UUID 的通话。 | uuid_kill <uuid> | |
show calls | 显示当前所有活跃通话的 UUID 和状态。 | show calls | |
注册与用户 | sofia status | 显示 SIP 协议栈(如 Sofia-SIP)的状态和注册信息。 | sofia status |
sofia status profile <profile> | 查看指定 SIP 配置文件(如 internal )的详细信息。 | sofia status profile internal | |
user_exists <user> | 检查指定用户是否存在。 | user_exists 1000 | |
日志与调试 | console loglevel <level> | 设置控制台日志级别(如 debug 、info 、warning 、error )。 | console loglevel debug |
logfile <on/off> | 启用或禁用日志文件输出。 | logfile on | |
fsctl last_sps | 显示最后一秒处理的通话数(性能监控)。 | fsctl last_sps | |
模块管理 | reload mod_<name> | 重新加载指定模块(如 mod_sofia )。 | reload mod_sofia |
load mod_<name> | 动态加载一个模块。 | load mod_commands | |
unload mod_<name> | 卸载一个已加载的模块。 | unload mod_signalwire | |
会议与媒体 | conference list | 列出所有活跃的会议室。 | conference list |
conference <room> play <file> | 在指定会议室播放音频文件。 | conference 3000 play /path/to/file.wav | |
uuid_hold <uuid> | 保持指定通话。 | uuid_hold <uuid> | |
网络与API | event json ALL | 订阅并显示所有事件的 JSON 格式输出(用于调试)。 | event json ALL |
api <command> | 执行 API 命令(如通过 HTTP API 调用)。 | api status | |
bgapi <command> | 在后台异步执行 API 命令(避免阻塞控制台)。 | bgapi originate user/1000 &echo | |
退出控制台 | /exit 或 Ctrl+D | 退出 FreeSWITCH 控制台(不停止服务)。 | /exit |
注意事项
- 权限问题:部分命令(如
shutdown
)可能需要 FreeSWITCH 运行在非后台模式或具有权限。 - 服务管理:如果 FreeSWITCH 通过
systemd
运行,建议使用systemctl
命令管理服务:sudo systemctl start/stop/restart freeswitch
- 快捷键:在控制台中,
Tab
键可自动补全命令,Ctrl+C
可中断当前操作。