简介
本文档介绍SIP终端与Expressway集群配合使用以实现注册故障切换的基本配置步骤。
先决条件
要求
Cisco 建议您了解以下主题:
- Expressway系列
- 网真终端。
- SIP 协议.
- DNS.
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 运行软件版本RoomOS 11.27.3的网真终端。
- 运行软件版本X15.2(EXP C)的2个节点的Expressway集群。
- Windows Server 2016.
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
- Expressway可以充当通过SIP和H.323协议的网真终端的注册器和呼叫控制服务器。本文档重点介绍SIP注册。
- 在思科SIP终端上使用DNS名称或IP地址将Expressway对等体指定为SIP代理1、2、3和4,不提供冗余。此配置仅在启用SIP出站选项时有效,自思科终端版本CE8.0起,该选项已被弃用。
- 依靠DNS是最可靠的方法,可确保冗余并成功故障切换至集群中的其他Expressway对等体。
- 故障转移测试可通过多种方式进行,例如:将Expressway置于维护模式、断开网络或关闭expressway。
配置
选项 1:使用DNS SRV记录
- 必须有一个可用于Expressway域名的DNS SRV记录,该记录为每个集群对等体定义相同的权重和优先级。
- 终端通常使用的sip(RFC 3263)和H.323的DNS SRV查询的格式为:
· _sips._tcp。
· _sip._tcp.<domain>。
· _sip._udp.<domain> — 不建议用于视频呼叫,仅用于纯音频呼叫。
· _h323ls._udp.<domain> — 用于UDP位置(RAS)信令,例如LRQ。
· _h323cs._tcp.<domain> — 适用于H.323呼叫信令。
· _h323rs._udp.<domain> — 适用于H.323注册。
- UDP不是推荐的视频信令传输介质;视频系统的SIP消息传送太大,无法在基于数据报(而不是基于流)的传输上可靠地传送。
- _sips._tcp用于使用TLS的TCP上的安全SIP信令,而_sip._tcp用于使用TCP的标准非加密SIP信令。
- 在内部DNS上,我们需要为指向所有Expressway对等体的_sip._tcp.domain、_sips._tcp.domain创建SRV记录。
1.配置DNS
- 打开DNS,在域右键点击(Right Click)下选择Other New Records,然后点击服务位置(SRV)(Service Locations [SRV])。


- 最后,您可以为两个对等体配置TCP和TLS SRV记录(如本示例所示)。

2.配置网真终端
- 登录到网真终端的网络GUI。
- 导航到设置>配置> SIP。
- 将ANAT设置为Off。Expressway不支持此功能。
- 在Proxy 1 Address中,输入Domain Name。
- 将TlsVerify设置为Off,将DefaultTransport设置为TCP(本文档使用TCP)。
- 将Type设置为Standard。
- 在URI字段中,输入设备用于标识自身的URI。这是为呼叫设备而必须拨打的URI。这必须是host@domain格式,其中主机部分是字母数字字符串,而域部分是以前在Expressway上配置的域。
- Click Save.

选项 2:使用DNS轮询
- 要使用此选项,必须有一个可用于Expressway集群的DNS名称的DNS A记录,该集群提供Expressway对等体IP地址的轮询列表。
- 如果终端不支持DNS SRV,则终端在启动时执行DNS A记录查找。配置DNS服务器以支持轮询DNS,确保每个集群对等成员都包含在轮询列表中。
- 终端获取DNS查找返回的地址并尝试向相关集群对等体注册。如果该对等设备不可用,终端将执行另一个DNS查找并尝试连接到提供的下一个Expressway对等设备。(DNS服务器提供下一个集群对等体的IP地址)此过程会重复,直到终端成功注册到Expressway。
- 终端继续使用其注册的第一个Expressway进行重新注册和呼叫。如果与其Expressway的连接丢失,终端将执行另一个DNS查找以查找新的Expressway进行注册,DNS服务器在轮询序列中提供另一个Expressway。
- DNS缓存超时可以设置为相当短的时间(例如,1分钟或更短),以便如果Expressway不可访问,终端会快速指向不同的Expressway。
1.配置DNS
- 在DNS管理控制台中,右键点击所需域,然后选择“新建主机(A)记录”。
- 输入Expressway集群名称和相应的Expressway对等IP地址。(在下面的示例中,为两个集群对等体创建了两个记录。)


2.配置网真终端
- 应用与上一个示例相同的SIP设置,但将代理地址设置为集群名称。

验证
选项 1:使用DNS SRV记录
来自终端日志的片段演示DNS SRV解析和注册;终端会跳过前两个DNS结果,因为没有配置TLS。
2025-07-13T10:19:27.683+00:00 main[2467]: DnsLocator I: locatedAt() Uri 'uctest.local', profile 0, strategy 1: tls '10.48.53.127:5061' (internal)
2025-07-13T10:19:27.683+00:00 main[2467]: DnsLocator I: locatedAt() Uri 'uctest.local', profile 0, strategy 1: tls '10.48.53.128:5061' (internal)
2025-07-13T10:19:27.740+00:00 main[2467]: DnsLocator I: locatedAt() Uri 'uctest.local', profile 0, strategy 2: tcp '10.48.53.127:5060' (internal)
2025-07-13T10:19:28.349+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registering', URI: '1001@uctest.local', Reason: ''
2025-07-13T10:19:28.439+00:00 main[2467]: SipReg I: Registered as '1001@uctest.local' to '10.48.53.127:5060'
2025-07-13T10:19:28.439+00:00 main[2467]: SipStack I: Setting 'uctest.local'/10.48.53.127:5060 as new default proxy
2025-07-13T10:19:28.440+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registered', URI: '1001@uctest.local', Reason: ''

- 将Expressway对等体1设置为维护模式会导致注册状态显示为“失败”。

— 现有注册过期后,终端重新注册到第二个Expressway对等体。

- 来自终端日志的片段向第二个对等体演示DNS解析,然后显示故障切换事件。
2025-07-13T10:25:30.840+00:00 main[2467]: SipPacket W: SIP Msg: Warning: 382 10.48.53.127 "System in Maintenance Mode"
2025-07-13T10:25:30.843+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Failed', URI: '1001@uctest.local', Reason: '503 Service Unavailable / System in Maintenance Mode'
2025-07-13T10:25:30.844+00:00 main[2467]: DnsLocator I: locatedAt() Uri 'uctest.local', profile 0, strategy 2: tcp '10.48.53.128:5060' (internal)
2025-07-13T10:25:30.855+00:00 main[2467]: SipStack I: SIP config is new and 0 active sessions; reconfiguring SIP stack
2025-07-13T10:25:30.861+00:00 main[2467]: SipStack I: SIP stack successfully configured; now ready
2025-07-13T10:25:31.096+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registering', URI: '1001@uctest.local', Reason: ''
2025-07-13T10:25:31.180+00:00 main[2467]: SipReg I: Registered as '1001@uctest.local' to '10.48.53.128:5060'
2025-07-13T10:25:31.181+00:00 main[2467]: SipStack I: Setting 'uctest.local'/10.48.53.128:5060 as new default proxy
2025-07-13T10:25:31.181+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registered', URI: '1001@uctest.local', Reason: ''
2025-07-13T10:25:31.182+00:00 main[2467]: SipSubscriber I: Resetting locator since reg_ind.status is registered
选项 2:使用DNS轮询
- 终端配置了代理地址,该地址设置为Expressway集群名称,如上所述。
- 来自终端日志的代码段,其中显示了到Expressway集群名称的DNS解析成功和对等体1的注册。
2025-07-13T11:16:34.789+00:00 main[2467]: CuilApp[1]: Successfully changed configuration 'Configuration/SIP/Proxy[1]/Address' to 'habibexpc-cluster.uctest.local' by user=admin/web-config-app host=10.61.106.234
2025-07-13T11:16:34.990+00:00 main[2467]: SipSubscriber I: [p=0] Need to resolve 'habibexpc-cluster.uctest.local' before sending config to SIP stack (restarted locator)
2025-07-13T11:16:35.056+00:00 main[2467]: DnsLocator I: locatedAt() Uri 'habibexpc-cluster.uctest.local', profile 0, strategy 4: unspec '10.48.53.127' (internal).2025-07-13T11:16:35.058+00:00 main[2467]: SipStack I: SIP config is new and 0 active sessions; reconfiguring SIP stack
2025-07-13T11:16:35.070+00:00 main[2467]: SipStack I: SIP stack successfully configured; now ready
2025-07-13T11:16:35.372+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registering', URI: '1001@uctest.local', Reason: ''
2025-07-13T11:16:35.461+00:00 main[2467]: SipReg I: Registered as '1001@uctest.local' to '10.48.53.127'
2025-07-13T11:16:35.461+00:00 main[2467]: SipStack I: Setting 'habibexpc-cluster.uctest.local'/10.48.53.127 as new default proxy
2025-07-13T11:16:35.462+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registered', URI: '1001@uctest.local', Reason: ''

- 关闭Expressway对等体1时,终端注册到第二个Expressway对等体。

2025-07-13T11:20:48.897+00:00 main[2467]: SipReg W: SipTransport indicates that connection to 10.48.53.127 was lost.
2025-07-13T11:20:48.898+00:00 main[2467]: SipStack I: Failed to find new default outbound proxy at present time.
2025-07-13T11:20:48.901+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Failed', URI: '1001@uctest.local', Reason: 'Connection lost'
2025-07-13T11:20:48.907+00:00 main[2467]: SipSubscriber I: [p=0] Need to resolve 'habibexpc-cluster.uctest.local' before sending config to SIP stack (restarted locator)
2025-07-13T11:20:48.990+00:00 main[2467]: DnsLocator I: locatedAt() Uri 'habibexpc-cluster.uctest.local', profile 0, strategy 4: unspec '10.48.53.128' (internal)
2025-07-13T11:20:48.993+00:00 main[2467]: SipStack I: SIP config is new and 0 active sessions; reconfiguring SIP stack
2025-07-13T11:20:49.006+00:00 main[2467]: SipStack I: SIP stack successfully configured; now ready
2025-07-13T11:20:49.210+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registering', URI: '1001@uctest.local', Reason: ''
2025-07-13T11:20:49.332+00:00 main[2467]: SipReg I: Registered as '1001@uctest.local' to '10.48.53.128'
2025-07-13T11:20:49.337+00:00 main[2467]: SipStack I: Setting 'habibexpc-cluster.uctest.local'/10.48.53.128 as new default proxy
2025-07-13T11:20:49.338+00:00 main[2467]: SipSubscriber I: [p=0] Registration Status: 'Registered', URI: '1001@uctest.local', Reason: ''
2025-07-13T11:20:49.339+00:00 main[2467]: SipSubscriber I: Resetting locator since reg_ind.status is registered
相关信息
https://www.cisco.com/c/en/us/support/docs/collaboration-endpoints/telepresence-system-ex-series/221630-configure-telepresence-endpoint-sip-regi.html