はじめに
Cisco IOS XE 26.2.1 では、Cisco 8000 Series Secure Routers の CUBE 対応機種が拡大しました。従来の C8375-E-G2 に加え、C8231-G2、C8231-E-G2、C8235-G2、C8235-E-G2、C8355-G2 の5機種で CUBE を利用できます。C8375-E-G2 の対応開始は 17.18.2、追加5機種の対応開始は 26.2.1 です。26.2.1 のリリースノートには、これら6機種の CUBE と SRST の対応が記載されています。
この記事では対応機種を整理し、C8235-G2 での CUBE と vDSP による G.722/G.711 μ-law トランスコードを実機例として紹介します。電話機の登録と内線制御には別の C8000V 上の vCME を使用しました。CUBE は SIP トランクの接続、CME は電話機の登録・内線制御を担います。本記事で紹介する対応拡大は CUBE が対象です。
出典:
対応機種
| Secure Router | CUBE の対応開始リリース | NIM スロット |
|---|---|---|
| C8375-E-G2 | 17.18.2 | あり |
| C8355-G2 | 26.2.1 | なし |
| C8235-E-G2 | 26.2.1 | あり |
| C8235-G2 | 26.2.1 | なし |
| C8231-E-G2 | 26.2.1 | あり |
| C8231-G2 | 26.2.1 | なし |
CUBE の対応開始リリースは CUBE 対応機種表、NIM スロットの有無は Cisco 8000 Series Secure Routers FAQ に基づきます。CUBE 対応機種表には、これら6機種の DSP として vDSP、トランスコーダとして LTI が記載されています。
C8235-G2 での CUBE + vDSP 構成例
検証に用いた C8235-G2 は autonomous mode の IOS XE 26.2.1(26.02.01.0.263)で、vDSP 2.2.0 を vDSP-32 プロファイルで起動しました。vDSP の利用には追加の Routing Advantage ライセンスが必要です。Secure Routers FAQで利用条件を確認できます。通話経路は次のとおりです。
外部 SIP トランク ── G.711 μ-law ── C8235-G2 / CUBE
│
└─ vDSP / LTI トランスコード
│ G.722-64
└─ C8000V / vCME ── IP 電話機
vDSP はルータの CPU を利用するソフトウェア DSP です。IOx アプリケーションとして導入し、CUBE と同じ装置の DSPFARM を LTI トランスコードに使用します。以下は構成の要点です。VirtualPortGroup の IP アドレスと DSPFARM のセッション数は構成例の値です。
Virtual DSPs
CUBE Transcoding Configuration
platform resource service-plane-heavy
iox
!
interface VirtualPortGroup0
description vDSP
ip address 10.255.255.1 255.255.255.252
!
app-hosting appid vdsp
app-vnic gateway0 virtualportgroup 0 guest-interface 0
guest-ipaddress 10.255.255.2 netmask 255.255.255.252
app-default-gateway 10.255.255.1 guest-interface 0
app-resource package-profile vDSP-32
!
voice-card 0/4
dsp services dspfarm
!
dspfarm profile 1 transcode
codec g711ulaw
codec g722-64
maximum sessions 8
associate application CUBE
no shutdown
voice-card 0/4 はこの C8235-G2 の値です。実際の voice-card と vDSP プロファイルは対象機種の表示に合わせます。対応する vDSP パッケージを配置した後の操作と確認は次のとおりです。
app-hosting install appid vdsp package bootflash:vDSP_2.2.0_26.02.01.aarch64.tar
app-hosting activate appid vdsp
app-hosting start appid vdsp
show app-hosting detail appid vdsp
show voice dsp group
show dspfarm profile 1
show dspfarm dsp active
実機では show app-hosting detail appid vdsp が RUNNING、show voice dsp group の DSP が UP、show dspfarm profile 1 が ACTIVE / CUBE ASSOCIATED となり、8セッションが利用可能でした。通話中は vDSP の変換セッション使用を確認し、外部 SIP トランク側の SDP が G.711 μ-law、vCME 側が G.722 でした。最終構成で外線と IP 電話機の双方向音声も良好であることを確認しています。 8セッションはこの検証での設定値であり、機種共通の上限値ではありません。
CUBE と vCME のコーデック設定
トランスコードを行うには、DSPFARM に加え、通話の両側のコーデックを設定します。外線側を G.711 μ-law、CUBE―vCME 間と電話機の voice register pool を G.722-64 に設定した、動作中の構成から関連部分を示します。認証情報は省略し、IP アドレスは <VCME_IP> と <CUBE_SIP_IP> に置き換えています。ダイヤル番号の 60. は、この検証で用いた内線範囲の例です。
CUBE(C8235-G2、IOS XE 26.2.1)では、外線側の既存 dial-peer 200/201 が voice class codec 2 を参照し、vCME 側の dial-peer 9600/9601 は G.722-64 を使用します。事業者 SIP トランクの接続・認証・番号変換設定は環境ごとに異なるため、以下は両側のコーデック設定を示す抜粋です。
voice service voip
mode border-element
allow-connections sip to sip
sip
bind control source-interface TenGigabitEthernet0/0/8
bind media source-interface TenGigabitEthernet0/0/8
min-se 300
session refresh
!
voice class codec 2
codec preference 1 g711ulaw
!
dial-peer voice 200 voip
voice-class codec 2
!
dial-peer voice 201 voip
voice-class codec 2 offer-all
!
voice class uri 9601 sip
host ipv4:<VCME_IP>
!
dial-peer voice 9600 voip
description To vCME
destination-pattern 60.
session protocol sipv2
session target ipv4:<VCME_IP>
voice-class sip bind control source-interface TenGigabitEthernet0/0/8
voice-class sip bind media source-interface TenGigabitEthernet0/0/8
dtmf-relay rtp-nte
codec g722-64
no vad
!
dial-peer voice 9601 voip
description From vCME
session protocol sipv2
incoming uri via 9601
dtmf-relay rtp-nte
codec g722-64
no vad
vCME(C8000V、IOS XE 17.18.3a)は電話機を登録し、CUBE 向けの両方向の dial-peer と電話機の voice register pool に G.722-64 を設定します。次の voice register pool はコーデックに関係する行のみで、実際の登録には端末 ID、DN、認証などの既存設定も必要です。
voice service voip
allow-connections sip to sip
sip
bind control source-interface GigabitEthernet1
bind media source-interface GigabitEthernet1
min-se 300
registrar server
!
voice register global
mode cme
source-address <VCME_IP> port 5060
!
voice register pool 1
codec g722-64
!
dial-peer voice 9100 voip
description To CUBE
destination-pattern .T
session protocol sipv2
session target ipv4:<CUBE_SIP_IP>
dtmf-relay rtp-nte
codec g722-64
no vad
!
dial-peer voice 9101 voip
description From CUBE
session protocol sipv2
incoming called-number .T
dtmf-relay rtp-nte
codec g722-64
no vad
この実機では、3台の電話機に対応する voice register pool すべてに codec g722-64 を設定しています。CUBE の DSPFARM が g711ulaw と g722-64 を持ち、associate application CUBE / ACTIVE であることも確認します。待機時の Active 0 は正常です。通話中には show dspfarm profile 1 の Active と show dspfarm dsp active のパケット数が増え、両側の SDP でコーデックが異なることを確認しました。
実機の show 出力
以下は C8235-G2 / IOS XE 26.2.1 / vDSP 2.2.0 の待機時の抜粋です。ゲスト IP と MAC アドレスなどの固有値は省略しました。CPU-percent 34 % は vDSP アプリケーションの予約値であり、通話中の CPU 使用率ではありません。出力が長いため、コマンドと確認点をまとめて折りたたんでいます。
主要な show コマンドの参考出力を開く
CUBE#show install summary
IMG C 26.02.01.0.263
CUBE#show platform software cpu alloc
Data plane cpu alloc: 0,4-7
Service plane cpu alloc: 1-3
Template used: CLI-service_plane_heavy
CUBE#show app-hosting detail appid vdsp
App id : vdsp
Owner : iox
State : RUNNING
Application
Type : docker
Name : vDSP-DSPFARM-Feature
Version : 2.2.0
Path : bootflash:vDSP_2.2.0_26.02.01.aarch64.tar
Activated profile name : vDSP-32
Resource reservation
Memory : 1001 MB
Disk : 256 MB
CPU-percent : 34 %
VCPU : 1
... (MAC address、guest IP などを省略)
CUBE#show voice dsp group
DSP groups on vdsp
DSP recommended version: 2.2.0
dsp 1:
State: UP, firmware version: 2.2.0
Max voice channel: 32
Max credits: 3360. Transcoding channels allocated: 8
Group: FLEX_GROUP_XCODE, complexity: MEDIUM
reserved credits: 1920
Active transcoding channels: 0
CUBE#show dspfarm profile 1
Profile ID = 1, Service = TRANSCODING
Profile Admin State : UP
Profile Operation State : ACTIVE
Application : CUBE Status : ASSOCIATED
Resource Provider : FLEX_DSPRM Status : UP
Total Number of Resources Configured : 8
Total Number of Resources Available : 8
Total Number of Resources Out of Service : 0
Total Number of Resources Active : 0
Codec Configuration: num_of_codecs:2
Codec : g722-64
Codec : g711ulaw
CUBE#show dspfarm dsp active
VDSP DSP VERSION STATUS CHNL USE TYPE RSC_ID BRIDGE_ID PKTS_TXED PKTS_RXED
Total number of DSPFARM DSP channel(s) 0
待機時は変換チャネルを 8確保、0使用しています。変換を伴う通話中は DSPFARM の Active と DSP channel 数が増え、PKTS_TXED / PKTS_RXED で両方向のメディアを確認します。アプリケーションの RUNNING だけで判断せず、DSP の UP、DSPFARM の ACTIVE / ASSOCIATED / Available も確認します。
IOx の CPU 配分
vDSP は IOx 上で動くため、service plane に CPU 資源を割り当てます。C8231-G2、C8231-E-G2、C8235-G2、C8235-E-G2 では platform resource で CPU 配分を変更できます。vDSP を使用する構成では service-plane-heavy に設定します。
Basic platform configuration
C8235-G2 / IOS XE 26.2.1 で再起動せずに比較したところ、platform resource data-plane-heavy の投入直後は Template used の表示だけが変わり、約20秒後には実際の CPU 配分も data plane 0-7 / service plane 0 に変わりました。この機種・版での配分変更そのものに再起動は不要です。 その時点では DSP group はまだ UP でしたが、設定を service-plane-heavy に戻す過程で DSP group が消え、DSPFARM の8資源が Out of Service になりました。
ただし、service-plane-heavy に設定を戻した後、この試験では CPU 配分が自動復帰せず、IOx の管理コマンドも応答しなくなりました。保存した service-plane-heavy の設定で再起動すると service plane と vDSP は復帰しましたが、DSPFARM プロファイルのコーデックとセッション数が起動後の running-config に反映されず、プロファイルは停止状態でした。g711ulaw、g722-64、8セッション、associate application CUBE、no shutdown を再適用して保存し、ACTIVE / Available 8 に復旧しました。CPU 配分の動的変更と、稼働中の vDSP の無停止復旧は別の確認項目です。 復旧後の外線・IP 電話機間の双方向音声も再確認しています。
show platform software cpu alloc
show app-hosting detail appid vdsp
show voice dsp group
show dspfarm profile 1
ZBFW を併用する場合
この検証では、最初の着信試験で外線側から IP 電話機への音声が通りませんでした。QFP packet trace により、vDSP の VirtualPortGroup 側に転送された RTP が ZBFW の class-default で破棄されていることを確認しました。該当するホスト間の UDP 通信を既存の zone-pair policy に追加した後、vDSP のパケットカウンターと、CUBE から vCME へ送信する G.722 RTP のパケット数が増加し、最終構成の双方向音声が正常になりました。
vDSP 導入時は、通常の SIP トランクと電話機側の通信に加え、VirtualPortGroup と vDSP ゲストを通るメディア経路も確認します。ZBFW の許可条件は構成ごとに QFP packet trace で観測したアドレス、zone、policy に合わせて設計します。
ZBFW for IOS XE Configuration Troubleshoot Guide
ハードウェア DSP・音声 NIM から移行する場合
CUBE の IP-IP トランスコード用 DSPFARM には vDSP を使用します。従来の物理 PVDM や SM-X-PVDM をそのまま移設する構成ではありません。BRI や E/M の音声 NIM が内蔵する DSP とは用途を分けて考えます。
Cisco 8000 Series Secure Routers FAQ
Analog Voice NIM データシート
NIM カードを使う設計では、NIM スロットを備える C8231-E-G2、C8235-E-G2、C8375-E-G2 を選びます。 C8231-G2、C8235-G2、C8355-G2 に NIM スロットはありません。さらに、スロットがあれば従来の音声 NIM をすべて使えるわけではありません。26.2.1 のリリースノートで新たにサポートが明記された音声 NIM は、これら E モデルの NIM-2BRI-NT/TE、NIM-4BRI-NT/TE、NIM-4E/M です。この対応は autonomous mode が対象です。
26.2.x リリースノート
TDM/PRI NIM のデータ用途と音声用途は、対応範囲を分けて確認します。26.2.1 のリリースノートにある音声 NIM の追加一覧には、T1/E1・PRI 系の NIM は含まれていません。また、Secure Routers FAQでは、対象の TDM/PRI NIM はデータ用途のみの対応とされています。音声回線の移行先を選ぶ際は、筐体の NIM スロットの有無と、使用する NIM 型番・リリースの音声用途での対応の確認が必要です。
まとめ
IOS XE 26.2.1 により、CUBE は C8375-E-G2 に加えて5機種の Secure Router で利用できます。C8235-G2 では vDSP を用いた G.722 と G.711 μ-law の変換、および最終構成での双方向音声を確認しました。導入時は IOx の service plane 資源、DSPFARM の状態、VirtualPortGroup を通るメディアの ZBFW 処理を確認することが重要です。物理音声回線を伴う移行では、NIM スロット付きモデルと対応する NIM 型番を選定します。
参考資料
- Release Notes for Cisco 8000 Series Secure Routers, Release 26.2.x
- Cisco Unified Border Element: Supported Platforms
- Cisco 8200 Series Secure Routers: Virtual DSPs
- Cisco Unified Border Element: Transcoding Configuration
- Cisco 8200 Series Secure Routers: Basic platform configuration
- Cisco 8000 Series Secure Routers FAQ
- ZBFW for IOS XE Configuration Troubleshoot Guide
関連記事