概要
このドキュメントでは、Cisco Unified Communications Manager(CUCM)12.5でのコール管理レコード(CMR)の拡張について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- CUCM バージョン 12.5
- CallManagerでのコール詳細レコード(CDR)およびCMRの有効化
使用するコンポーネント
このドキュメントの情報は、Cisco Call Managerバージョン12.5に基づくものです
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
CUCMは、コール履歴と診断情報を保存する2種類のレコードを生成します。
- Call Detail Records:データレコードには、CallManagerによって処理される各コールに関する情報が含まれます。
- コール管理レコード:データレコードには、コールに関するQuality of Service(QoS)または診断情報(診断レコードとも呼ばれる)が含まれます。
CDRとCMRの両方をCDRデータと呼びます。CDRデータは、CallManagerシステムのユーザが行った、または受信したすべてのコールのレコードを提供します。CDRデータは、主に課金レコードの生成に役立ちます。ただし、コールアクティビティの追跡、特定のタイプの問題の診断、およびキャパシティ計画にも使用できます。
CMRには、送受信されるデータ量、ジッタ、遅延、および損失パケットに関する情報が含まれます。最初に、CMRは内部コール用に生成されました。現在、CUCMはSIPトランク経由のコール用にCMRを生成できます。
SIPトランクは、CUBEまたはIOSゲートウェイから、BYEメッセージのP-RTP-Statヘッダー、または200 OKメッセージ(BYEメッセージへの応答)のコール統計情報を受信します。これらの統計情報には、送受信されたReal-time Transport Protocol(RTP)パケット、送受信された総バイト数、損失したパケットの総数、遅延ジッタ、ラウンドトリップ遅延、およびコール時間が含まれます。
P-RTP-Stat Headerの形式:
P-RTP-Stat:PS=<Packets Sent>、OS=<Octets Sent>、PR=<Packets Recd>、または=<Octets Recd>、PL=<Packets Lost>、JI=<Jitter>、LA=<Round Delay in ms>、DU=通話時間(秒)>
これは、CUBE/SIP IOSゲートウェイRTP統計情報レポートの形式です。CMRサポート用のCUCM SIPトランク側は、RTP統計情報の形式に制限されます。
- BYEまたはBYEの200OKが受信されると、SIPCdpcはP-RTP-Statヘッダーを解析し、P-RTP-Statヘッダーのキー値ペアに基づいて対応するCMRフィールドに入力します。
- SIPCdpcは入力されたCMRデータを使用してEnvProcessCdrに診断レコードを送信し、EnvProcessCdrはフラットファイルを作成し、CMRデータをその中にダンプします。
- この機能の一部として、CMRに新しいフィールドは追加されません。保持する既存の形式。
- トランク側のメトリック(DirectoryNumberなど)がNULLのままになるCMR内のフィールド、同様にCUBEから受信されないメトリック(varVQMetricsやビデオメトリックなど)がNULLのままになるフィールド。
- P-RTP-StatヘッダーがCUBEからBYEメッセージまたは200 OK(BYEへの応答)で受信されない場合、SIPTrunkに対して書き込まれたCMRレコードはありません。
この機能をサポートし、コールの統計情報を提供するためのCUBEの前提条件:
- Cisco IOSリリース15.1(3)T以降のリリースがインストールされ、Cisco Unified Border Elementで実行されている必要があります。
- Cisco IOS XEリリース3.3S以降のリリースがインストールされ、Cisco ASR 1000シリーズルータで稼働している必要があります。
設定
ステップ1:CMRは、のCall Managerサービスパラメータを使用して有効になります。
- に移動 [システム(System)] > [サービスパラメータ(Service Parameter)]。
- ドロップダウンボックスからサーバを選択し、Call Managerサービスを選択します
ステップ2:[Call Diagnostics Enabled]パラメータを次のいずれかに設定します。
-
[Enabled Only when CDR Enabled Flag]が[True]の場合(CDR Enabled Flagサービスパラメータが[True]に設定されている場合にのみCMRを生成)
-
[CDR Enabled Flag]に関係なく有効(CDR Enabled Flagサービスパラメータの設定に関係なくCMRを生成)
トレース分析
** Incoming BYE from Gateway :
00802148.002 |16:17:01.297 |AppInfo |//SIP/SIPUdp/wait_SdlDataInd: Incoming SIP UDP message size 539 from 10.106.97.143:[49193]:
[151,NET]
BYE sip:2000@10.106.97.132:5060 SIP/2.0
Via: SIP/2.0/UDP 10.106.97.143:5060;branch=z9hG4bKB41E87
From: <sip:7001@10.106.97.143>;tag=7780842C-12C9
To: <sip:2000@10.106.97.132>;tag=23~30c1033e-90ea-45e0-b1da-eec4a4bfbd�6e-21411553
Date: Tue, 05 Feb 2019 10:03:29 GMT
Call-ID: 1F09F649-286411E9-81B2A4AF-FAF6B880@10.106.97.143
User-Agent: Cisco-SIPGateway/IOS-15.5.3.M5
Max-Forwards: 70
Timestamp: 1549361022
CSeq: 103 BYE
Reason: Q.850;cause=16
P-RTP-Stat: PS=300,OS=48000,PR=365,OR=58400,PL=0,JI=0,LA=0,DU=7
Content-Length: 0
** Post SIPDisconnect Indication, SIPCdpc collects the data
00802151.000 |16:17:01.297 |SdlSig |SIPDisconnInd |active |SIPCdpc(1,100,180,5) |SIPD(1,100,181,1) |1,100,255,1.62^10.106.97.143^* |[R:N-H:0,N:0,L:0,V:0,Z:0,D:0] CcbId= 2�3 --TransType=2 --TransSecurity=0 PeerAddr = 10.106.97.143:49193 Sip_disc_cause= 200 cause=16 isReasonHdrVal= T
00802151.001 |16:17:01.297 |AppInfo |(isHeldOrHolding): holder=0,holdee=0,mh=0
00802151�.002 |16:17:01.297 |AppInfo |SIPCdpc(5) - collect_proxyMetricsData: Filling the Audio diagnostic record for the CMR coming from proxy ...
00802151.003 |16:17:01.297 |AppInfo |SIPCdpc(5) - collect_proxyMetricsData: Audio diagnostics: pktSend = 300, pktSendOct = 48000, pktRec = 365, pktRecOct = 58400, pktLoss = 0, jitter = 0, delay = 0
** SIPCdpc sends the data to CDR process to generate CMR
00802193.000 |16:17:01.315 |SdlSig |DbDiagnosticsReq |wait |EnvProcessCdr(1,100,6,1) |SIPCdpc(1,100,180,5) |1,100,255,1.62^10.106.97.143^* |[T:N-H:0,N:0,L:0,V:0,Z:0,D:0] globalCallId: 5 nodeId: 1 directoryNum: dateTime: 1549363621 numberPa�cketsSent: 300 numberOctetsSent: 48000 numberPacketsReceived: 365 numberOctetsReceived: 58400 numberPacketsLost: 0 jitter: 0 latency: 0 varVQMetrics:
00802252.001 |16:17:01.621 |AppInfo |EnvProcessCdr::wait_DbDiagnosticsReq
00802252.002 |16:17:01.621 |AppInfo |EnvProcessCdr::wait_DbDiagnosticsReq DETAILED Entries 2, Inserts 2, ZeroCalls 0
00802252.003 |16:17:01.621 |AppInfo |EnvProcessCdr::outputCmrData CMR data - 2,1,5,1,"2000",21411554,1549363621,2967,59340,0,0,0,0,0,"1e44e506-9a5d-4f0a-af2c-de23a7405123","","StandAloneCluster","SEPeeeeeeeeeeee","",,"",,,,,,,,,,"","","",,,,,,,,,,"",""
上記のCMRデータは、下のリポジトリactivelog/cm/cdr_repository/processed/<current date>/のファイルにプッシュされます。
admin:file list activelog cm/cdr_repository/processed/20190205/*
cmr_StandAloneCluster_01_201902051047_0
dir count = 0, file count = 1
確認
cliから、CMRが生成されているかどうかを確認できます。すべての日付について、<yyyymmdd>という形式で作成されたフォルダがあります
admin:file list activelog cm/cdr_repository/processed/20190205/*
cmr_StandAloneCluster_01_201902051047_0
dir count = 0, file count = 1
トラブルシュート
P-RTP-StatヘッダーがBYE/200OKで受信されるが、CMRデータが生成されない
<Sample BYE message >
00802148.002 |16:17:01.297 |AppInfo |//SIP/SIPUdp/wait_SdlDataInd: Incoming SIP UDP message size 539 from 10.106.97.143:[49193]:
[151,NET]
BYE sip:2000@10.106�.97.132:5060 SIP/2.0
Via: SIP/2.0/UDP 10.106.97.143:5060;branch=z9hG4bKB41E87
From: <sip:7001@10.106.97.143>;tag=7780842C-12C9
To: <sip:2000@10.106.97.132>;tag=23~30c1033e-90ea-45e0-b1da-eec4a4bfbd�6e-21411553
Date: Tue, 05 Feb 2019 10:03:29 GMT
Call-ID: 1F09F649-286411E9-81B2A4AF-FAF6B880@10.106.97.143
User-Agent: Cisco-SIPGateway/IOS-15.5.3.M5
Max-Forwards: 70
Timestamp: 1549361022
CSeq:� 103 BYE
Reason: Q.850;cause=16
P-RTP-Stat: PS=300,OS=48000,PR=365,OR=58400,PL=0,JI=0,LA=0,DU=7
Content-Length: 0
回避策:
Call Diagnostics Enabled SPが有効になっていることを確認します。
P-RTP-Statヘッダーがあるが、CMRが記録されない
<Sample BYE message >
BYE sip:45002@10.77.29.45:5062 SIP/2.0
Via: SIP/2.0/UDP 10.77.22.123:5062;branch=z9hG4bK-11920-1-7
From: sipp <sip:sipp@10.77.22.123:5062>;tag=1
To: sut <sip:45002@10.77.29.45:5062>;tag=2085~b5883d68-042a-4a73-adc3-6be8a5f9f263-24253136
Call-ID: 1-15504@10.77.22.123
CSeq: 1 BYE
Allow-Events: presence, kpml
Contact: sip:sipp@10.77.22.123:5062
Content-Length: 0
P-RTP-Stat: PS=nodata, OS=nodata, PR=nodata, OR=nodata, PL=1, JI=3, LA=0.03, DU=76
理由:
numberPacketsSentとnumberPacketsReceivedはどちらも無効であるため、CMRデータはSIPトランクのファイルにダンプされません。
CMRデータがP-RTP-Statヘッダーから生成されるが、一部の値が誤って記録される
<Sample BYE message >
BYE sip:45002@10.77.29.45:5062 SIP/2.0
Via: SIP/2.0/UDP 10.77.22.123:5062;branch=z9hG4bK-11920-1-7
From: sipp <sip:sipp@10.77.22.123:5062>;tag=1
To: sut <sip:45002@10.77.29.45:5062>;tag=2085~b5883d68-042a-4a73-adc3-6be8a5f9f263-24253136
Call-ID: 1-15504@10.77.22.123
CSeq: 1 BYE
Allow-Events: presence, kpml
Contact: sip:sipp@10.77.22.123:5062
Content-Length: 0
P-RTP-Stat: PS=4294967298, OS=1234, PR=4294967298, OR=1233, PL=1, JI=3, LA=0.03, DU=76
理由:
PS値とPR値が範囲外(2^32-1より大きい値)であるため、範囲外の値は最大値(2^32-1(4294967295)に置き換えられます。
P-RTP-Statヘッダーで許可されるキーと値の範囲
機能制限
この機能は、SMEコールフローではサポートされません。
- SME上のCUBE/IOS GWからコール統計情報を受信すると、CUCMはトランク側のCMR(CMRが有効になっている場合)を生成しますが、発信BYEの他のノードやBYEの200OK0に0に0を0を0転送0することができました。
- コールフローの例:
Phone1 >> CUBE/IOS GW>> SME >> CUCM1 >> Phone2
上記のコールシナリオでは、SMEはトランク側のCMRを生成してCUBEをポイントします(CMR)。これらの統計情報はリーフノードには転送されません。Phone2の場合、CMRはリーフノードに記録されます。