使用 setupconfig.xml 文件部署并配置 3CX

介绍

有客户问我们:有没有可能用一个文件自动启动并配置一个 3CX?这个问题的答案 3CX 命令行工具可以回答你,都在一个 XML 文件中。你可以将这个配置文件放在主机或者云端,3CX 将自动运行。你可以从无到有马上配置好一个 3CX!

通过 XML 配置好分机,SIP 中继以及 DID 都是可以的。

概述

大致的流程:

你可以在 3CX 安装之前准备好 xml 文件并将其放到电脑中

  1. 下载 XML 模板文件
  2. 手动创建一份配置文件并填入需要的信息
  3. 将 setupconfig.xml 文件放到主机上
    • Linux 机器的目录:/etc/3cxpbx/setupconfig.xml
    • Windows 机器的目录:C:\ProgramData\3CX\Data\setupconfig.xml
  4. 当 3CX 安装好以后, 初始化命令行会检查对应目录下是否存在 setupconfig.xml 文件,如果存在将会自动运行。

注意:除了复制文件外,如果部署在云端,可以在 Advanced/User 数据块

下面是我们的在 AWS 中的配置:

云端部署样例

点击这里下载

Setupconfig.xml 解析

Setupconfig 有 5 块内容:

<a class="md-header-anchor" style="cursor: pointer;color: #34495e;font-weight: 600;padding: 0px 2px;text-decoration: none" name="\”><tcxinit>

这是 PBX 配置工具的初始阶段(PBX Configuration tool)。在这里我们会填写 PBX 的 License,备份文件路径,网络设置,公网 IP,FQDN,3CX FQDN 或自定义 FQDN,主机名,本地 DNS,HTTP/S 端口等内容。

<a class="md-header-anchor" style="cursor: pointer;color: #34495e;font-weight: 600;padding: 0px 2px;text-decoration: none" name="\”><mcwizard>

这是配置的第二部分,包含分机长度,邮件服务器,时区,国家地区以及 License 信息。

<a class="md-header-anchor" style="cursor: pointer;color: #34495e;font-weight: 600;padding: 0px 2px;text-decoration: none" name="\”><extensions>

这部分是创建分机配置分机的信息。

<a class="md-header-anchor" style="cursor: pointer;color: #34495e;font-weight: 600;padding: 0px 2px;text-decoration: none" name="\”><siptrunk>

这部分是关于 SIP 中继以及 DID 的创建,有一个字节点 <inboundrules> 用来匹配 SIP 中继的 DID 。

<a class="md-header-anchor" style="cursor: pointer;color: #34495e;font-weight: 600;padding: 0px 2px;text-decoration: none" name="\”><OutboundRules>

这个区域用于创建呼出规则。

初始化配置

这部分是关于管理控制台的配置:

关于<CountryName>,<TimezonId> 以及 <LicenseConuntry> 的参数可以查看我们的文档:Time-Zone-Sheet1-1.pdf

如果你是在墨西哥,可以参考下面的信息:

开启托管管理员角色

3CX 的托管管理员角色使用单独的用户名和密码,登陆后只能看到 License 信息,网络配置以及一些额外的参数。该角色无法查看到管理员的其他设置。

添加分机,SIP 中继,DID以及呼出规则

我们在这部分添加分机,SIP 中继,呼入规则以及呼出规则。

你可以将一部话机指派给一个分机。对应的 XML 节点需要填写一些文件名,请参考:Available Supported Phone Templates and Model codes

比如:如果你有一台 snom 720,可以看到对应的文件是 “snom.ph.xml”

创建分机

创建 SIP 中继,DID 以及呼入规则

创建呼出规则

导入 SSL 证书

这只是一个简单的例子演示如何在 setupconfig 文件中导入 SSL 证书。此例子仅包含与 SSL 相关的部分。此外,不同类型的证书也需要使用不同的 XML 节点。该例子中使用了所有的 CerificatePath 节点,但是 CertificatePassword 中只使用了 pfx。