소개
이 문서에서는 Cisco IP Phone 7800/8800 Series용 CLI에서 생성된 디버깅 로그 분석을 단방향 오디오 문제로 설명합니다.
Cisco Phone 7800/8800 Series 단방향 오디오 문제 해결
단방향 오디오 문제를 해결할 때 가장 먼저 해야 할 작업은 토폴로지를 그리고 RTP 스트림을 보내고 수신하는 RTP 미디어(실시간 프로토콜) 경로와 디바이스를 확인하는 것입니다.특히 복잡한 작업은 IP Phone이 스트림을 보내고 수신하는지 확인하는 것입니다.
가장 일반적인 방법은 해당 문서에 설명된 대로 Cisco IP 전화에서 패킷 캡처를 수집하는 것입니다.그러나 대부분의 경우 문제가 간헐적으로 발생할 경우, 다음 번에 단방향 오디오 문제의 영향을 받을 전화기를 파악하는 것이 어렵습니다.
이 문서에서는 대체 방법을 사용합니다.간헐적인 단방향 오디오 문제를 처리할 때 특히 유용할 수 있습니다.
로그 캡처
1단계. IP 전화에서 SSH를 활성화합니다.
2단계. 선택적 단계.Syslog 서버에 전화기 로그를 덤프하도록 구성합니다.
이미 언급했듯이 단방향 오디오 문제는 일반적으로 간헐적으로 발생합니다.여러 전화기가 영향을 받는 경우 원격 Syslog 서버에 로그를 덤프하는 옵션을 구성해야 합니다.
Cisco CUCM(Unified Communications Manager)에서 다음 매개변수를 활성화합니다.
전화기를 재설정합니다.
3단계. SSH 프로토콜을 통해 전화기의 CLI에 로그인합니다.
4단계. 전화기 로그를 활성화합니다.
DEBUG> settmask -p ms -t 0xfffff -b LOG_DEBUG
DEBUG> debug lsm vcm fim fsm gsm
debugs: fim fsm gsm lsm sip-state sip-messages sip-reg-state ccdefault vcm
DEBUG> debug jvm SIPCC
DEBUG> Successfully executed the command.
5단계. 로그 덤프를 시작합니다.
DEBUG> sdump
6단계. 전화기를 재설정하여 로그 수집을 취소합니다.
통화 세부 정보
Calling phone firmware: sip78xx.10-3-1-12
Calling phone ip address: 10.62.153.20
Calling phone number: 5035
Called phone ip address: 10.229.16.243
Called phone number: 2211
CUCM version: 11.0.1.20000-2
CUCM Publisher ip address: 10.48.47.143
CUCM Subscriber ip address: 10.48.47.136
CUBE: 10.62.150.10
신호 분석
첫째, 단방향 오디오 문제가 있는 통화의 신호 처리를 찾아야 합니다.
가장 쉬운 방법은 호출 번호를 검색 매개 변수로 사용하는 것입니다.
참고:Cisco IP Phone 7800/8800 시리즈에서 전송 및 수신된 모든 SIP 메시지는 "sipio-sent" 및 "sipio-recv" 검색 문자열로 찾을 수 있습니다.
전화기는 CUCM 가입자 서버로 INVITE 메시지를 전송합니다.그리고 표준 회신을 받습니다.통화 ID 레코드를 사용하면 이 특정 통화에 대한 모든 관련 메시지를 추적할 수 있습니다.
0611 DEB Dec 21 14:33:00.127717 JAVA-sipio-sent---> INVITE sip:2211@10.48.47.136;user=phone SIP/2.0^M
Via: SIP/2.0/TCP 10.62.153.20:52464;branch=z9hG4bK2037857c^M
From: "5035" <sip:5035@10.48.47.136>;tag=c80084aa872103164b6d6bb1-699aac4f^M
To: <sip:2211@10.48.47.136>^M
Call-ID: c80084aa-8721000b-302564ee-403d3d01@10.62.153.20^M
Max-Forwards: 70^M
Date: Wed, 21 Dec 2016 14:33:00 GMT^M
CSeq: 101 INVITE^M
User-Agent: Cisco-CP7821/10.3.1^M
Contact: <sip:2fbf6265-bffc-4f99-b8b2-40dce7ed2d19@10.62.153.20:52464;transport=tcp>^M
Expires: 180^M
Accept: application/sdp^M
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE,SUBSCRIBE,INFO^M
Remote-Party-ID: "5035" <sip:5035@10.48.47.136>;party=calling;id-type=subscriber;privacy=off;screen=yes^M
Supported: replaces,join,sdp-anat,norefersub,resource-priority,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-7.0.0,X-cisco-xsi-8.5.1^M
Allow-Events: kpml,dialog^M
Content-Length: 348^M
Content-Type: application/sdp^M
Content-Disposition: session;handling=optional^M
^M
v=0^M
o=Cisco-SIPUA 7726 0 IN IP4 10.62.153.20^M
s=SIP Call^M
t=0 0^M
m=audio 27986 RTP/AVP 9 0 8 116 18 101^M
c=IN IP4 10.62.153.20^M
a=rtpmap:9 G722/8000^M
a=rtpmap:0 PCMU/8000^M
a=rtpmap:8 PCMA/8000^M
a=rtpmap:116 iLBC/8000^M
a=fmtp:116 mode=20^M
a=rtpmap:18 G729/8000^M
a=fmtp:18 annexb=yes^M
a=rtpmap:101 telephone-event/8000^M
a=fmtp:101 0-15^M
a=sendrecv^M
0650 DEB Dec 21 14:33:00.171483 JAVA-sipio-recv<--- SIP/2.0 100 Trying^M
0782 DEB Dec 21 14:33:00.249127 JAVA-sipio-recv<--- SIP/2.0 180 Ringing^M
상대방이 전화를 받으면 8초 이내에 응답하고 오디오 스트림이 설정됩니다.협상된 미디어 주소를 기록해 두는 것이 중요합니다.미디어 주소는 초기 제공 SIP 모드에 대해 INVITE 및 200 OK 메시지에서 협상되고, 200 OK에 이어 지연된 제안 모드에 대해서는 ACK가 협상됩니다.
1150 DEB Dec 21 14:33:08.179266 JAVA-sipio-recv<--- SIP/2.0 200 OK^M
Via: SIP/2.0/TCP 10.62.153.20:52464;branch=z9hG4bK2037857c^M
From: "5035" <sip:5035@10.48.47.136>;tag=c80084aa872103164b6d6bb1-699aac4f^M
To: <sip:2211@10.48.47.136>;tag=59591~c6f18c49-d13e-4c97-aefc-039c35dcaca0-37698453^M
Date: Wed, 21 Dec 2016 14:32:59 GMT^M
Call-ID: c80084aa-8721000b-302564ee-403d3d01@10.62.153.20^M
CSeq: 101 INVITE^M
Allow: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY^M
Allow-Events: presence^M
Supported: replaces^M
Server: Cisco-CUCM11.0^M
Call-Info: ; security= NotAuthenticated; orientation= to; gci= 2-6064; isVoip; call-instance= 1^M
Send-Info: conference, x-cisco-conference^M
Remote-Party-ID: <sip:2211@10.48.47.136>;party=called;screen=no;privacy=off^M
Session-ID: f329a19bdd6e9960881d66e6bab59592;remote=7d416919fab94807bcc061c4baa59591^M
Remote-Party-ID: <sip:2211@10.48.47.136;user=phone>;party=x-cisco-original-called;privacy=off^M
Contact: <sip:2211@10.48.47.136:5060;transport=tcp>^M
Content-Type: application/sdp^M
Content-Length: 236^M
^M
v=0^M
o=CiscoSystemsCCM-SIP 59591 1 IN IP4 10.48.47.136^M
s=SIP Call^M
c=IN IP4 10.62.150.10^M
b=TIAS:64000^M
b=AS:64^M
t=0 0^M
m=audio 23672 RTP/AVP 0 101^M
a=ptime:20^M
a=rtpmap:0 PCMU/8000^M
a=rtpmap:101 telephone-event/8000^M
a=fmtp:101 0-15^M
마지막으로 통화 종료 메시지를 찾습니다.
2081 DEB Dec 21 14:33:18.688956 JAVA-sipio-recv<--- BYE sip:2fbf6265-bffc-4f99-b8b2-40dce7ed2d19@10.62.153.20:52464;transport=tcp SIP/2.0^M
Via: SIP/2.0/TCP 10.48.47.136:5060;branch=z9hG4bK17c47b18ed76^M
From: <sip:2211@10.48.47.136>;tag=59591~c6f18c49-d13e-4c97-aefc-039c35dcaca0-37698453^M
To: "5035" <sip:5035@10.48.47.136>;tag=c80084aa872103164b6d6bb1-699aac4f^M
Date: Wed, 21 Dec 2016 14:33:07 GMT^M
Call-ID: c80084aa-8721000b-302564ee-403d3d01@10.62.153.20^M
User-Agent: Cisco-CUCM11.0^M
Max-Forwards: 70^M
CSeq: 101 BYE^M
Reason: Q.850;cause=16^M
Session-ID: f329a19bdd6e9960881d66e6bab59592;remote=7d416919fab94807bcc061c4baa59591^M
Remote-Party-ID: <sip:2211@10.48.47.136;user=phone>;party=x-cisco-original-called;privacy=off^M
Content-Length: 0^M
^M
미디어 스트림 분석
블랙박스 장치를 분석할 때 특히 통화 컨텍스트와 관련된 타임스탬프에 주의를 기울여야 합니다.
전송이 아직 활성 상태가 아님을 확인합니다.
0407 NOT Dec 21 14:33:00.082822 ms-RTCPMGR.rtcpm_getSr[A:17] TX stream state not connected [ingress=0][state=0]
1144 NOT Dec 21 14:33:08.152988 ms-RTCPMGR.rtcpm_getSr[A:17] TX stream state not connected [ingress=7][state=1]
수신(RX) 오디오 스트림 매개변수를 업데이트하는 메시지입니다.
1380 NOT Dec 21 14:33:08.220957 ms-RTPSESSION.ms_updateRTPRxParam[A:17] UPDATE RX [mediaType(codec)=4][dynamicPayloadType=0][hootNumTalkers=0][dtmfPayloadType=101][pktperiod=20][security=0]
1481 INF Dec 21 14:33:08.282028 ms-RCVMGR.receiveManagerStartReceive[A:17] Start RX 5: syncId 5, codec 16, rtnCode 0
전송된(TX) 오디오 스트림에 대한 정보를 표시하는 메시지입니다.
1668 DEB Dec 21 14:33:08.380273 ms-RTPSESSION.startRTPSessionTx[A:17] enter
1670 DEB Dec 21 14:33:08.380395 ms-RTPMGR.rtpmgr_txStart[A:17] [streamId=7] enter
1673 INF Dec 21 14:33:08.380609 ms-MGRRTP.rtpTransmitStart[A:17] TX [CT=1][msPktSz=20][Ssrc=0xE322D7C2][Csrc=0x0][fTyp=0][SPF=80][FPP=2][pktSz=236][Buf=Y]
1674 INF Dec 21 14:33:08.380670 ms-MGRRTP.rtpTransmitStart[A:17] RFC2833: [PT=101][tsscale=8][pktPeriod=20][step=10][sizeof=4]
1771 NOT Dec 21 14:33:08.407650 ms-RTPSESSION.ms_startRTPSessionTx[A:17] START TX: [mediaType(codec)=4][pkt size=20][remote IPv4=10.62.150.10][rport=23672][groupid=8][callid=8]
통화 종료는 ONHOOK 상태 전환과 함께 찾을 수 있습니다.
2113 NOT Dec 21 14:33:18.699974 JAVA-SIPCC-CC_API: 1/8, cc_int_onhook: GSM -> SIP: ONHOOK
After the call is terminated RTP statistics will be displayed. From this message it is clear that the phone did not receive any packets, so the next step would be to enable packet captures on the CUBE.
2121 NOT Dec 21 14:33:18.701225 ms-MS.statm_printDecoderStats[A:17]
[Rx Count=0][Rx Lost=0][Pkts Discarded=0][Rx Octets=0]
[Avg Jitter=0][Max Jitter=0]
[RFC2833=0]
[CCR=0.0000][ICR=0.0000][MaxCR=0.0000][CS=0][SCS=0]
Encoder stats display that 514 packets were sent.
2124 NOT Dec 21 14:33:18.701897 ms-MS.statm_printEncoderStats[A:17]
[Tx Count=514][TX Octets=82240]
팁:통화 기간은 패킷화 기간에 전송된 패킷 수를 나누어 계산할 수 있습니다.예에서 514 / 50 = 10.28초.
관련 정보