内部预设置和设置服务器
服务提供商会通过配置文件预设置电话,而非远程自定义设备。预设置配置文件中可能包含一组重新同步电话的有限参数。配置文件也可包含远程服务器交付的一整组参数。默认情况下,电话会在接通电源时以及按照配置文件中配置的间隔重新同步。当用户在客户场所连接电话时,设备会下载更新的配置文件以及任何固件更新。
可以通过多种方法完成这一预设置、部署和远程设置的流程。
此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科可能会在某些地方提供本内容的当地语言翻译版本。请注意,翻译版本仅供参考,如有任何不一致之处,以本内容的英文版本为准。
服务提供商会通过配置文件预设置电话,而非远程自定义设备。预设置配置文件中可能包含一组重新同步电话的有限参数。配置文件也可包含远程服务器交付的一整组参数。默认情况下,电话会在接通电源时以及按照配置文件中配置的间隔重新同步。当用户在客户场所连接电话时,设备会下载更新的配置文件以及任何固件更新。
可以通过多种方法完成这一预设置、部署和远程设置的流程。
本章中的示例要求一个或多个服务器可用。这些服务器可以安装在本地 PC 上,并在其上运行:
TFTP(UDP 端口 69)
系统日志(UDP 端口 514)
HTTP(TCP 端口 80)
HTTPS(TCP 端口 443)。
要对服务器配置进行故障排除,最好在单独的服务器机器上安装每类服务器的客户端。这种做法可以建立适当的服务器操作,而不受与电话交互的影响。
我们还建议您安装以下软件工具:
要生成配置文件,安装开放源码 gzip 压缩实用程序。
对于配置文件加密和 HTTPS 操作,安装开放源码 OpenSSL 软件包。
要使用 HTTPS 测试动态配置文件生成和单步远程设置,我们推荐使用支持 CGI 脚本的脚本语言。开放源码 Perl 语言工具就是这种脚本语言的一个例子。
要验证设置服务器与电话之间的安全交换,请安装以太网数据包探查器(如可免费下载的 Ethereal/Wireshark)。捕获电话与设置服务器之间的以太网数据包交互跟踪记录。为此,请在连接至启用了端口镜像的交换机的 PC 上运行数据包嗅探器。对于 HTTPS 事务,您可以使用 ssldump 实用程序。
在初次设置之前,所有电话都会联系 Cisco EDOS RC 服务器。
在 RC 分配模式下,客户购买已与 Cisco EDOS RC 服务器中的特定服务提供商关联的电话。Internet 电话服务提供商 (ITSP) 设置和维护设置服务器,并向 Cisco EDOS RC 服务器注册设置服务器信息。
当电话通过 Internet 连接供电时,未设置电话的自定义状态是打开。首先,电话会向本地 DHCP 服务器查询设置服务器的信息,并设置电话的自定义状态。如果 DHCP 查询成功,自定义状态将设置为中断,且不会因 DHCP 提供所需的设置服务器信息而尝试 RC。
电话第一次连接到网络时或恢复出厂设置后,如果没有设置 DHCP 选项,电话会联系设备激活服务器以执行零接触配置。新电话将使用 “activate.cisco.com” 而不是 “webapps.cisco.com” 进行配置。如果固件版本为 11.2 (1),电话将继续使用 webapps.cisco.com。思科建议您允许这两个域名通过防火墙。
如果 DHCP 服务器不提供设置服务器信息,电话会查询 Cisco EDOS RC 服务器,并提供其 MAC 地址和模型,自定义状态将设置为挂起。Cisco EDOS 服务器响应关联服务提供商的设置服务器信息,包括设置服务器 URL,电话的自定义状态将设置为自定义挂起。电话随后会执行重新同步 URL 命令,以检索服务提供商的配置,如果成功,自定义状态将设置为已获得。
如果 Cisco EDOS RC 服务器没有与电话关联的服务提供商,电话的自定义状态将设置为不可用。可以手动配置电话,也可以为电话的服务提供商添加与 Cisco EDOS 服务器的关联。
如果电话通过 LCD 或 Web 配置实用程序设置,在自定义状态变为已获得之前,自定义状态将设置为中断,除非电话恢复出厂设置,否则 Cisco EDOS 服务器不会查询。
设置电话后,除非电话恢复出厂设置,否则不会使用 Cisco EDOS RC 服务器。
使用 Cisco 出厂默认配置,电话会自动尝试重新同步到 TFTP 服务器上的配置文件。LAN 上的受管 DHCP 服务器提供与配置用于预设置到设备的配置文件和 TFTP 服务器相关的信息。服务提供商将各部新电话连接到 LAN。电话自动重新同步到本地 TFTP 服务器并初始化其内部状态,以便为部署做好准备。此预设置配置文件通常包括远程设置服务器的 URL。当设备部署完毕并连接到客户网络后,设置服务器会保持设备更新。
电话发送给客户前,可以扫描预设置设备的条形码,以记录其 MAC 地址或序列号。此信息可用于创建电话将重新同步的配置文件。
收到电话之后,客户会将其连接到宽带链路。开机时,电话将利用通过预设置配置的 URL 联系设置服务器。因此,电话将根据需要重新同步和更新配置文件及固件。
本节介绍使用各种服务器和不同场景设置电话的设定要求。出于本文档和测试的目的,设置服务器安装在本地 PC 上并在其上运行。而且,通用软件工具对于设置电话很有用。
电话支持 TFTP 用于设置重新同步和固件升级操作。如果设备是远程部署,建议使用 HTTPS,不过也可以使用 HTTP 和 TFTP。这就需要设置文件加密以增强安全性,因为它采用 NAT 和路由器保护机制,提供了更高的可靠性。TFTP 对于内部预设置大量未设置的设备非常有用。
电话能够通过 DHCP 选项 66 直接从 DHCP 服务器获取 TFTP 服务器 IP 地址。如果用 TFTP 服务器的文件路径配置 Profile_Rule,设备将从 TFTP 服务器下载其配置文件。当设备连接到 LAN 并接通电源时,即会开始下载。
提供出厂默认配置的 Profile_Rule 是 &PN.cfg,其中 &PN 表示电话型号名称。
例如,对于 CP-7841-3PCC,文件名是 CP-7841-3PCC.cfg。对于 CP-7832-3PCC,文件名是 CP-7832-3PCC.cfg。
对于具有出厂默认配置文件的设备,在接通电源时,设备将重新同步到 DHCP 选项 66 指定的本地 TFTP 服务器上的此文件。文件路径与 TFTP 服务器虚拟根目录相关。
电话与网络地址转换 (NAT) 兼容,从而通过路由器访问 Internet。为增强安全性,路由器可能会尝试通过实施对称 NAT 来阻止未经授权的传入数据包,这是一种严格限制可从 Internet 进入受保护网络的数据包过滤策略。为此,不建议使用 TFTP 进行远程设置。
来自您服务的动态外部(公共)IP 地址
运行 STUN 服务器软件的计算机
具有非对称 NAT 机制的边缘设备
电话的行为方式与从远程 Internet 站点请求网页的浏览器类似。这将提供到达设置服务器的可靠方式,即使客户路由器实施对称 NAT 或其他保护机制亦不受影响。在远程部署中,HTTP 和 HTTPS 比 TFTP 可靠,特别是当部署的设备在居民防火墙或支持 NAT 的路由器后面连接时。在下列请求类型说明中,HTTP 和 HTTPs 可以互换使用。
基于基本 HTTP 的设置依赖于 HTTP GET 方法来检索配置文件。通常,会为所部署的每部电话创建一个配置文件,这些文件存储在 HTTP 服务器目录中。当服务器收到 GET 请求时,其仅返回 GET 请求标头中指定的文件。
配置文件可以通过查询客户数据库并实时生成配置文件来动态生成,而非静态。
当电话请求重新同步时,它可以使用 HTTP POST 方法请求重新同步配置数据。可以配置设备,在 HTTP POST 请求的正文内向服务器传达特定状态和标识信息。服务器使用此信息生成所需的响应配置文件,或存储状态信息供日后分析和跟踪。
作为 GET 和 POST 请求的一部分,电话会自动在请求标头的“用户-代理”字段中包含基本标识信息。此信息包括制造商、产品名称、当前固件版本和设备的产品序列号。
User-Agent: Cisco-CP-7832-3PCC/11.0.1 (00562b043615)
将电话配置为使用 HTTP 重新同步到配置文件时,建议使用 HTTPS 或对配置文件加密以保护机密信息。电话通过 HTTP 下载的加密配置文件避免了暴露配置文件中包含的机密信息的危险。相比使用 HTTPS,这种重新同步模式在设置服务器上产生的计算负载较少。
电话可解密使用以下加密方法之一加密的配置文件:
AES-256-CBC 加密
使用 AES-128-GCM 加密算法的基于 RFC-8188 的加密
注 |
当 HTTP 1.1 版是协商的传输协议时,电话支持 HTTP 1.0 版、HTTP 1.1 版和分块编码。 |
A — 成功,其中“重新同步周期”和“重新同步随机延迟”值决定后续请求。
B — 故障,找不到文件或者配置文件受损。“重新同步错误重试延迟”值决定后续请求。
C — 其他故障,URL 或 IP 地址不正确导致连接错误。“重新同步错误重试延迟”值决定后续请求。
HTTP 状态代码 |
说明 |
电话行为 |
---|---|---|
301 Moved Permanently |
此请求以及未来请求应定向到新的位置。 |
立即用新位置重试请求。 |
302 Found |
被称为暂时移动。 |
立即用新位置重试请求。 |
3xx |
不处理其他 3xx 响应。 |
C |
400 Bad Request |
由于语法不正确,不能满足请求。 |
C |
401 Unauthorized |
基本或 digest 访问验证质询。 |
立即用验证凭证重试请求。最多重试 2 次。发生故障时,电话行为是 C。 |
403 Forbidden |
服务器拒绝响应。 |
C |
404 Not Found |
找不到请求的资源。允许客户端的后续请求。 |
B |
407 Proxy Authentication Required |
基本或 digest 访问验证质询。 |
立即用验证凭证重试请求。最多重试两次。发生故障时,电话行为是 C。 |
4xx |
不会处理其他客户端错误状态代码。 |
C |
500 Internal Server Error |
一般错误消息。 |
电话行为是 C。 |
501 Not Implemented |
服务器不识别请求方法,或无法完成请求。 |
电话行为是 C。 |
502 Bad Gateway |
服务器充当网关或代理,接收来自上游服务器的无效响应。 |
电话行为是 C。 |
503 Service Unavailable |
服务器当前不可用(过载,或因维护而停机)。这是一个临时状态。 |
电话行为是 C。 |
504 Gateway Timeout |
服务器充当网关或代理,不接收来自上游服务器的及时响应。 |
C |
5xx |
其他服务器错误 |
C |
电话支持 HTTPS 用于设置,以提高管理远程部署设备的安全性。除 Sipura CA 服务器根证书之外,每部电话携带唯一的 SLL 客户端证书(以及关联的专用密钥)。后者可让电话识别授权的设置服务器,并拒绝未经授权的服务器。另一方面,客户端证书可让设置服务器识别出发出请求的单个设备。
要使服务提供商使用 HTTPS 管理部署,必须为电话使用 HTTPS 重新同步的每个设置服务器生成服务器证书。服务器证书必须由 Cisco 服务器 CA 根密钥签名,所有部署的设备都会携带其证书。为获得签名的服务器证书,服务提供商必须将证书签名请求转发给思科,思科将签名并返回服务器证书以供在设置服务器上安装。
设置服务器证书必须包含公用名称 (CN) 字段以及在主题中运行服务器的主机的 FQDN。主机 FQDN 后可能包含信息,以斜线 (/) 字符分隔。以下示例为电话接受的有效 CN 条目:
CN=sprov.callme.com
CN=pv.telco.net/mailto:admin@telco.net
CN=prof.voice.com/info@voice.com
除验证服务器证书,电话将依据针对服务器证书中指定的服务器名称的 DNS 查找,测试服务器 IP 地址。
OpenSSL 实用程序可以生成证书签名请求。以下示例显示了生成 1024 位 RSA 公共/专用密钥对和证书签名请求的 openssl 命令:
openssl req –new –out provserver.csr
此命令会在 privkey.pem 中生成服务器专用密钥,并在 provserver.csr 中生成对应的证书签名请求。服务提供商会保留 privkey.pem 密钥并将 provserver.csr 提交给思科签名。收到 provserver.csr 文件之后,思科会生成签名的服务器证书 provserver.crt。
步骤 1 |
导航到 https://software.cisco.com/software/edos/home 并使用 CCO 凭证登录。
|
||
步骤 2 |
选择证书管理。 在签名 CSR 选项卡上,将上传之前步骤中的 CSR 供签名。 |
||
步骤 3 |
从选择产品下拉列表框中,选择 SPA1xx 固件 1.3.3 和更高版本/SPA232D 固件 1.3.3 和更高版本/SPA5xx 固件 7.5.6 和更高版本/CP-78xx-3PCC/CP-88xx-3PCC。 |
||
步骤 4 |
在 CSR 文件字段中,单击浏览并选择 CSR 供签名。 |
||
步骤 5 |
选择加密方法:
思科建议您选择 SHA256 加密。 |
||
步骤 6 |
从登录持续时间下拉列表框选择适用的持续时间(例如 1 年)。 |
||
步骤 7 |
单击登录证书请求。 |
||
步骤 8 |
选择以下选项之一接收签名的证书:
|
||
步骤 9 |
单击提交。 会下载签名的服务器证书,或者通过电子邮件将其发送给之前提供的电子邮件地址。 |
思科还为服务提供商提供多平台电话客户端根证书。此根证书验证每部电话携带的客户端证书的可靠性。多平台电话还支持第三方签名的证书,例如 Verisign、Cybertrust 等提供的证书。
在 HTTPS 会话期间,每个设备提供的唯一客户端证书携带嵌入到其主题字段中的标识信息。HTTPS 服务器可将此信息提供给被调用来处理安全请求的 CGI 脚本使用。具体而言,证书主题指示设备产品名称(OU 元素)、MAC 地址(S 元素,)和序列号(L 元素)。
OU=CP-7841-3PCC, L=88012BA01234, S=000e08abcdef
OU=CP-7832-3PCC, L=88012BA01234, S=000e08abcdef
要确定电话是否携带个性化的证书,请使用 $CCERT 设置宏变量。视乎是否存在唯一的客户端证书而定,变量值将扩展为“已安装”或“未安装”。如果采用通用的证书,可能要从“用户-代理”字段的 HTTP 请求标头中获取设备的序列号。
可将 HTTPS 服务器配置为从连接的客户端请求 SSL 证书。如果启用,服务器可以使用思科提供用以验证客户端证书的多平台电话客户端根证书。服务器然后可以向 CGI 提供证书信息以供进一步处理。
证书存储位置可能不尽相同。例如,在 Apache 安装中,存储设置服务器签名证书的文件路径、其关联的专用密钥以及多平台电话 CA 客户端根证书如下所示:
# Server Certificate:
SSLCertificateFile /etc/httpd/conf/provserver.crt
# Server Private Key:
SSLCertificateKeyFile /etc/httpd/conf/provserver.key
# Certificate Authority (CA):
SSLCACertificateFile /etc/httpd/conf/spacroot.crt
有关详细信息,请参阅 HTTPS 服务器文档。
思科客户端证书根颁发机构会在每个唯一的证书上签名。相应的根证书可供服务提供商用于验证客户端。
设置服务器可以指定为 IP 地址或者为完全限定域名 (FQDN)。使用 FQDN 可加快冗余设置服务器的部署。通过 FQDN 确定设置服务器后,电话将尝试通过 DNS 将 FQDN 解析为 IP 地址。仅支持将 DNS A 记录用于设置;DNS SRV 地址解析对设置不适用。在服务器响应之前,电话将继续处理 A 记录。如果没有与 A 记录关联的服务器响应,电话将向系统日志服务器记录一个错误。
如果使用 <Syslog Server> 参数在电话上配置系统日志服务器,执行重新同步和升级操作时会发送消息到系统日志服务器。消息可在远程文件请求开始(配置文件或固件负载)和操作结束(指示成功或失败)时生成。
记录的消息在以下参数中配置,并宏扩展到实际的系统日志消息:
Log_Request_Msg
Log_Success_Msg
Log_Failure_Msg