随着 3CX V20 Update 6 alpha 的发布,3CX 也更新了他们的 CDR 数据库格式。
但是 3CX 的数据库只允许本机(localhost)访问,可以使用数据库软件的 SSH Tunnel 功能。
⚠️注意:本文档仅适用于 Linux 服务器。
这个时候我们先 SSH 登录 3CX 执行命令查看数据库的密码:
cat /var/lib/3cxpbx/Bin/3CXPhoneSystem.ini
记住最后 [DbAdminREADONLY] 参数下的用户名和密码。用户名为 phonesystem。

登录数据库
这里我们使用 pgadmin4 作为演示,可以替换成其他数据库软件。下载安装后打开,点击 Add New Server。
在 Name 字段为新的连接输入名字,我这里使用 3CX。

跳转到 Connection 标签,输入下列参数:
- Host name/address:输入 127.0.0.1 或 localhost。
- Port:5432。如果因为端口冲突修改了本地转发端口,填写修改后的端口。
- Maintenance database:输入 database_single。
- Username:phonesystem。
- Password:输入前面查看的 DbAdminREADONLY 密码。

转到 SSH Tunnel 字段
- 开启 Use SSH tunnel 功能
- Tunnel host:3CX 的服务器地址
- Tunnel Port:SSH 端口
- Username:用户名称
- Authentication:选密码,则在连接的时候要求输入密码。选 Identify file 则选择本地的私钥文件。

点击 Save 后服务器会自动连接上。
我们依次展开 Database -> Database_single -> Schemas -> public -> Tables。可以看到 3CX 在这里存储的数据表。

比如我们这里找到 3CX 在 V20 Update 6 更新的 cdroutput。右键点击 View/Edit Data -> All Rows。

可以看到 3CX CDR 的数据了。想要查看其他数据也是同理。
