소개
이 문서에서는 Cisco CUCM(Unified Communications Manager) 12.5의 CMR(Call Management Records) 개선 사항에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- CUCM 버전 12.5
- CallManager에서 CDR(Call Details Record) 및 CMR 사용
사용되는 구성 요소
이 문서의 정보는 Cisco Call Manager 버전 12.5를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
배경 정보
CUCM은 통화 기록 및 진단 정보를 저장하는 두 가지 유형의 레코드를 생성합니다.
- 통화 세부 정보 레코드 - 데이터 레코드는 CallManager에서 처리하는 각 통화에 대한 정보를 포함합니다.
- 통화 관리 레코드 - 데이터 레코드는 통화에 대한 QoS(Quality of Service) 또는 진단 정보(진단 레코드라고도 함)를 포함합니다.
CDR과 CMR을 모두 CDR 데이터라고 합니다.CDR 데이터는 CallManager 시스템의 사용자가 걸거나 수신한 모든 통화의 레코드를 제공합니다.CDR 데이터는 주로 청구 레코드를 생성하는 데 유용합니다.그러나 통화 활동을 추적하고 특정 유형의 문제를 진단하고 용량 계획을 수립하는 데에도 사용할 수 있습니다.
CMR에는 전송 및 수신된 데이터 양, 지터, 레이턴시 및 손실된 패킷에 대한 정보가 포함됩니다.처음에는 내부 통화에 대해 CMR이 생성되었으므로 이제 CUCM에서 SIP 트렁크를 통한 통화에 대해 CMR을 생성할 수 있습니다.
SIP 트렁크는 BYE 메시지 또는 CUBE 또는 IOS 게이트웨이로부터 P-RTP-Stat 헤더의 통화 통계를 수신합니다(BYE 메시지에 대한 응답).이러한 통계에는 전송 또는 수신된 RTP(Real-time Transport Protocol) 패킷, 전송 또는 수신된 총 바이트, 손실된 총 패킷 수, 지연 지터, 왕복 지연, 통화 기간이 포함됩니다.
P-RTP-Stat 헤더의 형식:
P-RTP-Stat: PS=<Packets Sent>, OS=<Octets Sent>, PR=<Packets Recd>, PL=<Packets Lost>, JI=<Jitter>, LA=<Round Trip Delay in ms>, DU=<Call Duration in seconds>
CUBE/SIP IOS 게이트웨이 RTP 통계 보고 형식입니다.CMR 지원을 위한 CUCM SIP 트렁크 측은 RTP 통계 형식으로 제한됩니다.
- BYE 또는 200OK for BYE가 수신되면 SIPCdpc는 P-RTP-Stat 헤더를 구문 분석하고 P-RTP-Stat 헤더의 키 값 쌍을 기준으로 해당 CMR 필드를 채웁니다.
- SIPCdpc는 CMR 데이터가 채워진 EnvProcessCdr에 진단 레코드를 전송하고 EnvProcessCdr은 플랫 파일을 만들고 CMR 데이터를 여기에 덤프합니다.
- 이 기능의 일부로 CMR에 새 필드가 추가되지 않습니다.유지 관리할 기존 형식입니다.
- CUBE에서 수신되지 않은 메트릭(예: varVQMetrics 또는 비디오 측정 단위)에 대해 DirectoryNumber 등의 트렁크 측 측정 단위와 관련이 없는 CMR의 모든 필드가 null로 남아야 합니다.
- BYE 메시지를 위해 CUBE에서 P-RTP-Stat 헤더를 수신하지 않거나 200 OK(BYE에 응답)인 경우 SIPTrunk에 대해 기록된 CMR 레코드가 없습니다.
이 기능을 지원하거나 통화 통계를 제공하기 위해 CUBE의 전제 조건:
- Cisco IOS Release 15.1(3)T 이상 릴리스가 설치되어 있어야 하며 Cisco Unified Border Element에서 실행해야 합니다.
- Cisco IOS XE Release 3.3S 이상 릴리스가 설치되어 있어야 하며 Cisco ASR 1000 Series 라우터에서 실행해야 합니다.
구성
1단계. CMR은 다음의 Call Manager 서비스 매개변수를 통해 활성화됩니다.
- 다음으로 이동 System(시스템) > Service Parameter(서비스 매개변수).
- 드롭다운 상자에서 서버를 선택한 다음 Call Manager 서비스를 선택합니다
2단계. 통화 진단 사용 매개변수를 다음 중 하나로 설정합니다.
-
CDR 사용 플래그가 True인 경우에만 사용(CDR 사용 플래그 서비스 매개변수가 True로 설정된 경우에만 CMR 생성)
-
CDR 사용 플래그와 상관없이 사용 가능(CDR 사용 플래그 서비스 매개변수의 설정에 관계없이 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이 생성되었는지 여부를 확인할 수 있습니다.모든 날짜에 <yyyyymmdd> 형식으로 만든 폴더가 있습니다.
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
해결 방법:
통화 진단 지원 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의 다른 노드에 통화 통계를 전달하거나 200OK를 통해 BYE를 생성할 수는 없습니다.
- 샘플 통화 흐름:
Phone1 >> CUBE/IOS GW>> SME >> CUCM1 >> Phone2
위의 통화 시나리오에서 SME는 CUBE를 가리키는 트렁크에 대한 CMR을 생성합니다.이러한 통계는 리프 노드에 전달되지 않습니다.Phone2의 경우 CMR이 리프 노드에 기록됩니다.