XSwitch运维手册
常用操作
XSwitch默认使用Makefile来管理容器,如果您不熟悉Makefile,可以到这里快速学习。
启动容器:
make up
停止:
make down
进入容器:
make bash # 进入XSwitch容器
make pg-bash # 进入PostgreSQL容器
查看日志
日志文件默认在宿主机的data/log
目录下。
查看日志要使用“只读”的查看工具,如tail
、less
等,不推荐使用vim
这样的工具。
查看XSwitch实时日志
可以用tail -f
实时跟踪日志(Ctrl+C
退出):
tail -f log/freeswitch.log
显示最后1000行日志:
tail -n 1000 log/freeswitch.log
使用less
分页查看日志:
less log/freeswitch.log
使用less
的Follow模式,类似tail -f
:
less +F log/freeswitch.log
通过控制台实时查看日志
可以直接连到控制台进行日志跟踪,注意如果在通话量比较大的时候,日志会比较多,注意过滤。
make bash # 进入容器
fs_cli -l 0 # 使用日志级别0,只能看到`CONSOLE`级别的日志,可以输入命令
fs_cli -l 1 # 使用日志级别1
fs_cli -l 2 # 使用日志级别2
直接执行一条命令后退出:
fs_cli -x "status"
搜索日志
XSwitch的日志文件分自动轮转,文件名会以日期和时间分开,格式如下:
freeswitch.log.YYYY-MM-DD-HH-mm-SS.1
freeswitch.log.2022-07-22-16-47-30.1
根据话单中的通话时间可以查到大致的时间,如果不确定,也可以通过通话UUID搜索,注意由于Log文件比较多,最好限定到文件名的年月日,小时等,如:
grep uuid freeswitch.log.2022-07-22-*
grep uuid freeswitch.log.2022-07-22-16*
查到文件后,可以使用less
之类的查看日志。
完整通话日志
可以根据A腿uuid找到B腿UUID
对于呼入的呼叫,有一条日志记录,包含SIP Call-ID以及通话的UUID,如:
uuid=0f9c932e-e675-449d-91dd-eb032dcfd58b 2023-03-08 08:58:40.056722 99.77% [INFO] sofia.c:10755 sofia/default/1002@192.168.219.129 receiving invite from 192.168.219.1:55243 version: 1.10.9.1 git 21eee7b 2023-02-22 10:05:08Z 64bit call-id=367bee812f7f494db5b0abbf929314a9
如果是Bridge呼叫,可以通过话单看到另一条腿的UUID,对于外呼的呼叫,通常SIP Call-ID和UUID是一致的,这样就可以关联到两条腿的SIP和XSwitch日志。