使用此任务流可为 Webex Calling 中继配置本地网关。 在本地网关上使用命令行执行后续步骤。 本地网关和 Webex Calling 之间的中继始终使用 SIP TLS 传输协议进行保护,而本地网关和 Webex Calling Access SBC 之间的媒体则采用 SRTP 协议。

准备工作

  • 了解 Webex Calling 的本地部署 PSTN(本地网关)要求。

  • 在 Control Hub 中创建中继,并将其分配到所需位置。

  • 本文档中提供的配置准则假设有一个专用的本地网关平台,其中没有现成的语音配置。 如果现有 PSTN 网关或 CUBE 企业部署被修改为也使用 Webex Calling 的本地网关功能,请特别注意已应用的配置,并确保现有的呼叫流和功能不会因您所做的更改而中断。

  命令或操作 目的
1

Control Hub 和 Cisco Unified Border Element 之间的参数映射

使用该表作为参考,了解来自 Control Hub 的参数,以及它们映射到本地网关的位置。

2

执行参考平台配置

实施这些步骤作为本地网关的通用全局配置。 此配置包括基准平台配置和信任池更新。

3

将本地网关注册到 Webex Calling

4

根据您的部署选择一项:

本地网关上的呼叫路由基于您选择的 Webex Calling 部署选项。 本节假定 IP PSTN 终止与于本地网关位于所在的同一平台上。 以下配置针对本地网关上的以下选项之一:

  • 没有本地部署的 IP PBX 的本地网关部署选项。 本地网关和 IP PSTN CUBE 是共存的。

  • 现有的 Unified CM 环境中的本地网关部署选项。 本地网关和 IP PSTN CUBE 是共存的。

表 1. Control Hub 和本地网关之间的参数映射

Control Hub

本地网关

注册机构域:

Control Hub 应从在 UCAPI 中接收到的 LinePort 分析域。

example.com

注册机构

example.com

中继组 OTG/DTG

SIP 档案:

rule <rule-number> request ANY sip-header

From modify ">" ";otg=otgDtgId>"

线路/端口

user@example.com

号码: 用户

出站代理

出站代理(DNS 名称 - Access SBC 的 SRV)

SIP 用户名

用户名

SIP 密码

password

准备工作

  • 确保基准平台配置(如 NTP、ACL、启用密码、主密码、IP 路由、IP 地址等)是根据您所在组织的策略和程序进行配置的。

  • 所有 LGW 部署均需要最低支持版本 IOS-XE 16.12 或 IOS-XE 17.3。

1

确保任何第 3 层接口都分配了有效且可路由的 IP 地址:

interface GigabitEthernet0/0/0
 description Interface facing PSTN and/or CUCM
 ip address 192.168.80.14 255.255.255.0
!
interface GigabitEthernet0/0/1
 description Interface facing Webex Calling
 ip address 192.168.43.197 255.255.255.0
2

必须先使用下面显示的命令预配置密码的主密钥,然后才能在凭证和共享密钥中使用该主密钥。 第 6 类型的密码使用 AES 密码和用户定义的主密钥进行加密。


LocalGateway#conf t
LocalGateway(config)#key config-key password-encrypt Password123
LocalGateway(config)#password encryption aes
3

配置 IP 名称服务器以启用 DNS 查找并对其执行 ping 操作来确保其可访问:


LocalGateway#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
LocalGateway(config)#ip name-server 8.8.8.8
LocalGateway(config)#end
4

启用 TLS 1.2 排他性和缺省占位符 Trustpoint:

  1. 创建占位符 PKI Trustpoint 并将其命名为 sampleTP

  2. 将该 trustpoint 分配为 sip-ua 下的缺省信令 trustpoint

  3. 需要使用 cn-san-validate 服务器,以确保本地网关只有在租户 200 上配置的出站代理(详见下文)与从服务器接收的 CN-SAN 列表匹配时才建立连接。

  4. 必须使用加密 trustpoint 才能进行 TLS,尽管要设置连接并不需要本地客户端证书(例如 mTLS)。

  5. 通过启用 v1.2 排他性,禁用 TLS v1.0 和 v1.1。

  6. 将 tcp-重试次数设为 1000(5 msec multiples = 5 秒)。

  7. (IOS-XE 17.3.2 及更高版本)设置计时器连接建立 tls <wait-timer in="" sec="">。 范围在 5 到 20 秒之间,默认设置为 20 秒。 (LGW 需要 20 秒检测到 TLS 连接失败,然后尝试与下一个可用的 Webex Calling Access SBC 建立连接。 此 CLI 允许管理员更改值,以适应网络状况,更快地检测到 Access SBC 的连接故障。


LocalGateway#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
LocalGateway(config)#
LocalGateway(config)#crypto pki trustpoint sampleTP
LocalGateway(ca-trustpoint)# revocation-check crl
LocalGateway(ca-trustpoint)#exit

LocalGateway(config)#sip-ua
LocalGateway(config-sip-ua)# crypto signaling default trustpoint sampleTP cn-san-validate server

LocalGateway(config-sip-ua)# transport tcp tls v1.2
LocalGateway(config-sip-ua)# tcp-retry 1000
LocalGateway(config-sip-ua)#end
5

更新本地网关 Trustpool:

缺省的 trustpool 捆绑包不包含在建立与 Webex Calling 的 TLS 连接期间验证服务器端证书所需的“DigiCert 根 CA”或“IdenTrust 商业”证书。

必须通过下载最新的“Cisco 受信任核心根证书捆绑包”(网址为 http://www.cisco.com/security/pki/)来更新 trustpool 捆绑包。

  1. 检查 DigiCert Room CA 和 IdenTrust 商业证书是否存在:

    
    LocalGateway#show crypto pki trustpool | include DigiCert
  2. 如果不存在,请按如下所示进行更新:

    
    LocalGateway#configure terminal
    Enter configuration commands, one per line.  End with CNTL/Z.
    LocalGateway(config)#crypto pki trustpool import clean url 
    http://www.cisco.com/security/pki/trs/ios_core.p7b
    Reading file from http://www.cisco.com/security/pki/trs/ios_core.p7b
    Loading http://www.cisco.com/security/pki/trs/ios_core.p7b 
    % PEM files import succeeded.
    LocalGateway(config)#end
    
  1. 验证:

    
    LocalGateway#show crypto pki trustpool | include DigiCert
    cn=DigiCert Global Root CA
    o=DigiCert Inc
    cn=DigiCert Global Root CA
    o=DigiCert Inc
    
    LocalGateway#show crypto pki trustpool | include IdenTrust Commercial
    cn=IdenTrust Commercial Root CA 1
    cn=IdenTrust Commercial Root CA 1

准备工作

确保您已完成在 Control Hub 中创建位置并为相应位置添加中继的步骤。 在此处显示的示例中,信息通过 Control Hub 获得。

1

输入这些命令以打开本地网关应用程序(请参阅“isco Webex Calling 端口参考信息”了解需要添加到信任列表的最新 IP 子网):

LocalGateway#configure terminal
LocalGateway(config)#voice service voip
LocalGateway(conf-voi-serv)#ip address trusted list
LocalGateway(cfg-iptrust-list)#ipv4 x.x.x.x y.y.y.y
LocalGateway(cfg-iptrust-list)#exit
LocalGateway(conf-voi-serv)#allow-connections sip to sip
LocalGateway(conf-voi-serv)#media statistics
LocalGateway(conf-voi-serv)#media bulk-stats
LocalGateway(conf-voi-serv)#no supplementary-service sip refer
LocalGateway(conf-voi-serv)#no supplementary-service sip handle-replaces
LocalGateway(conf-voi-serv)# fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none

LocalGateway(conf-serv-stun)#stun
LocalGateway(conf-serv-stun)#stun flowdata agent-id 1 boot-count 4
LocalGateway(conf-serv-stun)#stun flowdata shared-secret 0 Password123$

LocalGateway(conf-serv-stun)#sip

   LocalGateway(conf-serv-sip)#g729 annexb-all
   LocalGateway(conf-serv-sip)#early-offer forced
   LocalGateway(conf-serv-sip)#end

命令说明:

预防资费欺骗
Device(config)# voice service voip
Device(config-voi-serv)# ip address trusted list
Device(cfg-iptrust-list)# ipv4 x.x.x.x y.y.y.y
  • 显式启用本地网关预期从中发出合法网络语音呼叫的实体(例如 Webex Calling 对等方、Unified CM 节点、IP PSTN)的源 IP 地址。

  • 缺省情况下,LGW 会阻止来自不在其受信任列表中的 IP 地址的所有呼入网络语音呼叫设置。 来自带有“会话目标 ip”或服务器组的拨号对等方的 IP 地址缺省受信任,无需在此填写。

  • 此列表中的 IP 地址需要根据客户连接到的区域 Webex Calling 数据中心来匹配 IP 子网。 有关更多信息,请参阅 Webex Calling 的端口参考信息


     

    如果您的 LGW 位于使用受限制的锥形 NAT 的防火墙之后,您可能希望在面向 Webex Calling 的接口上禁用 IP 地址受信任列表。 这是因为该防火墙已保护您免受垃圾入站网络语音的侵扰。 此操作会降低较长期的配置开销,因为我们无法保证 Webex Calling 对等方的地址保持固定,因此您在任何情况下都需要为对等方配置防火墙。

  • 可能需要在其他接口上配置其他 IP 地址;例如,可能需要将 Unified CM 地址添加到向内接口。

  • IP 地址必须与 outbound-proxy租户 200 中解析成的主机的 IP 一致

  • 请参阅 https://www.cisco.com/c/en/us/support/docs/voice/call-routing-dial-plans/112083-tollfraud-ios.html 以获取更多信息。

媒体
voice service voip
 media statistics 
 media bulk-stats 
  • Media Statistics 在本地网关上启用媒体监控。

  • Media bulk-stats 允许控制平面轮询数据平面,以获取批量呼叫统计信息。

SIP 到 SIP 基本功能
allow-connections sip to sip
补充服务
 no supplementary-service sip refer
 no supplementary-service sip handle-replaces

禁用 REFER,并将 Replaces 标头中的对话标识替换为对等方对话标识。

请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr4/vcr4-cr-book/vcr-s12.html#wp2876138889 以获取更多信息。

传真协议
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none

为传真传输启用 T.38,但传真流量不会加密。

启用全球 STUN
stun
  stun flowdata agent-id 1 boot-count 4
  stun flowdata shared-secret 0 Password123$
  • 当呼叫转发回 Webex Calling 用户(例如,被叫方和呼叫方都是 Webex Calling 订户,并将媒体定位锚定到 Webex Calling SBC)时,媒体无法流向本地网关,因为针孔没有打开。

  • 本地网关上的 STUN 绑定功能允许通过协商的媒体路径发送本地生成的 STUN 请求。 这有助于在防火墙中打开针孔。

  • STUN 密码是本地网关向外发送 STUN 消息的前提条件。 基于 IOS/IOS-XE 的防火墙可以配置为检查该密码并动态打开针孔(例如,没有显式的进出规则时)。 但对于本地网关部署情况,防火墙静态配置为根据 Webex Calling SBC 子网打开进出的针孔。 因此,防火墙应该仅仅将其视为任何入站 UDP 数据包,这样就可以触发针孔打开操作,而无需显式查看数据包内容。

G729
sip
  g729 annexb-all

允许 G729 的所有变体。

SIP
early-offer forced

强制本地网关在初始 INVITE 消息中发送 SDP 信息,而不是等待来自邻近对等方的确认。

2

配置“SIP 档案 200”。

LocalGateway(config)# voice class sip-profiles 200
LocalGateway (config-class)# rule 9 request ANY sip-header SIP-Req-URI modify "sips:(.*)" "sip:\1"
LocalGateway (config-class)# rule 10 request ANY sip-header To modify "<sips:(.*)" "<sip:\1"
LocalGateway (config-class)# rule 11 request ANY sip-header From modify "<sips:(.*)" "<sip:\1"
LocalGateway (config-class)# rule 12 request ANY sip-header Contact modify "<sips:(.*)>" "<sip:\1;transport=tls>" 
LocalGateway (config-class)# rule 13 response ANY sip-header To modify "<sips:(.*)" "<sip:\1"
LocalGateway (config-class)# rule 14 response ANY sip-header From modify "<sips:(.*)" "<sip:\1"
LocalGateway (config-class)# rule 15 response ANY sip-header Contact modify "<sips:(.*)" "<sip:\1"
LocalGateway (config-class)# rule 20 request ANY sip-header From modify ">" ";otg=hussain2572_lgu>"
LocalGateway (config-class)# rule 30 request ANY sip-header P-Asserted-Identity modify "sips:(.*)" "sip:\1"

这些规则是

命令说明:

  • 规则 9 确保标头已列为 “SIP-Req-URI” 而非 “SIP-Req-URL”

    这会在 SIP URI 和 SIP URL 之间进行转换,因为 Webex Calling 不支持请求/响应消息中的 SIP URI,但 SRV 查询需要它们,例如 _sips._tcp.<outbound-proxy>.
  • rule 20 将 From 标头修改为包含 Control Hub 中的中继组 OTG/DTG 参数,以唯一标识企业中的 LGW 站点。

  • 此 SIP 档案将应用于面向 Webex Calling 的所有流量的语音类租户 200(稍后讨论)。

3

配置编解码器档案、STUN 定义和 SRTP 加密套件。

LocalGateway(config)# voice class codec 99
LocalGateway(config-class)# codec preference 1 g711ulaw
LocalGateway(config-class)# codec preference 2 g711alaw 
LocalGateway(config-class)# exit
LocalGateway(config)# voice class srtp-crypto 200
LocalGateway(config-class)# crypto 1 AES_CM_128_HMAC_SHA1_80
LocalGateway(config-class)# exit
LocalGateway(config)# voice class stun-usage 200
LocalGateway(config-class)# stun usage firewall-traversal flowdata
LocalGateway(config-class)# stun usage ice lite
LocalGateway(config-class)# exit

命令说明:

  • Voice class codec 99: 允许将 g711(mu 和 a-law)编解码器用于会话。 将应用于所有拨号对等方。

  • Voice class srtp-crypto 200: 将 SHA1_80 指定为提议和应答中 SDP 内的本地网关提供的唯一 SRTP 密码套件。 Webex Calling 仅支持 SHA1_80。

  • 将应用于语音类租户 200(稍后讨论),其面向 Webex Calling

  • Voice class stun-usage 200: 定义 STUN 用法。 将应用于面向 Webex Calling(2XX 标记)的所有拨号对等方,以在 Unified CM 电话将呼叫转发到另一 Webex Calling 电话时避免无路音频。


 

如果媒体已锚定到 ITSP SBC,而本地网关位于 NAT 后面,并且正在等待来自 ITSP 的入站媒体流,那么此命令可应用于面向 ITSP 的拨号对等方面向拨号对等方的 ITSP。


 

使用媒体路径优化的呼叫流程需要 Stun usage ice lite。

4

将 Control Hub 参数映射到本地网关配置:

Webex Calling 作为租户添加到本地网关中。 注册本地网关所需的配置在语音类租户 200 下定义。 必须在 Control Hub 的“中继信息”页面中获取该配置的元素,如该图像所示。 此示例显示哪些字段映射到相应的本地网关 CLI。

然后,租户 200 将应用于本地网关配置中面向 Webex Calling 的所有拨号对等方(2xx 标记)。 语音类租户功能允许对 SIP 中继参数进行分组和配置,这些操作本来是在 voice service voip 和 sip-ua 下执行的。 在拨号对等方下配置并应用租户时,将按以下优先顺序应用 IOS-XE 配置:

  • 拨号对等方配置

  • 租户配置

  • 全局配置 (voice service voip / sip-ua)

5

配置语音类租户 200,以根据从控制中心获取的参数将中继注册启用为从 LGW 到 Webex Calling


 

下面的命令行和参数只是示例。 您必须为您自己的部署使用参数。

LocalGateway(config)#voice class tenant 200
  registrar dns:40462196.cisco-bcld.com scheme sips expires 240 refresh-ratio 50 tcp tls
  credentials number Hussain6346_LGU username Hussain2572_LGU password 0 meX7]~)VmF realm BroadWorks
  authentication username Hussain2572_LGU password 0 meX7]~)VmF realm BroadWorks
  authentication username Hussain2572_LGU password 0 meX7]~)VmF realm 40462196.cisco-bcld.com
  no remote-party-id
  sip-server dns:40462196.cisco-bcld.com
  connection-reuse
  srtp-crypto 200
  session transport tcp tls 
  url sips 
  error-passthru
  asserted-id pai 
  bind control source-interface GigabitEthernet0/0/1
  bind media source-interface GigabitEthernet0/0/1
  no pass-thru content custom-sdp 
  sip-profiles 200 
  outbound-proxy dns:la01.sipconnect-us10.cisco-bcld.com  
  privacy-policy passthru

命令说明:

voice class tenant 200

本地网关的多租户功能为 SIP 中继上的多个租户启用了特定的全局配置,允许为租户提供有区别的服务。

registrar dns:40462196.cisco-bcld.com scheme sips expires 240 refresh-ratio 50 tcp tls

本地网关的注册机构服务器,带有注册集,每两分钟(240 秒的 50%)刷新一次。 有关更多信息,请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr3/vcr3-cr-book/vcr-r1.html#wp1687622014

credentials number Hussain6346_LGU username Hussain2572_LGU password 0 meX71]~)Vmf realm BroadWorks

中继注册质询的凭证。 有关更多信息,请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr1/vcr1-cr-book/vcr-c6.html#wp3153621104

authentication username Hussain2572_LGU password 0 meX71]~)Vmf realm BroadWorks
authentication username Hussain2572_LGU password 0 meX71]~)Vmf realm 40462196.cisco-bcld.com

呼叫的验证质询。 有关更多信息,请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr1/vcr1-cr-book/vcr-a1.html#wp1551532462

no remote-party-id

禁用 SIP Remote-Party-ID (RPID) 标头,因为 Webex Calling 支持 PAI,该功能在启用时使用 CIO asserted-id pai (如下所示)。

sip-server dns:40462196.cisco-bcld.com
Webex Calling 服务器。 有关更多信息,请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr1/vcr1-cr-book/vcr-a1.html#wp1551532462
connection-reuse

为注册和呼叫处理使用相同的持续连接。

srtp-crypto 200

按以下定义指定 SHA1_80: voice class srtp-crypto 200

session transport tcp tls
将传输设置为 TLS
url sips

SRV 查询必须是 access SBC 支持的 SIP;其他所有消息通过 sip-profile 200 更改为 SIP。

error-passthru

SIP 错误响应直通功能

asserted-id pai

在本地网关中开启 PAI 处理。

bind control source-interface GigabitEthernet0/0/1

面向 Webex Calling 的信令源接口。

bind media source-interface GigabitEthernet0/0/1

面向 Webex Calling 的媒体源接口。

no pass-thru content custom-sdp

租户下的缺省命令。

sip-profiles 200

将 SIPS 更改为 SIP,并按以下定义修改 INVITE 和 REGISTER 消息的“线路/端口”: voice class sip-profiles 200

outbound-proxy dns:la01.sipconnect-us10.cisco-bcld.com

Webex Calling Access SBC。 有关更多信息,请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/vcr3/vcr3-cr-book/vcr-o1.html#wp3297755699

privacy-policy passthru

从呼入到呼出支线透明地传递隐私标头值。

在本地网关中定义租户 200 并配置 SIP 网络语音拨号对等方后,网关接着启动朝向 Webex Calling 的 TLS 连接,此时 Access SBC 会向本地网关出示其证书。 本地网关使用先前更新的 CA 根证书捆绑包验证 Webex Calling Access SBC 证书。 将在本地网关和 Webex Calling Access SBC 之间建立一个持续 TLS 会话。 然后,本地网关将向被质询的 Access SBC 发送 REGISTER。 注册 AOR 是 number@domain。 number 取自“registrar dns:<fqdn>”中的凭证“number”参数和域。 对注册进行质询时,将使用用户名、密码和领域参数(来自凭证)来构建标头,并且 sip-profile 200 会将 SIPS URL 转换回 SIP。 从 Access SBC 收到 200 OK 后,注册即成功。

此部署选项需要本地网关上的以下配置:

  1. 语音类租户—首先我们将为面向 ITSP 的拨号对等方创建更多租户,其类似于租户 200(我们为面向 Webex Calling 的拨号对等方创建的)。

  2. 语音类 URI - 用于为终止于本地网关的各种中继定义主机 IP 地址/端口的模式: Webex Calling 到 LGW;以及终止于 LGW 的 PSTN SIP 中继。

  3. 出站拨号对等方—将出站呼叫支线从 LGW 路由到 ITSP SIP 中继和 Webex Calling

  4. 语音类 DPG - 从入站拨号对等方调用的目标出站拨号对等方。

  5. 入站拨号对等方—接受来自 ITSP 和 Webex Calling 的入站呼叫支线。

本节中的配置可用于合作伙伴托管的本地网关设置(如下所示)或本地客户站点网关。

1

配置以下语音类租户:

  1. 语音类租户 100 在面向 IP PSTN 的所有出站拨号对等方应用。

    voice class tenant 100 
      session transport udp
      url sip
      error-passthru
      bind control source-interface GigabitEthernet0/0/0
      bind media source-interface GigabitEthernet0/0/0
      no pass-thru content custom-sdp
    
  2. 语音类租户 300 在来自 IP PSTN 的所有入站拨号对等方应用。

    voice class tenant 300 
      bind control source-interface GigabitEthernet0/0/0
      bind media source-interface GigabitEthernet0/0/0
      no pass-thru content custom-sdp
    
2

配置以下语音类 URI:

  1. 定义 ITSP 的主机 IP 地址:

    voice class uri 100 sip
      host ipv4:192.168.80.13
    
  2. 定义模式以基于 Control Hub 的 TrunkGroup OTG/DTG 参数在企业中唯一标识本地网关站点:

    voice class uri 200 sip
     pattern dtg=hussain2572.lgu
    

     

    本地网关目前不支持匹配模式中的下划线“_”。 解决办法是使用圆点“.” (匹配任意内容)来匹配“_”。

    Received
    INVITE sip:+16785550123@198.18.1.226:5061;transport=tls;dtg=hussain2572_lgu SIP/2.0
       Via: SIP/2.0/TLS 199.59.70.30:8934;branch=z9hG4bK2hokad30fg14d0358060.1
     pattern :8934
    
3

配置以下出站拨号对等方:

  1. 朝向 IP PSTN 的出站拨号对等方:

    dial-peer voice 101 voip 
     description Outgoing dial-peer to IP PSTN
     destination-pattern BAD.BAD
     session protocol sipv2
     session target ipv4:192.168.80.13
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 100
     no vad

    命令说明:

    dial-peer voice 101 voip
     description Outgoing dial-peer to PSTN
    

    定义了一个带有 101 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    destination-pattern BAD.BAD

    允许选择该拨号对等方的数字模式。 但是,我们将使用 DPG 语句直接从入站拨号对等方调用此呼出拨号对等方,这会绕过数字模式匹配条件。 因此,我们使用了基于目的地模式 CLI 所允许的字母数字位的任意模式。

    session protocol sipv2

    指定该拨号对等方将处理 SIP 呼叫支线。

    session target ipv4:192.168.80.13

    指示目的地的目标 IPv4 地址,此呼叫支线将发送到此地址。 在本例中,为 ITSP 的 IP 地址。

    voice-class codec 99

    表示将用于此拨号对等方的编解码器首选项列表 99 用于此拨号对等方。

    dtmf-relay rtp-nte

    将 RTP-NTE (RFC2833) 定义为此呼叫支线上预期的 DTMF 功能。

    voice-class sip tenant 100

    拨号对等方将继承租户 100 中的所有参数,除非在拨号对等方本身下面定义了相同的参数。

    no vad

    禁用语音活动检测。

  2. Webex Calling 的出站拨号对等方(此拨号对等方将被更新为来自 Webex Calling 的入站拨号对等方,稍后也会在配置指南中提供)。

    dial-peer voice 200201 voip
     description Inbound/Outbound Webex Calling
     destination-pattern BAD.BAD
     session protocol sipv2
     session target sip-server
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class stun-usage 200
     no voice-class sip localhost
     voice-class sip tenant 200
     srtp
     no vad
    

    命令说明:

    dial-peer voice 200201 voip
         description Inbound/Outbound Webex Calling

    定义了一个带有 200201 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    session target sip-server

    表示全局 SIP 服务器是从该拨号对等方发起的呼叫的目的地。 对于此拨号对等方,将继承 Webex Calling 服务器(在租户 200 中定义)。

    voice-class stun-usage 200

    本地网关上的 STUN 绑定功能允许通过协商的媒体路径发送本地生成的 STUN 请求。 这有助于在防火墙中打开针孔。

    no voice-class sip localhost

    禁止在传出消息的 From、Call-ID 和 Remote-Party-ID 标头中用 DNS 本地主机名替换物理 IP 地址。

    voice-class sip tenant 200

    拨号对等方继承租户 200(LGW <--> Webex Calling 中继)中的所有参数,除非在拨号对等方本身之下定义了相同的参数。

    srtp

    已为此呼叫支线启用 SRTP。

    no vad

    禁用语音活动检测。

4

配置以下拨号对等方组 (DPG):

  1. 定义拨号对等方组 100。 出站拨号对等方 101 是调用拨号对等方组 100 的任何呼入拨号对等方的目标。 我们会将 DPG 100 应用到后面为 Webex Calling --> LGW --> PSTN 路径定义的呼入拨号对等方 200201。

    voice class dpg 100
     description Incoming WxC(DP200201) to IP PSTN(DP101)
     dial-peer 101 preference 1
    
  2. 定义拨号对等方组 200 (带有出站拨号对等方 200201)作为 PSTN --> LGW --> Webex Calling 路径的目标。 DPG 200 将应用于稍后定义的呼入拨号对等方 100。

    voice class dpg 200
     description Incoming IP PSTN(DP100) to Webex Calling(DP200201)
     dial-peer 200201 preference 1
    
5

配置以下入站拨号对等方:

  1. 呼入 IP PSTN 呼叫支线的入站拨号对等方:

    dial-peer voice 100 voip
     description Incoming dial-peer from PSTN
     session protocol sipv2
     destination dpg 200
     incoming uri via 100
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 300
     no vad
    

    命令说明

    dial-peer voice 100 voip
    description Incoming dial-peer from PSTN

    定义了一个带有 100 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    session protocol sipv2

    指定该拨号对等方将处理 SIP 呼叫支线。

    incoming uri via 100

    从 IP PSTN 到 LocalGW 的所有传入流量都将在语音类 URI 100 SIP 中定义的传入 VIA 标头的主机 IP 地址上进行匹配,以基于源 IP (ITSP) 地址进行匹配。

    destination dpg 200

    通过目的地 dpg 200,IOS-XE 绕过经典的出站拨号对等方匹配条件,而直接使用目的地拨号对等方组 200 中定义的拨号对等方(这将是拨号对等方 200201)来设置呼出呼叫支线。

    voice-class sip tenant 300

    拨号对等方将继承租户 300 中的所有参数,除非在拨号对等方本身下面定义了相同的参数。

    no vad

    禁用语音活动检测。

  2. 呼入 Webex Calling 呼叫支线的入站拨号对等方:

    dial-peer voice 200201 voip
     description Inbound/Outbound Webex Calling
     max-conn 250
     destination dpg 100
     incoming uri request 200
     

    命令说明

    dial-peer voice 200201 voip
    description Inbound/Outbound Webex Calling

    更新了一个带有 200201 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    incoming uri request 200

    Webex Calling 到 LGW 的所有传入流量都可以在请求 URI 中的唯一 dtg 模式上进行匹配,唯一地标识企业和 Webex Calling 生态系统中的本地网关站点。

    destination dpg 100

    通过目的地 dpg 100,IOS-XE 绕过经典的出站拨号对等方匹配条件,而直接使用目的地拨号对等方组 100 中定义的拨号对等方(这将是拨号对等方 101)来设置呼出呼叫支线。

    max-conn 250

    将 LGW 和 Webex Calling 之间的并发呼叫数限制为 250(假设单个拨号对等方对应 Webex Calling 入站和出站呼叫,如本指南中定义)。 有关涉及本地网关的并发呼叫限制的更多详细信息,请访问 https://www.cisco.com/c/dam/en/us/td/docs/solutions/PA/mcp/DEPLOYMENT_CALLING_Unified_CM_to_Webex_Calling.pdf

PSTN 到 Webex Calling

本地网关上的所有呼入 IP PSTN 呼叫支线都在拨号对等方 100 上进行匹配,因为它为 IP PSTN 的 IP 地址的 VIA 标头定义了匹配标准。 出站拨号对等方选择由 DPG 200 决定,它直接调用呼出拨号对等方 200201,后者将 Webex Calling 服务器列为目标目的地。

Webex Calling 到 PSTN

本地网关上的所有呼入 Webex Calling 呼叫支线都在拨号对等方 200201 上进行匹配,因为它符合 TrunkGroup OTG/DTG 参数的 REQUEST URI 标头模式的匹配条件,该模式是该本地网关部署所独有的。 出站拨号对等方选择由 DPG 100 决定,它直接调用呼出拨号对等方 101,后者将 IP PSTN IP 地址列为目标目的地。

对于此部署选项,本地网关上的以下配置是必需的:

  1. 语音类租户—您必须为面向 Unified CM 和 ITSP 的拨号对等方创建更多租户,其类似于租户 200(我们为面向 Webex Calling 的拨号对等方创建的)。

  2. 语音类 URI - 用于为终止于 LGW 的各种中继定义主机 IP 地址/端口的模式: 从 Unified CM 到 LGW(对于 PSTN 目的地);从 Unified CM 到 LGW(对于 Webex Calling 目的地);从 Webex Calling 到 LGW;PSTN SIP 中继终止于 LGW。

  3. 语音类服务器组—从 LGW 到 Unified CM、LGW 到 Webex Calling 以及 LGW 到 PSTN SIP 中继的出站中继目标 IP 地址/端口。

  4. 出站拨号对等方—将出站呼叫支线从 LGW 路由到 Unified CM、ITSP SIP 中继和/或 Webex Calling

  5. 语音类 DPG - 从入站拨号对等方调用的目标出站拨号对等方。

  6. 入站拨号对等方—接受来自 Unified CM、ITSP 和/或 Webex Calling 的入站呼叫支线。

1

配置以下语音类租户:

  1. 语音类租户 100 在面向 Unified CM 和 IP PSTN 的所有出站拨号对等方应用:

    voice class tenant 100 
      session transport udp
      url sip
      error-passthru
      bind control source-interface GigabitEthernet0/0/0
      bind media source-interface GigabitEthernet0/0/0
      no pass-thru content custom-sdp
    
  2. 语音类租户 300 将在来自 Unified CM 和 IP PSTN 的所有入站拨号对等方应用:

    voice class tenant 300 
      bind control source-interface GigabitEthernet0/0/0
      bind media source-interface GigabitEthernet0/0/0
      no pass-thru content custom-sdp
    
2

配置以下语音类 URI:

  1. 定义 ITSP 的主机 IP 地址:

    voice class uri 100 sip
      host ipv4:192.168.80.13
    
  2. 定义模式以基于 Control Hub 的 TrunkGroup OTG/DTG 参数在企业中唯一标识本地网关站点:

    voice class uri 200 sip
     pattern dtg=hussain2572.lgu
    

     

    本地网关目前不支持匹配模式中的下划线“_”。 解决办法是使用圆点“.” (匹配任意内容)来匹配“_”。

    Received
    INVITE sip:+16785550123@198.18.1.226:5061;transport=tls;dtg=hussain2572_lgu SIP/2.0
       Via: SIP/2.0/TLS 199.59.70.30:8934;branch=z9hG4bK2hokad30fg14d0358060.1
     pattern :8934
    
  3. 为 Webex Calling 中继定义 Unified CM 信令 VIA 端口:

    voice class uri 300 sip
     pattern :5065
    
  4. 为 PSTN 中继定义 CUCM 源信令 IP 和 VIA 端口:

    voice class uri 302 sip
     pattern 192.168.80.60:5060
    
3

配置以下语音类服务器组:

  1. 为 Unified CM 组 1(5 个节点)定义 Unified CM 中继的目标主机 IP 地址和端口号。 Unified CM 将端口 5065 用于 Webex Calling 中继上的入站流量 (Webex Calling <-> LGW --> Unified CM)。

    voice class server-group 301
     ipv4 192.168.80.60 port 5065
    
  2. 为 Unified CM 组 2 定义 Unified CM 中继的目标主机 IP 地址和端口号(如果适用):

    voice class server-group 303
     ipv4 192.168.80.60 port 5065
    
  3. 为 Unified CM 组 1(5 个节点)定义 Unified CM 中继的目标主机 IP 地址。 Unified CM 将缺省端口 5060 用于 PSTN 中继上的入站流量。 如果没有指定端口号,将使用缺省的 5060。(PSTN <-> LGW --> Unified CM)

    voice class server-group 305
     ipv4 192.168.80.60
    
  4. 为 Unified CM 组 2 定义 Unified CM 中继的目标主机 IP 地址(如果适用)。

    voice class server-group 307 
     ipv4 192.168.80.60
    
4

配置以下出站拨号对等方:

  1. 朝向 IP PSTN 的出站拨号对等方:

    dial-peer voice 101 voip 
     description Outgoing dial-peer to IP PSTN
     destination-pattern BAD.BAD
     session protocol sipv2
     session target ipv4:192.168.80.13
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 100
     no vad
    

    命令说明

    dial-peer voice 101 voip
    description Outgoing dial-peer to PSTN

    定义了一个带有 101 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    destination-pattern BAD.BAD

    允许选择该拨号对等方的数字模式。 但是,我们将使用 DPG 语句直接从入站拨号对等方调用此呼出拨号对等方,这会绕过数字模式匹配条件。 因此,我们使用了基于目的地模式 CLI 所允许的字母数字位的任意模式。

    session protocol sipv2

    指定该拨号对等方将处理 SIP 呼叫支线。

    session target ipv4:192.168.80.13

    指示目的地的目标 IPv4 地址,此呼叫支线将发送到该地址。(在本例中,为 ITSP 的 IP 地址。)

    voice-class codec 99

    表示将用于此拨号对等方的编解码器首选项列表 99 用于此拨号对等方。

    voice-class sip tenant 100

    拨号对等方将继承租户 100 中的所有参数,除非在拨号对等方本身下面定义了相同的参数。

  2. Webex Calling 的出站拨号对等方(此拨号对等方将被更新为来自 Webex Calling 的入站拨号对等方,稍后也会在配置指南中提供)。

    dial-peer voice 200201 voip
     description Inbound/Outbound Webex Calling
     destination-pattern BAD.BAD
     session protocol sipv2
     session target sip-server
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class stun-usage 200
     no voice-class sip localhost
     voice-class sip tenant 200
     srtp
     no vad
    

    命令说明

    dial-peer voice 200201 voip
     description Inbound/Outbound Webex Calling

    定义了一个带有 200201 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    session target sip-server

    表示全局 SIP 服务器是从该拨号对等方发起的呼叫的目的地。 对于此拨号对等方,将继承 Webex Calling 服务器(在租户 200 中定义)。

    voice-class stun-usage 200

    LGW 上的 STUN 绑定功能允许通过协商的媒体路径发送本地生成的 STUN 请求。 这有助于在防火墙中打开针孔。

    no voice-class sip localhost

    禁止在传出消息的 From、Call-ID 和 Remote-Party-ID 标头中用 DNS 本地主机名替换物理 IP 地址。

    voice-class sip tenant 200

    拨号对等方继承租户 200(LGW <--> Webex Calling 中继)中的所有参数,除非在拨号对等方本身之下定义了相同的参数。

    srtp

    已为此呼叫支线启用 SRTP。

  3. 朝向 Unified CM 的 Webex Calling 中继的出站拨号对等方:

    dial-peer voice 301 voip
     description Outgoing dial-peer to CUCM-Group-1 for 
    inbound from Webex Calling - Nodes 1 to 5
     destination-pattern BAD.BAD
     session protocol sipv2
     session server-group 301
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 100
     no vad
    

    命令说明

    dial-peer voice 301 voip
    description Outgoing dial-peer to CUCM-Group-1 for 
    inbound from Webex Calling – Nodes 1 to 5

    定义了一个带有 301 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    session server-group 301

    我们不会指向拨号对等方中的会话目标 IP,而是指向目的地服务器组(用于拨号对等方 301 的服务器组 301),以定义多个目标 UCM 节点,尽管该示例仅显示单个节点。

    出站拨号对等方中的服务器组

    通过 DPG 中的多个拨号对等方以及拨号对等方服务器组中的多个服务器,我们可以根据定义的首选项在所有 Unified CM 呼叫处理订户或寻线中实现随机呼叫分发。 每个服务器组可以有最多五台服务器(带有或不带端口的 IPv4/v6)。 仅在使用五个以上的呼叫处理订户时,才需要第二个拨号对等方和第二个服务器组。

    请参阅 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube/configuration/cube-book/multiple-server-groups.html 以获取更多信息。

  4. 朝向 Unified CM 的 Webex Calling 中继的第二个出站拨号对等方(如果您有五个以上的 Unified CM 节点):

    dial-peer voice 303 voip
     description Outgoing dial-peer to CUCM-Group-2 
    for inbound from Webex Calling - Nodes 6 to 10
     destination-pattern BAD.BAD
     session protocol sipv2
     session server-group 303
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 100
     no vad
  5. 朝向 Unified CM 的 PSTN 中继的出站拨号对等方:

    dial-peer voice 305 voip
     description Outgoing dial-peer to CUCM-Group-1 
    for inbound from PSTN - Nodes 1 to 5
     destination-pattern BAD.BAD
     session protocol sipv2
     session server-group 305
     voice-class codec 99 
     dtmf-relay rtp-nte
     voice-class sip tenant 100
     no vad
    
  6. 朝向 Unified CM 的 PSTN 中继的第二个出站拨号对等方(如果您有五个以上的 Unified CM 节点):

    dial-peer voice 307 voip
     description Outgoing dial-peer to CUCM-Group-2 
    for inbound from PSTN - Nodes 6 to 10
     destination-pattern BAD.BAD
     session protocol sipv2
     session server-group 307
     voice-class codec 99  
     dtmf-relay rtp-nte
     voice-class sip tenant 100
     no vad
    
5

配置以下 DPG:

  1. 定义 DPG 100。 出站拨号对等方 101 是调用拨号对等方组 100 的任何呼入拨号对等方的目标。 我们会将 DPG 100 应用到后面为 Unified CM --> LGW --> PSTN 路径定义的呼入拨号对等方 302:

    voice class dpg 100
     dial-peer 101 preference 1
    
  2. 定义 DPG 200 (带有出站拨号对等方 200201)作为 Unified CM --> LGW --> Webex Calling 路径的目标:

    voice class dpg 200
     dial-peer 200201 preference 1
    
  3. 定义 DPG 300 以用于出站拨号对等方 301 或 303(针对 Webex Calling --> LGW --> Unified CM 路径):

    voice class dpg 300
     dial-peer 301 preference 1
     dial-peer 303 preference 1
    
  4. 定义 DPG 302 以用于出站拨号对等方 305 或 307(针对 PSTN --> LGW --> Unified CM 路径):

    voice class dpg 302
     dial-peer 305 preference 1
     dial-peer 307 preference 1
    
6

配置以下入站拨号对等方:

  1. 呼入 IP PSTN 呼叫支线的入站拨号对等方:

    dial-peer voice 100 voip
     description Incoming dial-peer from PSTN
     session protocol sipv2
     destination dpg 302
     incoming uri via 100
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 300
     no vad
    

    命令说明

    dial-peer voice 100 voip
    description Incoming dial-peer from PSTN

    定义了一个带有 100 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    session protocol sipv2

    指定该拨号对等方将处理 SIP 呼叫支线。

    incoming uri via 100

    从 IP PSTN 到 LGW 的所有传入流量都将在语音类 URI 100 SIP 中定义的传入 VIA 标头的主机 IP 地址上进行匹配,以基于源 IP (ITSP) 地址进行匹配。

    destination dpg 302

    通过目的地 DPG 302,IOS-XE 绕过经典的出站拨号对等方匹配条件,而直接使用目的地 DPG 302 中定义的拨号对等方(可以是拨号对等方 305 或拨号对等方 307)来设置呼出呼叫支线。

    voice-class sip tenant 300

    拨号对等方将继承租户 300 中的所有参数,除非在拨号对等方本身下面定义了相同的参数。

  2. 呼入 Webex Calling 呼叫支线的入站拨号对等方:

    dial-peer voice 200201 voip
     description Inbound/Outbound Webex Calling
     max-conn 250
     destination dpg 300
     incoming uri request 200
     

    命令说明

    dial-peer voice 200201 voip
    description Inbound/Outbound Webex Calling

    更新了一个带有 200201 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    incoming uri request 200

    Webex Calling 到 LGW 的所有传入流量都可以在请求 URI 中的唯一 dtg 模式上进行匹配,唯一地标识企业和 Webex Calling 生态系统中的本地网关站点。

    destination dpg 300

    通过目的地 DPG 300,IOS-XE 绕过经典的出站拨号对等方匹配条件,而直接使用目的地 DPG 300 中定义的拨号对等方(可以是拨号对等方 301 或拨号对等方 303)来设置呼出呼叫支线。

    max-conn 250

    将 LGW 和 Webex Calling 之间的并发呼叫数限制为 250(假设单个拨号对等方对应 Webex Calling 入站和出站呼叫,如本指南中定义)。 有关涉及本地网关的并发呼叫限制的更多详细信息,请访问 https://www.cisco.com/c/dam/en/us/td/docs/solutions/PA/mcp/DEPLOYMENT_CALLING_Unified_CM_to_Webex_Calling.pdf

  3. Webex Calling 作为目的地的呼入 Unified CM 呼叫支线的入站拨号对等方:

    dial-peer voice 300 voip
     description Incoming dial-peer from CUCM for Webex Calling
     session protocol sipv2
     destination dpg 200
     incoming uri via 300
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 300
     no vad
    

    命令说明

    dial-peer voice 300 voip
    description Incoming dial-peer from CUCM for Webex Calling

    定义了一个带有 300 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    incoming uri via 300

    从 Unified CM 到 LGW 的所有传入流量都在语音类 URI 300 SIP 中定义的 via 源端口 (5065) 上进行匹配。

    destination dpg 200

    通过目的地 DPG 200,IOS-XE 绕过经典的出站拨号对等方匹配条件,而直接使用目的地 DPG 200 中定义的拨号对等方(这将是拨号对等方 200201)来设置呼出呼叫支线。

    voice-class sip tenant 300

    拨号对等方将继承租户 300 中的所有参数,除非在拨号对等方本身下面定义了相同的参数。

  4. 以 PSTN 作为目的地的呼入 Unified CM 呼叫支线的入站拨号对等方:

    dial-peer voice 302 voip
     description Incoming dial-peer from CUCM for PSTN
     session protocol sipv2
     destination dpg 100
     incoming uri via 302
     voice-class codec 99
     dtmf-relay rtp-nte
     voice-class sip tenant 300
     no vad
    

    命令说明

    dial-peer voice 302 voip
    description Incoming dial-peer from CUCM for PSTN

    定义了一个带有 302 标记的网络语音拨号对等方,并提供了有意义的描述以方便管理和故障排除。

    incoming uri via 302

    PSTN 目的地从 Unified CM 到 LGW 的所有传入流量都在语音类 URI 302 SIP 中定义的 Unified CM 源信令 IP 地址和 VIA 端口上进行匹配。 将使用标准 SIP 端口 5060。

    destination dpg 100

    通过目的地 DPG 100,IOS-XE 绕过经典的出站拨号对等方匹配条件,而直接使用目的地 DPG 100 中定义的拨号对等方(这将是拨号对等方 101)来设置呼出呼叫支线。

    voice-class sip tenant 300

    拨号对等方将继承租户 300 中的所有参数,除非在拨号对等方本身下面定义了相同的参数。

IP PSTN 到 Unified CM PSTN 中继

Webex Calling 平台到 Unified CM Webex Calling 中继

Unified CM PSTN 中继到 IP PSTN

Unified CM Webex Calling 中继到 Webex Calling 平台

诊断签名 (DS) 会主动检测基于 IOS XE 的本地网关中的常见问题,并生成事件的电子邮件、系统日志或终端消息通知。 也可以安装 DS 自动收集诊断数据,并将收集到的数据转移到 Cisco TAC 案例,从而加快解决时间。

诊断签名 (DS) 是 XML 文件,其中包含有关问题触发事件的信息以及待执行的问题通知、问题诊断和问题修复操作。 通过系统日志消息、SNMP 事件并通过定期监控特定的 show 命令输出定义问题检测逻辑。 操作类型包括收集 show 命令输出、生成合并的日志文件以及将文件上传至用户提供的网络位置(例如 HTTPS、SCP、FTP 服务器)。 DS 文件由 TAC 工程师编写,并进行数字签名以提供完整性保护。 每个 DS 文件都有系统分配的唯一数字标识。 诊断签名查找工具 (DSLT) 是单一信息源,可查找用于监控和排查各种问题的适用签名。

准备工作:

  • 请勿编辑从 DSLT 下载的 DS 文件。 由于完整性检查错误,修改后的文件将无法安装。

  • 本地网关需要使用简单邮件传输协议 (SMTP) 服务器才能发送电子邮件通知。

  • 如果要使用安全 SMTP 服务器发送电子邮件通知,请确保本地网关运行的 IOS XE 版本为 17.3.2 或更高版本。

必要条件

运行 IOS XE 17.3.2 或更高版本的本地网关

  1. 缺省情况下诊断签名处于启用状态。

  2. 将安全电子邮件服务器配置为当设备运行的是 IOS XE 17.3.2 或更高版本时发送主动通知。

    
    LocalGateway#configure terminal 
    LocalGateway(config)#call-home  
    LocalGateway(cfg-call-home)#mail-server <username>:<pwd>@<email server> priority 1 secure tls 
    LocalGateway(config)#end 
  3. 使用要接收通知的管理员电子邮件地址配置环境变量 ds_email

    
    LocalGateway#configure terminal 
    LoclGateway(config)#call-home  
    LocalGateway(cfg-call-home)#diagnostic-signature 
    LocalGateway(cfg-call-home-diag-sign)environment ds_email <email address> 
    LocalGateway(config)#end 

运行 IOS XE 16.11.1 或更高版本的本地网关

  1. 缺省情况下诊断签名处于启用状态。

  2. 将电子邮件服务器配置为当设备运行的版本低于 17.3.2 时发送主动通知。

    
    LocalGateway#configure terminal 
    LocalGateway(config)#call-home  
    LocalGateway(cfg-call-home)#mail-server  <email server> priority 1 
    LocalGateway(config)#end 
    
  3. 使用要接收通知的管理员电子邮件地址配置环境变量 ds_email

    
    LocalGateway#configure terminal 
    LoclGateway(config)#call-home  
    LocalGateway(cfg-call-home)#diagnostic-signature 
    LocalGateway(cfg-call-home-diag-sign)environment ds_email <email address> 
    LocalGateway(config)#end 
    

运行 16.9.x 版本的本地网关

  1. 输入以下命令可启用“诊断签名”。

    
    LocalGateway#configure terminal 
    LocalGateway(config)#call-home reporting contact-email-addr sch-smart-licensing@cisco.com  
    LocalGateway(config)#end  
  2. 将电子邮件服务器配置为当设备运行的版本低于 17.3.2 时发送主动通知。

    
    LocalGateway#configure terminal 
    LocalGateway(config)#call-home  
    LocalGateway(cfg-call-home)#mail-server  <email server> priority 1 
    LocalGateway(config)#end 
  3. 使用要接收通知的管理员电子邮件地址配置环境变量 ds_email

    
    LocalGateway#configure terminal 
    LoclGateway(config)#call-home  
    LocalGateway(cfg-call-home)#diagnostic-signature 
    LocalGateway(cfg-call-home-diag-sign)environment ds_email <email address> 
    LocalGateway(config)#end 

以下示例将本地网关(运行 IOS XE 17.3.2)配置为使用 Gmail 作为安全 SMTP 服务器向 tacfaststart@gmail.com 发送主动通知:


call-home
mail-server tacfaststart:password@smtp.gmail.com priority 1 secure tls
diagnostic-signature
environment ds_email "tacfaststart@gmail.com"

运行 IOS XE 软件的本地网关不是典型的基于 Web 且支持 OAuth 的 Gmail 客户端,因此我们需要配置特定的 Gmail 帐户设置并提供特定权限才能正确处理设备发出的电子邮件:

  1. 转至管理 Google 帐户 > 安全性,然后开启访问安全性较低的应用程序设置。

  2. 收到 Gmail 发出的一封电子邮件,其中表示“Google 禁止某人使用非 Google 应用程序登录您的帐户”时,回答“是的,那就是我”。

安装用于主动监控的诊断签名

监控 CPU 占用率是否过高

此 DS 使用 SNMP OID 1.3.6.1.4.1.9.2.1.56 跟踪 5 秒内的 CPU 占用率。 如果占用率达到 75% 或以上,将禁用所有调试并卸载安装在本地网关中的所有诊断签名。 请根据以下步骤安装签名。

  1. 确保使用 show snmp 命令启用 SNMP。 如果 SNMP 未处于启用状态,请配置“snmp-server manager”命令。

    
    LocalGateway# show snmp 
    %SNMP agent not enabled 
    LocalGateway# 
    
    LocalGateway# 
    LocalGateway# config t 
    LocalGateway(config)# snmp-server manager 
    LocalGateway(config)#end 
    LocalGateway# 
    
    LocalGateway# show snmp 
    Chassis: ABCDEFGHIGK 
    149655 SNMP packets input 
        0 Bad SNMP version errors 
        1 Unknown community name 
        0 Illegal operation for community name supplied 
        0 Encoding errors 
        37763 Number of requested variables 
        2 Number of altered variables 
        34560 Get-request PDUs 
        138 Get-next PDUs 
        2 Set-request PDUs 
        0 Input queue packet drops (Maximum queue size 1000) 
    158277 SNMP packets output 
        0 Too big errors (Maximum packet size 1500) 
        20 No such name errors 
        0 Bad values errors 
        0 General errors 
        7998 Response PDUs 
        10280 Trap PDUs 
    Packets currently in SNMP process input queue: 0 
    SNMP global trap: enabled 
    .... 
    .... 
    LocalGateway# 
  2. 使用下列诊断签名查找工具中的下拉选项下载 DS 64224:

    
    LocalGateway# copy ftp://username:password@<server name or ip>/DS_64224.xml bootflash:

    字段名

    字段值

    平台

    Cisco 4300、4400 ISR 系列Cisco CSR 1000V 系列

    产品

    Webex Calling 解决方案中的 CUBE 企业版

    问题范围

    性能

    问题类型

    “电子邮件通知”的 CPU 占用率过高

  3. 将 DS XML 文件复制到本地网关 flash 中。

    
    LocalGateway# copy ftp://username:password@<server name or ip>/DS_64224.xml bootflash:

    以下是将文件从 FTP 服务器复制到本地网关的示例。

    
    LocalGateway# copy ftp://user:pwd@192.0.2.12/DS_64224.xml bootflash: 
    Accessing ftp://*:*@ 192.0.2.12/DS_64224.xml...! 
    [OK - 3571/4096 bytes] 
    3571 bytes copied in 0.064 secs (55797 bytes/sec) 
    LocalGateway # 
  4. 在本地网关中安装 DS XML 文件。

    
    LocalGateway# call-home diagnostic-signature load DS_64224.xml 
    Load file DS_64224.xml success 
    LocalGateway# 
  5. 验证已使用 show call-home diagnostic-signature 成功安装签名。 状态栏中应该存在“已注册”值。

    
    LocalGateway# show call-home diagnostic-signature  
    Current diagnostic-signature settings: 
     Diagnostic-signature: enabled 
     Profile: CiscoTAC-1 (status: ACTIVE) 
     Downloading  URL(s):  https://tools.cisco.com/its/service/oddce/services/DDCEService 
     Environment variable: 
               ds_email: username@gmail.com 

    Download DSes:

    DS ID

    DS Name

    Revision

    Status

    Last Update (GMT+00:00)

    64224

    DS_LGW_CPU_MON75

    0.0.10

    Registered

    2020-11-07 22:05:33

    LocalGateway#


    触发后,此签名将卸载包括本身在内的所有正在运行的 DS。 如果需要,请重新安装 DS 64224,以便继续监控本地网关上的 CPU 占用率是否过高。

监控 SIP 中继注册

此 DS 每 60 秒检查一次 Cisco Webex Calling 云的本地网关 SIP 中继是否取消注册。 检测到取消注册事件后,DS 会生成电子邮件和系统日志通知,并在两次取消注册之后自行卸载。 请根据以下步骤安装签名。

  1. 使用下列诊断签名查找工具中的下拉选项下载 DS 64117:

    字段名

    字段值

    平台

    Cisco 4300、4400 ISR 系列Cisco CSR 1000V 系列

    产品

    Webex Calling 解决方案中的 CUBE 企业版

    问题范围

    SIP-SIP

    问题类型

    “电子邮件通知”的 SIP 中继取消注册

  2. 将 DS XML 文件复制到本地网关。

    
    LocalGateway# copy ftp://username:password@<server name or ip>/DS_64117.xml bootflash:
  3. 在本地网关中安装 DS XML 文件。

    
    LocalGateway# call-home diagnostic-signature load DS_64117.xml 
    Load file DS_64117.xml success 
    LocalGateway#  
  4. 验证已使用 show call-home diagnostic-signature 成功安装签名。 状态栏中应该存在“已注册”值。

监控异常呼叫断开连接

该 DS 每 10 分钟使用一次 SNMP 轮询,检测 SIP 错误代码为 403、488 和 503 的异常呼叫断开连接。  如果上次轮询中的错误计数增量大于或等于 5,DS 将生成系统日志和电子邮件通知。 请根据以下步骤安装签名。

  1. 检查是否已使用 show snmp 命令启用 SNMP。 如果 SNMP 未处于启用状态,请配置“snmp-server manager”命令。

    
    LocalGateway# show snmp 
    %SNMP agent not enabled 
    LocalGateway# 
    
    LocalGateway# 
    LocalGateway# config t 
    LocalGateway(config)# snmp-server manager 
    LocalGateway(config)#end 
    LocalGateway# 
    
    LocalGateway# show snmp 
    Chassis: ABCDEFGHIGK 
    149655 SNMP packets input 
        0 Bad SNMP version errors 
        1 Unknown community name 
        0 Illegal operation for community name supplied 
        0 Encoding errors 
        37763 Number of requested variables 
        2 Number of altered variables 
        34560 Get-request PDUs 
        138 Get-next PDUs 
        2 Set-request PDUs 
        0 Input queue packet drops (Maximum queue size 1000) 
    158277 SNMP packets output 
        0 Too big errors (Maximum packet size 1500) 
        20 No such name errors 
        0 Bad values errors 
        0 General errors 
        7998 Response PDUs 
        10280 Trap PDUs 
    Packets currently in SNMP process input queue: 0 
    SNMP global trap: enabled 
    .... 
    .... 
    LocalGateway# 
  2. 使用诊断签名查找工具中的下列选项下载 DS 65221:

    字段名

    字段值

    平台

    Cisco 4300、4400 ISR 系列Cisco CSR 1000V 系列

    产品

    Webex Calling 解决方案中的 CUBE 企业版

    问题范围

    性能

    问题类型

    “电子邮件通知”和“系统日志通知”的 SIP 异常呼叫断开连接检测

  3. 将 DS XML 文件复制到本地网关。

    
    LocalGateway# copy ftp://username:password@<server name or ip>/DS_65221.xml bootflash:
  4. 在本地网关中安装 DS XML 文件。

    
    LocalGateway# call-home diagnostic-signature load DS_65221.xml 
    Load file DS_65221.xml success 
    LocalGateway# 
  5. 验证已使用 show call-home diagnostic-signature 成功安装签名。 状态栏中应该存在“已注册”值。

安装“诊断签名”对问题进行故障诊断

诊断签名 (DS) 还可用于快速解决问题。 Cisco TAC 工程师已编写若干签名,这些签名支持对给定问题进行故障诊断、检测问题发生次数、收集相应的诊断数据集以及将数据自动转移到 Cisco TAC 案例所需的调试。 无需手动检查问题发生次数,并可轻松对间歇性和暂时性问题进行故障诊断。

您可以使用诊断签名查找工具查找适用的签名并进行安装,从而自行解决既定问题,也可以安装 TAC 工程师提供支持服务时建议的签名。

以下示例说明了如何查找和安装 DS 以检测是否存在“%VOICE_IEC-3-GW: CCAPI: Internal Error (call spike threshold): IEC=1.1.181.1.29.0”系统日志,并根据以下所示步骤自动收集诊断数据。

  1. 配置其他 DS 环境变量 ds_fsurl_prefix,该变量是收集的诊断数据上传到的 CiscoTAC 文件服务器路径 (cxd.cisco.com)。 可按如下所示通过支持案例管理器找回用户名和密码,文件路径中的用户名是案例编号,密码是文件上传令牌。 如果需要,可以在“支持案例管理器”的附件部分中生成文件上传令牌。

    
    LocalGateway#configure terminal 
    LocalGateway(config)#call-home  
    LocalGateway(cfg-call-home)#diagnostic-signature 
    LocalGateway(cfg-call-home-diag-sign)environment ds_fsurl_prefix "scp://<case number>:<file upload token>@cxd.cisco.com"  
    LocalGateway(config)#end 

    例如:

    
    call-home  
    diagnostic-signature 
    environment ds_fsurl_prefix " environment ds_fsurl_prefix "scp://612345678:abcdefghijklmnop@cxd.cisco.com"  
  2. 确保使用 show snmp 命令启用 SNMP。 如果 SNMP 未处于启用状态,请配置“snmp-server manager”命令。

    
    LocalGateway# show snmp 
    %SNMP agent not enabled 
    LocalGateway# 
     
    LocalGateway# 
    LocalGateway# config t 
    LocalGateway(config)# snmp-server manager 
    LocalGateway(config)#end 
    LocalGateway# 
  3. 建议安装 DS 64224 以监控 CPU 占用率是否过高,在 CPU 占用率过高期间将此作为禁用所有调试和诊断签名的主动措施。 使用诊断签名查找工具中的下列选项下载 DS 64224:

    字段名

    字段值

    平台

    Cisco 4300、4400 ISR 系列或 Cisco CSR 1000V 系列

    产品

    Webex Calling 解决方案中的 CUBE 企业版

    问题范围

    性能

    问题类型

    “电子邮件通知”的 CPU 占用率过高

  4. 使用诊断签名查找工具中的下列选项下载 DS 65095:

    字段名

    字段值

    平台

    Cisco 4300、4400 ISR 系列或 Cisco CSR 1000V 系列

    产品

    Webex Calling 解决方案中的 CUBE 企业版

    问题范围

    系统日志

    问题类型

    系统日志 - %VOICE_IEC-3-GW: CCAPI: Internal Error (Call spike threshold): IEC=1.1.181.1.29.0

  5. 将 DS XML 文件复制到本地网关。

    
    LocalGateway# copy ftp://username:password@<server name or ip>/DS_64224.xml bootflash: 
    LocalGateway# copy ftp://username:password@<server name or ip>/DS_65095.xml bootflash: 
  6. 安装 DS 64224 以监控 CPU 占用率是否过高,然后在本地网关中安装 DS 65095 XML 文件。

    
    LocalGateway# call-home diagnostic-signature load DS_64224.xml 
    Load file DS_64224.xml success 
    LocalGateway# 
    LocalGateway# call-home diagnostic-signature load DS_65095.xml 
    Load file DS_65095.xml success 
    LocalGateway# 
  7. 验证已使用 show call-home diagnostic-signature 成功安装签名。 状态栏中应该存在“已注册”值。

    
    LocalGateway# show call-home diagnostic-signature  
    Current diagnostic-signature settings: 
     Diagnostic-signature: enabled 
     Profile: CiscoTAC-1 (status: ACTIVE) 
     Downloading  URL(s):  https://tools.cisco.com/its/service/oddce/services/DDCEService 
     Environment variable: 
               ds_email: username@gmail.com 
               ds_fsurl_prefix: scp://612345678:abcdefghijklmnop@cxd.cisco.com 

    Downloaded DSes:

    DS ID

    DS Name

    Revision

    Status

    Last Update (GMT+00:00)

    64224

    0:07:45

    DS_LGW_CPU_MON75

    0.0.10

    Registered

    2020-11-08:00:07:45

    65095

    0:12:53

    DS_LGW_IEC_Call_spike_threshold

    0.0.12

    Registered

    2020-11-08:0:12:53

    LocalGateway#

验证诊断签名执行情况

如下所示,当本地网关执行签名中定义的操作时,命令 show call-home diagnostic-signature 的“状态”列将更改为“正在运行”。 show call-home diagnostic-signature statistics 的输出是验证诊断签名是否已检测到关注的事件以及是否已执行操作的最佳办法。 “已触发次数/上限/卸载”列用于指示给定签名已触发事件的次数、为检测事件所定义的次数上限以及检测到触发事件数上限之后签名是否会自动自行卸载。


LocalGateway# show call-home diagnostic-signature  
Current diagnostic-signature settings: 
 Diagnostic-signature: enabled 
 Profile: CiscoTAC-1 (status: ACTIVE) 
 Downloading  URL(s):  https://tools.cisco.com/its/service/oddce/services/DDCEService 
 Environment variable: 
           ds_email: carunach@cisco.com 
           ds_fsurl_prefix: scp://612345678:abcdefghijklmnop@cxd.cisco.com 

Downloaded DSes:

DS ID

DS Name

Revision

Status

Last Update (GMT+00:00)

64224

DS_LGW_CPU_MON75

0.0.10

Registered

2020/11/8 0:07:45

65095

DS_LGW_IEC_Call_spike_threshold

0.0.12

Running

2020/11/8 0:12:53

LocalGateway#

LocalGateway# show call-home diagnostic-signature statistics

DS ID

DS Name

Triggered/Max/Deinstall

Average Run Time (seconds)

Max Run Time (seconds)

64224

DS_LGW_CPU_MON75

0/0/N

0.000

0.000

65095

DS_LGW_IEC_Call_spike_threshold

1/20/Y

23.053

23.053

LocalGateway#

诊断签名执行期间发送的通知电子邮件包含与给定问题故障诊断相关的主要信息,例如:问题类型、设备详细信息、软件版本、运行配置和 show 命令输出。

卸载诊断签名

用于故障诊断的诊断签名通常定义为在检测到一定数量的问题后进行卸载。 如果要手动卸载签名,请通过 show call-home diagnostic-signature 的输出找回 DS ID,然后运行下面所示的命令。


LocalGateway# call-home diagnostic-signature deinstall <DS ID> 
LocalGateway# 

例如:


LocalGateway# call-home diagnostic-signature deinstall 64224 
LocalGateway# 

根据部署中常见的问题,定期将新签名添加到“诊断签名查找工具”中。 TAC 当前不支持新建自定义签名的请求。