基礎

先決條件

在將 CUBE HA 部署為 Webex Calling 的本機閘道之前,請確保您已深入瞭解下列概念:

本文中提供的設定指導方針採用專用的本機閘道平台,且未設定任何現有的語音。 如果正在修改現有的 CUBE 企業部署以同時針對 Cisco Webex Calling 利用本機閘道功能,請密切注意已套用的設定,以確保現有的通話流程和功能不會中斷,並確保符合 CUBE HA 的設計需求。

軟硬體元件

CUBE HA 即本機閘道需要 IOS-XE 16.12.2 版或更高版本以及一個同時支援 CUBE HA 和 LGW 功能的平台。


本文中的顯示指令和日誌基於在 vCUBE (CSR1000v) 上實作的最低軟體版本 Cisco IOS-XE 16.12.2。

參考資料

以下是針對各種平台的一些詳細的 CUBE HA 設定指南:

Webex Calling 解決方案概觀

Cisco Webex Calling 是一種協同作業產品,該產品會為內部部署 PBX 電話服務提供多租戶雲端型替代方案,並為客戶提供多個 PSTN 選項。

本機閘道部署(如下所示)是本文的重點。 使用 Webex Calling 中的本機閘道(內部部署型 PSTN)幹線可以連線至客戶擁有的 PSTN 服務。 它還會提供與內部部署 IP PBX 部署(例如 Cisco Unified CM)的連線。 透過針對 SIP 使用 TLS 傳輸和針對媒體使用 SRTP,進出雲端的所有通訊都會得到保護。

下圖顯示的 Webex Calling 部署不包含任何現有的 IP PBX,適用於單一或多網站部署。 本文所述的設定基於此部署。

第二層裝置到裝置備援

CUBE HA 第二層裝置到裝置備援使用備援群組 (RG) 基礎結構通訊協定來形成作用中/待命路由器配對。 此配對在其各自的介面之間共用相同的虛擬 IP 位址 (VIP),並持續交換狀態訊息。 在路由器配對之間對 CUBE 階段作業資訊進行抽點檢查,使待命路由器能夠在作用中路由器無法服務時,立即接管所有 CUBE 通話處理職責,從而產生具狀態的訊號和媒體保留。


抽點檢查僅限於帶有媒體封包的連線通話。 不會對傳輸中的通話進行抽點檢查(例如,正在聯絡或正在響鈴狀態)。

在本文中,CUBE HA 是指針對具狀態呼叫保留的 CUBE 高可用性 (HA) 第二層裝置到裝置 (B2B) 備援

從 IOS-XE 16.12.2 開始,可以將 CUBE HA 部署為 Cisco Webex Calling 幹線(內部部署型 PSTN)的本機閘道,本文將對設計注意事項和設定進行介紹。 此圖顯示的是作為 Cisco Webex Calling 幹線部署之本機閘道的一般 CUBE HA 設定。

備援群組基礎結構元件

備援群組 (RG) 基礎結構元件會提供兩個 CUBE 之間的裝置到裝置通訊基礎結構支援,並協商最終穩定的備援狀態。 此元件還會提供:

  • 一個與 HSRP 類似的通訊協定,可透過在兩個 CUBE 之間交換 keepalive 和 hello 訊息,來協商每個路由器的最終備援狀態(透過控制介面)— 上圖中的 GigabitEthernet3。

  • 一種傳輸機制,用於對從作用中到待命路由器的每個通話的訊號和媒體狀態進行抽點檢查(透過資料介面)— 上圖中的 GigabitEthernet3。

  • 流量介面的虛擬 IP (VIP) 介面設定和管理(可以使用相同的 RG 群組設定多個流量介面)— GigabitEthernet 1 和 2 被視為流量介面。

必須專門設定此 RG 元件才能支援語音 B2B HA。

訊號和媒體的虛擬 IP (VIP) 位址管理

B2B HA 依賴於 VIP 來實現備援。 CUBE HA 配對中兩個 CUBE 上的 VIP 和關聯的實體介面必須駐留在相同的 LAN 子網路上。 必須設定 VIP 並將 VIP 介面連結至特定語音應用程式 (SIP),才能支援語音 B2B HA。 外部裝置(例如,Unified CM、Webex Calling 存取 SBC、服務提供者或 Proxy)使用 VIP 作為遍訪 CUBE HA 路由器之通話的目的地 IP 位址。 因此,從 Webex Calling 的視角來看,CUBE HA 配對可充當單一的本機閘道。

從作用中路由器到待命路由器對已建立通話的通話訊號和 RTP 階段作業資訊進行抽點檢查。 當作用中路由器關閉時,待命路由器即會接管,並繼續轉發先前由第一個路由器路由的 RTP 串流。

轉換後不會保留在容錯移轉時處於暫時狀態的通話。 例如,未完全建立的通話或正在使用 transfer 或 hold 函數修改的通話。 已建立的通話在轉換後可能會中斷連線。

針對具狀態的通話容錯移轉使用 CUBE HA 作為本機閘道存在下列需求:

  • CUBE HA 不能讓 TDM 或類比介面位於一處

  • Gig1 和 Gig2 被稱為流量 (SIP/RTP) 介面,而 Gig3 是備援群組 (RG) 控制/資料介面

  • 在同一個第二層網域中不能放置 2 個以上的 CUBE HA 配對,一個群組 id 為 1,另一個群組 id 為 2。 如果使用相同的群組 id 設定 2 個 HA 配對,則 RG 控制/資料介面必須屬於不同的第二層網域(vlan,單獨的交換器)

  • RG 控制/資料和流量介面都支援連接埠通道

  • 所有訊號/媒體都會進出虛擬 IP 位址

  • 每當在 CUBE-HA 關係中重新載入某個平台時,它總是作為「待命」啟動

  • 所有介面(Gig1、Gig2、Gig3)的較低位址應位於相同的平台上

  • 備援介面識別元 (rii ) 對同一個第二層上的配對/介面組合來說,應該是唯一的

  • 兩個 CUBE 上的設定(包括實體設定)必須相同,且必須在相同的平台類型和 IOS-XE 版本上執行

  • 回送介面不能用作連結,因為它們始終處於開啟狀態

  • 多個流量 (SIP/RTP) 介面(Gig1、Gig2)要求設定介面追蹤

  • 在 RG 控制/資料鏈結 (Gig3) 的交叉纜線連線上不支援 CUBE-HA

  • 兩個平台必須相同,且必須跨所有類似介面透過 實體交換器 進行連線以便 CUBE HA 能夠運作,例如,CUBE-1 和 CUBE-2 的 GE0/0/0 必須位於相同的交換器上等等。

  • 不能直接在 CUBE 上終止 WAN,也不能在任何一端終止資料 HA

  • 作用中/待命都必須位於相同的資料中心內

  • 必須針對備援(RG 控制/資料,Gig3)使用單獨的 L3 介面,亦即,用於流量的介面不能用於 HA keepalive 和抽點檢查

  • 在容錯移轉時,先前作用中的 CUBE 會依據設計完成重新載入,從而保留訊號和媒體

在兩個 CUBE 上設定備援

您必須在要在 HA 配對中使用的兩個 CUBE 上設定第二層裝置到裝置備援,以開啟虛擬 IP。

1

在全域層級設定介面追蹤,以追蹤介面的狀態。

conf t
 track 1 interface GigabitEthernet1 line-protocol
 track 2 interface GigabitEthernet2 line-protocol
 exit
VCUBE-1#conf t
VCUBE-1(config)#track 1 interface GigabitEthernet1 line-protocol
VCUBE-1(config-track)#track 2 interface GigabitEthernet2 line-protocol
VCUBE-1(config-track)#exit
VCUBE-2#conf t
VCUBE-2(config)#track 1 interface GigabitEthernet1 line-protocol
VCUBE-2(config-track)#track 2 interface GigabitEthernet2 line-protocol
VCUBE-2(config-track)#exit

在 RG 中使用追蹤 CLI 來追蹤語音流量介面狀態,這樣在流量介面關閉後,作用中路由就會相當活躍。

2

在應用程式備援子模式下,設定 RG 以用於 VoIP HA。

redundancy
  application redundancy
   group 1
    name LocalGateway-HA
    priority 100 failover threshold 75
    control GigabitEthernet3 protocol 1
    data GigabitEthernet3
    timers delay 30 reload 60
    track 1 shutdown
    track 2 shutdown
    exit
   protocol 1
    timers hellotime 3 holdtime 10
   exit
  exit
 exit
VCUBE-1(config)#redundancy
VCUBE-1(config-red)#application redundancy
VCUBE-1(config-red-app)#group 1
VCUBE-1(config-red-app-grp)#name LocalGateway-HA
VCUBE-1(config-red-app-grp)#priority 100 failover threshold 75
VCUBE-1(config-red-app-grp)#control GigabitEthernet3 protocol 1
VCUBE-1(config-red-app-grp)#data GigabitEthernet3
VCUBE-1(config-red-app-grp)#timers delay 30 reload 60
VCUBE-1(config-red-app-grp)#track 1 shutdown
VCUBE-1(config-red-app-grp)#track 2 shutdown
VCUBE-1(config-red-app-grp)#exit
VCUBE-1(config-red-app)#protocol 1
VCUBE-1(config-red-app-prtcl)#timers hellotime 3 holdtime 10
VCUBE-1(config-red-app-prtcl)#exit
VCUBE-1(config-red-app)#exit
VCUBE-1(config-red)#exit
VCUBE-1(config)#
VCUBE-2(config)#redundancy
VCUBE-2(config-red)#application redundancy
VCUBE-2(config-red-app)#group 1
VCUBE-2(config-red-app-grp)#name LocalGateway-HA
VCUBE-2(config-red-app-grp)#priority 100 failover threshold 75
VCUBE-2(config-red-app-grp)#control GigabitEthernet3 protocol 1
VCUBE-1(config-red-app-grp)#data GigabitEthernet3
VCUBE-2(config-red-app-grp)#timers delay 30 reload 60
VCUBE-2(config-red-app-grp)#track 1 shutdown
VCUBE-2(config-red-app-grp)#track 2 shutdown
VCUBE-2(config-red-app-grp)#exit
VCUBE-2(config-red-app)#protocol 1
VCUBE-2(config-red-app-prtcl)#timers hellotime 3 holdtime 10
VCUBE-2(config-red-app-prtcl)#exit
VCUBE-2(config-red-app)#exit
VCUBE-2(config-red)#exit
VCUBE-2(config)#

以下是此設定中所使用欄位的說明:

  • redundancy — 進入備援模式

  • application redundancy — 進入應用程式備援設定模式

  • group — 進入備援應用程式群組設定模式

  • name LocalGateway-HA — 定義 RG 群組的名稱

  • priority 100 failover threshold 75 — 指定 RG 的初始優先順序和容錯移轉閾值

  • timers delay 30 reload 60 — 為延遲和重新載入設定兩個時間

    • Delay timer,這是在介面啟動後 RG 群組的初始化和角色協商延遲的時間量 — 預設值為 30 秒。 範圍為 0-10000 秒

    • Reload — 這是在重新載入後 RG 群組初始化和角色協商延遲的時間量 — 預設值為 60 秒。 範圍為 0-10000 秒

    • 建議使用預設計時器,但可能會調整這些計時器來適應在路由器啟動/重新載入期間可能發生的任何其他網路聚合延遲,以保證在網路中的路由聚合至一個穩定的點之後,會進行 RG 通訊協定協商。 例如,如果在容錯移轉後發現新「待命」需要最多 20 秒才能看到來自新「作用中」的第一個 RG HELLO 封包,則計時器應調整為『timers delay 60 reload 120』,以納入此延遲。

  • control GigabitEthernet3 protocol 1 — 設定用於在兩個 CUBE 之間交換 keepalive 和 hello 訊息的介面,指定將連接至控制介面的通訊協定實例,並進入備援應用程式通訊協定設定模式

  • data GigabitEthernet3 — 設定用於對資料流量進行抽點檢查的介面

  • track — 介面的 RG 群組追蹤

  • protocol 1 — 指定將連接至控制介面的通訊協定實例,並進入備援應用程式通訊協定設定模式

  • timers hellotime 3 holdtime 10 — 為 hellotime 和 holdtime 設定兩個計時器:

    • Hellotime — 連續的 hello 訊息之間的間隔 — 預設值為 3 秒。 範圍為 250 毫秒到 254 秒

    • Holdtime — 收到 Hello 訊息和假定傳送路由器失敗之間的間隔。 此持續時間必須大於 hello-time — 預設值為 10 秒。 範圍為 750 毫秒到 255 秒

      建議您將 holdtime 計時器設定為至少為 hellotime 計時器值的 3 倍。

3

為 CUBE 應用程式啟用裝置到裝置備援。 在上一步中,於以下位置設定 RG voice service voip 。 這可讓 CUBE 應用程式來控制備援過程。

voice service voip
   redundancy-group 1
   exit
VCUBE-1(config)#voice service voip
VCUBE-1(config-voi-serv)#redundancy-group 1
% Created RG 1 association with Voice B2B HA; reload the router for the new configuration to take effect
VCUBE-1(config-voi-serv)# exit
VCUBE-2(config)#voice service voip
VCUBE-2(config-voi-serv)#redundancy-group 1
% Created RG 1 association with Voice B2B HA; reload the router for the new configuration to take effect
VCUBE-2(config-voi-serv)# exit

redundancy-group 1 — 新增和移除此指令需要重新載入,更新的設定才會生效。 在套用所有設定之後,我們會重新載入平台。

4

為 Gig1 和 Gig2 介面設定各自的虛擬 IP(如下所示),並套用備援介面識別元 (rii)

VCUBE-1(config)#interface GigabitEthernet1
VCUBE-1(config-if)# redundancy rii 1
VCUBE-1(config-if)# redundancy group 1 ip 198.18.1.228 exclusive
VCUBE-1(config-if)# exit
VCUBE-1(config)#
VCUBE-1(config)#interface GigabitEthernet2
VCUBE-1(config-if)# redundancy rii 2
VCUBE-1(config-if)# redundancy group 1 ip 198.18.133.228 exclusive
VCUBE-1(config-if)# exit
VCUBE-2(config)#interface GigabitEthernet1
VCUBE-2(config-if)# redundancy rii 1
VCUBE-2(config-if)# redundancy group 1 ip 198.18.1.228 exclusive
VCUBE-2(config-if)# exit
VCUBE-2(config)#
VCUBE-2(config)#interface GigabitEthernet2
VCUBE-2(config-if)# redundancy rii 2
VCUBE-2(config-if)# redundancy group 1 ip 198.18.133.228 exclusive
VCUBE-v(config-if)# exit

以下是此設定中所使用欄位的說明:

  • redundancy rii — 設定備援群組的備援介面識別元。 產生虛擬 MAC (VMAC) 位址所必需。 在具有相同 VIP 的每個路由器(作用中/待命)的介面上必須使用相同的 rii ID 值。


     

    如果在同一個 LAN 上有多個 B2B 配對,則每個配對必須在其各自的介面上具有唯一的 rii ID(以防衝突)。 『show redundancy application group all』應表示正確的本端和對等資訊。

  • redundancy group 1 — 將介面與上面第 2 步中建立的備援群組關聯。 設定 RG 群組,以及指定給此實體介面的 VIP。


     

    必須針對備援使用單獨的介面,即,用於語音流量的介面不能用作上面第 2 步中指定的控制和資料介面。 在此範例中,針對 RG 控制/資料會使用 Gigabit 介面 3

5

儲存第一個 CUBE 的設定並重新載入它。

要最後重新載入的平台始終是「待命」。

VCUBE-1#wr
Building configuration...
[OK]
VCUBE-1#reload
Proceed with reload? [confirm]

VCUBE-1 完全啟動之後,儲存 VCUBE-2 的設定並重新載入它。

VCUBE-2#wr
Building configuration...
[OK]
VCUBE-2#reload
Proceed with reload? [confirm]
6

驗證裝置到裝置設定按預期運作。 相關輸出會以粗體反白顯示。

我們依據設計注意事項最後重新載入了 VCUBE-2;要最後重新載入的平台始終是待命


VCUBE-1#show redundancy application group all
Faults states Group 1 info:
       Runtime priority: [100]
               RG Faults RG State: Up.
                       Total # of switchovers due to faults:           0
                       Total # of down/up state changes due to faults: 0
Group ID:1
Group Name:LocalGateway-HA
  
Administrative State: No Shutdown
Aggregate operational state: Up
My Role: ACTIVE
Peer Role: STANDBY
Peer Presence: Yes
Peer Comm: Yes
Peer Progression Started: Yes

RF Domain: btob-one
         RF state: ACTIVE
         Peer RF state: STANDBY HOT

RG Protocol RG 1
------------------
        Role: Active
        Negotiation: Enabled
        Priority: 100
        Protocol state: Active
        Ctrl Intf(s) state: Up
        Active Peer: Local
        Standby Peer: address 10.1.1.2, priority 100, intf Gi3
        Log counters:
                role change to active: 1
                role change to standby: 1
                disable events: rg down state 0, rg shut 0
                ctrl intf events: up 1, down 0, admin_down 0
                reload events: local request 0, peer request 0

RG Media Context for RG 1
--------------------------
        Ctx State: Active
        Protocol ID: 1
        Media type: Default
        Control Interface: GigabitEthernet3
        Current Hello timer: 3000
        Configured Hello timer: 3000, Hold timer: 10000
        Peer Hello timer: 3000, Peer Hold timer: 10000
        Stats:
            Pkts 1509, Bytes 93558, HA Seq 0, Seq Number 1509, Pkt Loss 0
            Authentication not configured
            Authentication Failure: 0
            Reload Peer: TX 0, RX 0
            Resign: TX 0, RX 0
    Standy Peer: Present. Hold Timer: 10000
            Pkts 61, Bytes 2074, HA Seq 0, Seq Number 69, Pkt Loss 0

VCUBE-1#

VCUBE-2#show redundancy application group all
Faults states Group 1 info:
       Runtime priority: [100]
               RG Faults RG State: Up.
                       Total # of switchovers due to faults:           0
                       Total # of down/up state changes due to faults: 0
Group ID:1
Group Name:LocalGateway-HA
  
Administrative State: No Shutdown
Aggregate operational state: Up
My Role: STANDBY
Peer Role: ACTIVE
Peer Presence: Yes
Peer Comm: Yes
Peer Progression Started: Yes

RF Domain: btob-one
         RF state: ACTIVE
         Peer RF state: STANDBY HOT

RG Protocol RG 1
------------------
        Role: Active
        Negotiation: Enabled
        Priority: 100
        Protocol state: Active
        Ctrl Intf(s) state: Up
        Active Peer: address 10.1.1.2, priority 100, intf Gi3
        Standby Peer: Local
        Log counters:
                role change to active: 1
                role change to standby: 1
                disable events: rg down state 0, rg shut 0
                ctrl intf events: up 1, down 0, admin_down 0
                reload events: local request 0, peer request 0

RG Media Context for RG 1
--------------------------
        Ctx State: Active
        Protocol ID: 1
        Media type: Default
        Control Interface: GigabitEthernet3
        Current Hello timer: 3000
        Configured Hello timer: 3000, Hold timer: 10000
        Peer Hello timer: 3000, Peer Hold timer: 10000
        Stats:
            Pkts 1509, Bytes 93558, HA Seq 0, Seq Number 1509, Pkt Loss 0
            Authentication not configured
            Authentication Failure: 0
            Reload Peer: TX 0, RX 0
            Resign: TX 0, RX 0
    Standy Peer: Present. Hold Timer: 10000
            Pkts 61, Bytes 2074, HA Seq 0, Seq Number 69, Pkt Loss 0

VCUBE-2#

在兩個 CUBE 上設定本機閘道

在範例設定中,我們使用來自 Control Hub 的下列幹線資訊,在兩個平台 VCUBE-1 和 VCUBE-2 上建立本機閘道設定。 此設定的使用者名稱和密碼如下所示:

  • 使用者名稱: 侯賽因1076_ LGU

  • 密碼: lOV12MEaZx

1

請確保先使用如下所示的指令為密碼建立設定金鑰,然後才能在認證或共用密碼中使用該金鑰。 類型 6 密碼是使用 AES 密碼和該使用者定義的設定金鑰加密的。


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

這是本機閘道設定,將根據上面顯示的 Control Hub 參數套用至這兩個平台,並儲存和重新載入。 來自 Control Hub 的 SIP 摘要認證會以粗體突出顯示。


configure terminal
crypto pki trustpoint dummyTp
revocation-check crl
exit
sip-ua
crypto signaling default trustpoint dummyTp cn-san-validate server
transport tcp tls v1.2
end


configure terminal
crypto pki trustpool import clean url
http://www.cisco.com/security/pki/trs/ios_core.p7b
end


configure terminal
voice service voip
  ip address trusted list
    ipv4 x.x.x.x y.y.y.y
    exit
   allow-connections sip to sip
  media statistics
  media bulk-stats
  no supplementary-service sip refer
  no supplementary-service sip handle-replaces
  fax protocol pass-through g711ulaw
  stun
    stun flowdata agent-id 1 boot-count 4
    stun flowdata shared-secret 0 Password123!
  sip
    g729 annexb-all
    early-offer forced
    end


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


voice class codec 99
  codec preference 1 g711ulaw
  codec preference 2 g711ulaw
  exit

voice class srtp-crypto 200
  crypto 1 AES_CM_128_HMAC_SHA1_80
  exit

voice class stun-usage 200
  stun usage firewall-traversal flowdata
  exit






voice class tenant 200
  registrar dns:40462196.cisco-bcld.com scheme sips expires 240
refresh-ratio 50 tcp tls
  credentials number Hussain5091_LGU username Hussain1076_LGU
password 0 lOV12MEaZx realm Broadworks 
  authentication username Hussain5091_LGU password 0 lOV12MEaZx
realm BroadWorks

  authentication username Hussain5091_LGU password 0 lOV12MEaZx
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 GigabitEthernet1
  bind media source-interface GigabitEthernet1
  no pass-thru content custom-sdp
  sip-profiles 200
  outbound-proxy dns:la01.sipconnect-us10.cisco-bcld.com
  privacy-policy passthru


voice class tenant 100
  session transport udp
  url sip
  error-passthru
  bind control source-interface GigabitEthernet2
  bind media source-interface GigabitEthernet2
  no pass-thru content custom-sdp

voice class tenant 300
  bind control source-interface GigabitEthernet2
  bind media source-interface GigabitEthernet2
  no pass-thru content custom-sdp
  

voice class uri 100 sip
 host ipv4:198.18.133.3

voice class uri 200 sip
 pattern dtg=hussain1076.lgu



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

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


voice class dpg 100
 description Incoming WebexCalling(DP200) to IP PSTN(DP101)
 dial-peer 101 preference 1

voice class dpg 200
 description Incoming IP PSTN(DP100) to Webex Calling(DP201)
 dial-peer 201 preference 1





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

dial-peer voice 200 voip
 description Incoming dial-peer from Webex Calling
 session protocol sipv2
 destination dpg 100
 incoming uri request 200
 voice-class codec 99
 voice-class stun-usage 200
 voice-class sip tenant 200
 dtmf-relay rtp-nte
 srtp
 no vad

end

copy run start

為了顯示顯示指令輸出,我們重新載入了 VCUBE-2,後接 VCUBE-1,使 VCUBE-1 成為待命 CUBE,使 VCUBE-2 成為作用中 CUBE

2

在任何給定時間,只有一個平台會作為本機閘道維護 Webex Calling 存取 SBC 的作用中註冊。 請查看下列顯示指令的輸出。

show redundancy application group 1

顯示 SIP-UA 註冊狀態


VCUBE-1#show redundancy application group 1
Group ID:1
Group Name:LocalGateway-HA

Administrative State: No Shutdown
Aggregate operational state : Up
My Role: Standby
Peer Role: ACTIVE
Peer Presence: Yes
Peer Comm: Yes
Peer Progression Started: Yes

RF Domain: btob-one
         RF state: STANDBY HOT
         Peer RF state: ACTIVE

VCUBE-1#show sip-ua register status
VCUBE-1#

VCUBE-2#show redundancy application group 1
Group ID:1
Group Name:LocalGateway-HA

Administrative State: No Shutdown
Aggregate operational state : Up
My Role: ACTIVE
Peer Role: STATUS
Peer Presence: Yes
Peer Comm: Yes
Peer Progression Started: Yes

RF Domain: btob-one
         RF state: ACTIVE
         Peer RF state: STANDBY HOT

VCUBE-2#show sip-ua register status

Tenant: 200
--------------------Registrar-Index  1 ---------------------
Line                           peer       expires(sec) reg survival P-Associ-URI
============================== ========== ============ === ======== ============
Hussain5091_LGU                -1          48          yes normal
VCUBE-2#

從上面的輸出中,您可以看到 VCUBE-2 是維護 Webex Calling 存取 SBC 註冊的作用中 LGW,而在 VCUBE-1 中 "show sip-ua register status" 的輸出為空白

3

現在,在 VCUBE-1 上啟用下列除錯


VCUBE-1#debug ccsip non-call
SIP Out-of-Dialog tracing is enabled
VCUBE-1#debug ccsip info
SIP Call info tracing is enabled
VCUBE-1#debug ccsip message
4

在此情況下,透過在作用中 LGW VCUBE-2 上發出下列指令來模擬容錯移轉。


VCUBE-2#redundancy application reload group 1 self

在下列情境中,除了上面所列的 CLI 之外,還會發生從「作用中」到「待命」LGW 的轉換

  • 當作用中路由器重新載入時

  • 當作用中路由器關閉並開啟電源時

  • 當啟用追蹤的作用中路由器的任何 RG 設定介面關閉時

5

請檢查 VCUBE-1 是否已向 Webex Calling 存取 SBC 註冊。 現在 VCUBE-2 應該已重新載入。


VCUBE-1#show sip-ua register status

Tenant: 200
--------------------Registrar-Index  1 ---------------------
Line                           peer       expires(sec) reg survival P-Associ-URI
============================== ========== ============ === ======== ============
Hussain5091_LGU                -1          56          yes normal
VCUBE-1#

VCUBE-1 現在是作用中 LGW。

6

請查看 VCUBE-1 透過虛擬 IP 將 SIP REGISTER 傳送至 Webex Calling,並收到 200 OK 的相關除錯日誌。


VCUBE-1#show log

Jan 9 18:37:24.769: %RG_MEDIA-3-TIMEREXPIRED: RG id 1 Hello Time Expired.
Jan 9 18:37:24.771: %RG_PROTCOL-5-ROLECHANGE: RG id 1 role change from Standby to Active
Jan 9 18:37:24.783: %VOICE_HA-2-SWITCHOVER_IND: SWITCHOVER, from STANDBY_HOT to ACTIVE state.
Jan 9 18:37:24.783: //-1/xxxxxxxxxxxx/SIP/Info/info/4096/sip_ha_notify_active_role_event: Received notify active role event

Jan 9 18:37:25.758: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Sent:
REGISTER sip: 40462196.cisco-bcld.com:5061 SIP/2.0
Via: SIP/2.0/TLS 198.18.1.228:5061;branch=z9hG4bK0374
From: <sip:Hussain5091_LGU@40462196.cisco-bcld.com;otg=hussain1076_lgu>;tag=8D573-189
To: <sip:Hussain5091_LGU@40462196.cisco-bcld.com>
Date: Thu, 09 Jan 2020 18:37:24 GMT
Call-ID: FFFFFFFFEA0684EF-324511EA-FFFFFFFF800281CD-FFFFFFFFB5F93B97
User-Agent: Cisco-SIPGateway/IOS-16.12.02
Max-Forwards: 70
Timestamp: 1578595044
CSeq: 2 REGISTER
Contact: <sip:Hussain5091_LGU@198.18.1.228:5061;transport=tls>
Expires: 240
Supported: path
Content-Length: 0
Jan 9 18:37:25.995: //-1/000000000000/SIP/Msg/ccsipDisplayMsg:
Received:
SIP/2.0 401 Unauthorized
Via: SIP/2.0/TLS 198.18.1.228:5061;received=173.38.218.1;branch=z9hG4bK0374;rport=4742
From: <sip:Hussain5091_LGU@40462196.cisco-bcld.com;otg=hussain1076_lgu>;tag=8D573-189
To: <sip:Hussain5091_LGU@40462196.cisco-bcld.com>;tag=SD1u8bd99-1324701502-1578595045969
Date: Thu, 09 Jan 2020 18:37:24 GMT
Call-ID: FFFFFFFFEA0684EF-324511EA-FFFFFFFF800281CD-FFFFFFFFB5F93B97
Timestamp: 1578595044
CSeq: 2 REGISTER
WWW-Authenticate; DIGEST realm="BroadWorks",qop="auth",nonce="BroadWorksXk572qd01Ti58zliBW",algorithm=MD5
Content-Length: 0
Jan 9 18:37:26.000: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Sent:
REGISTER sip:40462196.cisco-bcld.com:5061 SIP/2.0
Via: SIP/2.0/TLS 198.18.1.228:5061;branch=z9hG4bK16DC
From: <sip:Hussain5091_LGU@40462196.cisco-bcld.com;otg=hussain1076_lgu>;tag=8D573-189
To: <sip:Hussain5091_LGU@40462196.cisco-bcld.com>
Date: Thu, 09 Jan 2020 18:37:25 GMT
Call-ID: FFFFFFFFEA0684EF-324511EA-FFFFFFFF800281CD-FFFFFFFFB5F93B97
User-Agent:Cisco-SIPGateway/IOS-16.12.02
Max-Forwards: 70
Timestamp: 1578595045
CSeq: 3 REGISTER
Contact: <sip:Hussain5091_LGU@198.18.1.228:5061;transport=tls>
Expires: 240
Supported: path
Authorization: Digest username="Hussain1076_LGU",realm="BroadWorks",uri="sips:40462196.cisco-bcld.com:5061",response="b6145274056437b9c07f7ecc08ebdb02",nonce="BroadWorksXk572qd01Ti58z1iBW",cnonce="3E0E2C4D",qop=auth,algorithm=MD5,nc=00000001
Content-Length: 0
Jan 9 18:37:26.190: //1/000000000000/SIP/Msg/ccsipDisplayMsg:

Received:
SIP/2.0 200 OK
Via: SIP/2.0/TLS 198.18.1.228:5061;received=173.38.218.1;branch=z9hG4bK16DC;rport=4742
From: <sip:Hussain5091_LGU@40462196.cisco-bcld.com;otg=hussain1076_lgu>;tag=8D573-189
To: <sip:Hussain5091_LGU@40462196.cisco-bcld.com>;tag=SD1u8bd99-1897486570-1578595-46184
Call-ID: FFFFFFFFEA0684EF-324511EA-FFFFFFFF800281CD-FFFFFFFFB5F93B97
Timestamp: 1578595045
CSeq: 3 REGISTER
Contact: <sip:Hussain5091_LGU@198.18.1.228:5061;transport=tls>;expires=120;q=0.5
Allow-Events: call-info,line-seize,dialog,message-summary,as-feature-event,x-broadworks-hoteling,x-broadworks-call-center-status,conference
Content-Length: 0