목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

SCCP Keep-alives 및 장애 조치 메커니즘

유지

장애 조치

일반 장애 조치

지연된 장애 조치

도그백

장점

SIP 연결 유지

기본

보조

필요한 로그

관련 링크

전화기에서 캡처

CUCM에서 캡처

사례 연구 1.2

문제 설명

문제 해결

해결

사례 연구 2.

문제 설명

문제 해결

분석

keep-alive 드랍의 원인

소개

이 문서에서는 컨피그레이션 트러블슈팅을 위해 사용할 수 있는 정보에 대해 설명합니다.

Cisco IP Phone은 네트워크 레벨 TCP keep alive 메커니즘 외에 애플리케이션 레벨 keep-alive 메커니즘을 사용합니다.SCCP(Skinny Call Control Protocol) 및 SIP(Session Initiation Protocol) 디바이스에 대한 Keep-Alive 메커니즘은 디바이스가 통화 제어에 등록된 상태를 유지하도록 합니다.또한 통화 제어를 통해 디바이스의 연결을 다시 설정하도록 설계되었습니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.

SCCP Keep-alives 및 장애 조치 메커니즘

SCCP는 전송에 TCP 프로토콜을 사용하며, 포트 2000 및 2443(보안용)을 사용하여 Call Manager에 연결합니다.SCCP 전화기는 CUCM(Cisco Unified Communications Manager)에 등록하기 전에 TCP 연결을 설정해야 합니다.다음으로, 통신 채널을 설정하기 위해 포트 2000에서 TCP 3-way 핸드셰이크가 발생합니다.전화기는 SYN(동기화)을 CUCM에 전송하고 CUCM은 SYN, ACK(승인)로 응답합니다. 그러면 전화기가 ACK로 응답하고 TCP 연결이 설정됩니다.

유지

keep-alive 방법에는 두 가지가 있습니다.애플리케이션 레벨(SKINNY keep-alive) 및 네트워크 레벨(TCP keep-alive)

장애 조치

이상적인 시나리오에서 SCCP 전화기는 기본 CUCM 및 첫 번째 백업 CUCM에 설정된 TCP 연결을 유지합니다.SCCP 전화기는 TCP 연결을 설정한 모든 CUCM에 keep-alive를 전송합니다.그런 다음 주 서버가 SCCP keep-alive에 응답합니다.시간 간격은 기본 서버에는 30초, 백업 서버에는 60초입니다.

기본 CUCM은 SCCP 및 TCP 연결을 모두 인식하는 SCCP keepalive ACK로 다시 응답합니다.백업 CUCM은 전화기에서 전송하는 keep-alive로 TCP ACK를 전송합니다.Call Manager 서비스를 사용할 수 없거나 기본 CUCM에서 TCP 연결 자체를 사용할 수 없기 때문에 전화기에서 CUCM을 백업하지 못할 경우 두 가지 메커니즘을 사용하여 기본 CM 장애를 탐지하고 정상 및 지연됩니다.

일반 장애 조치

이 메서드는 알고리즘을 사용하여 CUCM에서 이전 keep-alives를 확인하는 데 걸린 시간의 평균을 계산합니다.

예를 들어, CUCM이 지난 10000개의 keep-alives에 응답하는 데 걸린 평균 시간이 X초인 경우, 전화기는 CUCM의 실패를 탐지하기 전에 X초 동안 대기합니다.그런 다음 백업 CUCM에 등록하려고 시도합니다.

지연된 장애 조치

이 메커니즘에서는 기본 CUCM의 장애를 탐지하기 위해 3개의 연결 유지 간격을 기다립니다.

도그백

패킷의 전송 시간이 변동하고 장애 조치가 지연되는 네트워크는 불필요한 등록 취소를 방지하는 데 도움이 됩니다.

수송 시간 변동 예(ping 응답의 시간 지연 참고):

64 bytes from 10.106.97.150: icmp_seq=1 ttl=63 time=0.100 ms

64 bytes from 10.106.97.150: icmp_seq=2 ttl=63 time=200 ms

64 bytes from 10.106.97.150: icmp_seq=3 ttl=63 time=0.180 ms

64 bytes from 10.106.97.150: icmp_seq=4 ttl=63 time=0.678 ms

64 bytes from 10.106.97.150: icmp_seq=5 ttl=63 time=590 ms

64 bytes from 10.106.97.150: icmp_seq=6 ttl=63 time=0.100 ms

64 bytes from 10.106.97.150: icmp_seq=7 ttl=63 time=345 ms

64 bytes from 10.106.97.150: icmp_seq=8 ttl=63 time=456 ms

64 bytes from 10.106.97.150: icmp_seq=9 ttl=63 time=0.345 ms

장점

이 메커니즘은 지연 민감한 네트워크에서 사용할 수 있습니다.

SIP 연결 유지

SIP 전화기는 CUCM에 등록되며 CUCM의 설정에 따라 120초마다 연결 유지를 전송합니다.전화기가 기본 CUCM에 초기 등록을 전송하면 Expires 타이머를 3600초로 설정합니다(전화기에 적용되는 SIP 프로파일의 기본 설정).CUCM은 Service 매개변수에 설정된 값에 따라 타이머를 120초로 수정하여 ACK를 전송합니다.

따라서 120초마다(실제로 115초, 120초에서는 SIP 프로필에 구성된 델타 값을 뺀 값(기본적으로 5초)을 전송합니다. 이 경우, 전화기는 115초마다 연결 상태를 유지합니다.

SIP Phone은 Register message to Backup CUCM with Expires(만료가 있는 백업 CUCM에 등록 메시지) 필드를 0으로 교환합니다.

기본

REGISTER sip:10.106.114.161 SIP/2.0

Via: SIP/2.0/TCP 10.106.114.185:53006;branch=z9hG4bKd451a4fa

From: <sip:5678@10.106.114.161>;tag=0024142ddf242c6644b6e5d2-f01c795a

To: <sip:5678@10.106.114.161>

Call-ID: 0024142d-df24000a-44da4e09-0de51424@10.106.114.185

Max-Forwards: 70

Date: Wed, 15 Jul 2015 12:42:56 GMT

CSeq: 11435 REGISTER

User-Agent: Cisco-CP7975G/9.3.1

Contact: <sip:9e9e1ffb-0206-4ea1-6d77-ba04a72017f7@10.106.114.185:53006;transport=tcp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-0024142ddf24>";+u.sip!devicename.ccm.cisco.com="SEP0024142DDF24";+u.sip!model.ccm.cisco.com="437"

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-6.0.0,X-cisco-xsi-8.5.1

Content-Length: 0

Expires: 3600

SIP/2.0 100 Trying

Via: SIP/2.0/TCP 10.106.114.185:53006;branch=z9hG4bKd451a4fa

From: <sip:5678@10.106.114.161>;tag=0024142ddf242c6644b6e5d2-f01c795a

To: <sip:5678@10.106.114.161>

Date: Wed, 15 Jul 2015 12:42:59 GMT

Call-ID: 0024142d-df24000a-44da4e09-0de51424@10.106.114.185

CSeq: 11435 REGISTER

Content-Length: 0

SIP/2.0 200 OK

Via: SIP/2.0/TCP 10.106.114.185:53006;branch=z9hG4bKd451a4fa

From: <sip:5678@10.106.114.161>;tag=0024142ddf242c6644b6e5d2-f01c795a

To: <sip:5678@10.106.114.161>;tag=1708299782

Date: Wed, 15 Jul 2015 12:42:59 GMT

Call-ID: 0024142d-df24000a-44da4e09-0de51424@10.106.114.185

CSeq: 11435 REGISTER

Expires: 120

Contact: <sip:9e9e1ffb-0206-4ea1-6d77-ba04a72017f7@10.106.114.185:53006;transport=tcp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-0024142ddf24>";+u.sip!devicename.ccm.cisco.com="SEP0024142DDF24";+u.sip!model.ccm.cisco.com="437"

Supported: X-cisco-srtp-fallback,X-cisco-sis-6.0.0

Content-Length: 0

보조

REGISTER sip:10.60.1.12:5060;transport=tcp SIP/2.0

Via: SIP/2.0/TCP 10.60.63.21:3784;rport;branch=z9hG4bKPjdcJ819aZtTCtmvr0VBheV6p0uL8aC.pG

Max-Forwards: 70

From: <sip:6836@10.60.1.12>;tag=5oI-ew53.DGjTDu5LB9orkdDpZlccNbv

To: <sip:6836@10.60.1.12>

Call-ID: HxTK.m6BH9qxjstVwexTbhVnUxNeuxle

CSeq: 18800 REGISTER

Expires: 0

Contact: <sip:e2b0f175-feae-d664-befa-b7cd0837fcc6@10.60.63.21:5060;transport=TCP>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-e0d1730ac1b1>";+u.sip!devicename.ccm.cisco.com="SEPE0D1730AC1B1";+u.sip!model.ccm.cisco.com="592";expires=0;cisco-keep-alive

Content-Length:  0

필요한 로그

전화 등록이 취소된 이유를 확인하려면 다음과 같은 정보를 수집하십시오.

- Event Viewer Application and System Logs(이벤트 뷰어 애플리케이션 및 시스템 로그) - 전화 등록 취소 및 문제 해결을 진행할 수 있는 사용 시 경보/오류 코드를 제공합니다.

- 전화 및 CUCM(기본 및 백업 모두)에서 동시에 패킷 캡처 - 문제 네트워크 관점을 격리하는 데 도움이 됩니다.

- Cisco Call Manager 추적.

관련 링크

CUCM에서 패킷 캡처 수집

IP Phone에서 캡처 수집

CUCM 추적 수집

로그 및 패킷 캡처 분석

- 이벤트 뷰어 응용 프로그램 로그는 EndPointUnregistered 메시지 및 관련 이유 코드를 인쇄합니다.

Example: 31 uc-ucm-01 local7 3 : 41679: uc-ucm-01.pcce.local Jul 02 2015 06:22:31 UTC :   %UC_CALLMANAGER-3-EndPointUnregistered: %[DeviceName=SEPE0D1730A8137][IPAddress=10.60.98.210][Protocol=SIP][DeviceType=592][Description=Phone][Reason=13][IPAddrAttributes=0][LastSignalReceived=SIPStationDPrimaryLineTimeout][AppID=Cisco CallManager][ClusterID=StandAloneCluster][NodeID=uc-ucm-01]: An endpoint has unregistered

EndPointUnregistration에 대한 이유 코드는 시스템 오류 메시지 설명서에서 찾을 수 있습니다.

Wireshark 로그 읽기

양쪽 끝에서 캡처를 수집할 때 전화기로 전송된 keepalive가 실제로 CUCM에 도달하는지 여부를 확인합니다.

Sequence Number of TCP 패킷은 sniffer 캡처에서 전화기와 CUCM 간의 TCP 트래픽을 쉽게 추적하는 데 도움이 됩니다.

전화기에서 캡처

Phone은 시퀀스 번호가 2991996107인 패킷을 전송하고 이 패킷이 CUCM에 도달하는지 확인합니다.

CUCM에서 캡처

전화기 스니퍼 캡처에서 보이는 시퀀스 번호는 CUCM 캡처에서 확인해야 합니다.

사례 연구 1.2

문제 설명

SCCP 전화는 정기적으로 다시 시작됩니다.

문제 해결

이벤트 뷰어 응용 프로그램 로그는 연결 유지 누락(오류 코드 13)로 인해 전화기가 계속 다시 시작되었음을 나타냅니다.

Event Viewer Message.

IP Phone 및 CUCM에서 패킷 캡처를 수집합니다.  이 시나리오에서는 IP Phone에서 보낸 마지막 연결 유지 기능이 CUCM에 도달하지 못했습니다.

Image.

다음 이유로 인해 Keep-alive가 중단됩니다.

전화기가 CUCM의 MAC 주소를 얻기 위해 ARP를 전송한 경우 ASA mac 주소가 있는 ARP 프록시에서 응답이 수신되었습니다.분명히, 첫 번째 응답은 CUCM에서 온 것이 아닙니다.그러나 전화기에서 먼저 수신하므로 다른 장치의 MAC 주소를 사용하여 스위치로 프레임을 전송합니다.

이는 ASA에서 ARP 프록시가 활성화된 경우 대부분 발생합니다.

해결

문제를 해결하려면 ASA에서 ARP 프록시를 비활성화합니다.

사례 연구 2.

문제 설명

Cisco IP Phone 모델 8961 Phones는 16분마다 재설정되고 보조 CUCM에 등록됩니다.2분 후 전화기가 기본 CUCM으로 다시 돌아가고 이 주기가 계속 진행됩니다.

문제 해결

전화기 및 CUCM 추적에서 패킷 캡처를 수집합니다.IP Phone에서 SIP Keep-Alive가 누락되었기 때문에 등록 취소가 발생했습니다.

분석

SIP 전화기는 CUCM에 등록되며 CUCM의 설정에 따라 120초마다 Keep-alive를 전송합니다.

전화기에서 초기 등록을 전송하면 만료 타이머가 3600초로 설정됩니다(전화기에 적용된 SIP 프로파일의 기본 설정).CUCM은 Service(서비스) 매개변수에 설정된 값에 따라 타이머를 120초로 수정함으로써 이를 승인합니다.

전화기는 120초마다 Keepalive를 전송합니다(keep-alive 간격은 115초이며 120초에서는 SIP 프로필에 구성된 델타 값을 뺀 값(기본적으로 5초)입니다). 이 경우 전화기는 115초마다 keepalive를 전송합니다.

이 문제 시나리오에서 전화기는 115초에 첫 번째 keepalive를 전송하고 네트워크에서 삭제됩니다.그러면 전화기가 keepalive를 0.01초(100ms)로 재전송합니다. REGISTER 요청에 대해 CUCM에서 응답을 받습니다.

이제 전화기는 115초에 두 번째 keepalive를 전송하며 네트워크에 삭제됩니다.이제 전화기가 REGISTER 재시도 간격을 0.02초(200밀리초)로 늘립니다.

115 이후 전화기가 keepalive를 전송할 때마다 네트워크에서 삭제되고, 이렇게 하면 전화기가 패킷을 재전송하게 됩니다.또한 전화기는 재시도 간격을 기하급수적으로 증가시킵니다.이러한 keep-alive가 거의 없는 경우 폰 재시도가 14초로 증가합니다.

이 전화기는 14초 후에 재전송되며 CUCM에서 ACK를 가져옵니다.

다음 번에 전화기가 keep-alive를 전송할 때 손실된 다음 전화기가 28초 후에 REGISTER 요청을 재전송합니다.CUCM은 28초 동안 대기할 수 없으며 115초 후 15초만 대기한 다음 등록 취소 신호를 보냅니다.

Keep-Alive 시간과 RTO는 최대 16분 몇 초입니다.

CUCM의 등록 취소 신호로 인해 16분 후에 전화기가 보조 CUCM에 등록되고 2분 후에 Primary(기본)로 다시 등록되며 이 작업은 계속됩니다.

keep-alive 드랍의 원인

스위치 포트가 포트 보안으로 구성된 경우 포트 에이징이 비활성 타이머로 구성되었습니다.타이머가 SIP 연결 유지 타이머보다 작은 1분으로 설정되었습니다.이로 인해 1분마다 전화기 MAC에 스위치 포트가 플러싱되었습니다.SIP keep-alive 간격이 2분마다 발생하므로 패킷은 계속 삭제됩니다.