소개
이 문서에서는 IP Phone의 PFS(Peer Firmware Sharing) 기능에 대해 설명합니다. 이 기능은 TFTP(Trivia File Transfer Protocol) 서버가 각 전화기에 펌웨어 파일을 전송해야 하는 기존의 IP Phone 펌웨어 업그레이드 방법과 달리 원격 사이트에 있는 IP Phone에서 펌웨어 파일을 공유할 수 있도록 합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco CUCM(Unified Communication Manager)
- IP Phone 펌웨어 업그레이드 프로세스
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- CUCM 10.5.2.10000-5.
- Cisco Unified IP Phone 7961 및 7961G.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
기존 펌웨어 업그레이드 프로세스에서 TFTP 서버는 각 전화기와 개별적으로 통신하고 업그레이드 파일을 동시에 전송해야 합니다.그러나 1000대의 전화기가 원격 사이트에 있고 본사의 TFTP 서버가 약 1,5000km 떨어진 시나리오를 가정해 보겠습니다.이 경우 폰은 WAN(Wide Area Network)을 통해 서버에 연결되며, 매우 많은 양입니다.따라서 이러한 전화기의 펌웨어 업그레이드는 상당한 시간이 소요됩니다.
PFS를 사용하면 원격 사이트에 있는 IP Phone에서 펌웨어 파일을 공유할 수 있습니다. 그러면 업그레이드 프로세스가 수행될 때 대역폭이 저장됩니다.이 기능은 Cisco 독점 프로토콜인 Cisco Peer to Peer Distribution Protocol을 사용하여 디바이스의 피어 투 피어 계층 구조를 형성합니다.Cisco Peer to Peer Distribution Protocol은 피어 디바이스에서 인접 디바이스로 펌웨어 또는 기타 파일을 복사하는 데에도 사용됩니다.
PFS는 CUCM 6.0 릴리스의 일부로 제공되는 전화 펌웨어 버전 8.3(1) 이상에 포함되어 있습니다.다음 항목이 포함된 3세대 Cisco IP Phone에 적용됩니다.
- 7906
- 7911
- 7931
- 7941 7961(Gig 및 non-Gig)
- 7970 7971
- 향후 3세대 전화 모델도 지원됩니다.
참고:PFS는 2세대 7960 또는 7940 전화나 Tandberg 비디오 폰과 같은 OEM 전화에는 적용되지 않습니다.
PFS의 주요 장점은 기존 업그레이드 방식과 비교하여 다음과 같습니다.
- 중앙 집중식 TFTP 서버와 원격 IP 전화 간 링크의 혼잡을 제한합니다.
- 낮은 대역폭 시나리오의 경우 도움이 됩니다.
- IP 전화 수가 많을수록 기존 펌웨어 업그레이드 방법에 비해 성능이 우수합니다.
작업 중
- PFS 필드가 작동하려면 이 필드를 활성화해야 합니다.
- PFS는 한 전화기가 상위 전화기가 되고 다른 전화기가 하위 전화기가 되는 계층 구조에서 작동합니다.업그레이드가 시작되면 TFTP는 펌웨어 파일(하나씩)을 상위 전화기로 전송합니다.다른 전화기는 구성 요소 다운로드가 상위 항목에서 완료될 때까지 기다립니다.그런 다음 한 구성 요소가 부모에 의해 완전히 수신되면 TCP 연결을 통해 해당 구성 요소를 자식 폰으로 전달합니다.이는 이미지에 표시된 대로 하나의 전화기에 최대 2개의 자식 전화기가 있을 수 있는 이진 트리의 방식으로 작동합니다.
그림 1. 피어 펌웨어 공유 배포 계층
그림 2. 기존 업그레이드 방법과 PFS의 계층적 차이
그림 2(a). 기존 펌웨어 업그레이드
그림 2(b). PFS
PFS 구성
PFS 필드만 다음 중 하나에 대해 다음 이미지에 표시된 것과 같이 우선 순위의 내림차순으로 활성화되어야 합니다.
1. 모든 원격 디바이스의 전화 구성 페이지
2. 일반 전화 프로필
3. 기업 전화 구성
다음은 PFS가 여기서 작동하는지 확인하기 위해 루트 전화기에서 가져온 콘솔 로그에서 발췌한 내용입니다.
"DBG 02:19:22.634167 DLoad: +++ fd=7 Listening on peer TCP port 4051"
전화기가 피어 투 피어의 프로세스를 시작하고 펌웨어를 공유하기 전에 피어 투 피어 구조를 설정하기 위해 핸드셰이크 패킷을 수신할 준비가 되었음을 나타냅니다.
NOT 02:19:22.634945 DLoad: ^.idl_child.c-openUDPPort
NOT 02:19:22.664131 DLoad: |parent=-1><fd[0]=-1 fd[1]=-1 FULL=0
"NOT 02:19:23.161938 DLoad: ^.idl_protocol.c-sendBroadcastOffer"
전화가 루트가 되면 모든 피어에 브로드캐스트 제안 메시지를 전송합니다.
"NF 02:19:23.162700 DLoad: XID080027F8 TxBdcst ClaimRoot(tent): map=ff9d7cb9
strength=31d4d43d "
전화기가 서브넷에서 자기 자신을 피어 투 피어 공유 루트라고 클레임하기 시작했음을 나타냅니다.
"NOT 02:19:23.410198 DLoad: ^.idl_timeout.c-doTimeout
DBG 02:19:23.410963 DLoad: Timeout XID080027F8 hier=ClaimRoot(tent)
NOT 02:19:23.411644 DLoad: ^.idl_protocol.c-sendBroadcastOffer
INF 02:19:23.411925 DLoad: XID080027F8 TxBdcst Ad 1: ClaimRoot(tent)
NOT 02:19:23.660235 DLoad: ^.idl_timeout.c-doTimeout
DBG 02:19:23.661014 DLoad: Timeout XID080027F8 hier=ClaimRoot(tent)
NOT 02:19:23.661772 DLoad: ^.idl_protocol.c-sendBroadcastOffer
INF 02:19:23.662527 DLoad: XID080027F8 TxBdcst Ad 2: ClaimRoot(tent)
NOT 02:19:23.910338 DLoad: ^.idl_timeout.c-doTimeout
DBG 02:19:23.911135 DLoad: Timeout XID080027F8 hier=ClaimRoot(tent)
NOT 02:19:23.911966 DLoad: ^.idl_protocol.c-sendBroadcastOffer
INF 02:19:23.912719 DLoad: XID080027F8 TxBdcst Ad 3: ClaimRoot(tent)INF
02:19:34.410208 DLoad: XID080027F8 Root sending TFTP XfrCmd on ROOT_WAITING
TO
NOT 02:19:24.160548 DLoad: ^.idl_timeout.c-doTimeout
DBG 02:19:24.161318 DLoad: Timeout XID080027F8 hier=ClaimRoot(tent)
NOT 02:19:24.162076 DLoad: ^.idl_protocol.c-sendBroadcastOffer
INF 02:19:24.162828 DLoad: XID080027F8 TxBdcst Ad 4: ClaimRoot(tent)
NOT 02:19:24.410188 DLoad: ^.idl_timeout.c-doTimeout
DBG 02:19:24.411262 DLoad: Timeout XID080027F8 hier=ClaimRoot(tent)"
응답이 없는 경우 여러 시간 제한을 나타냅니다.
"NOT 02:19:24.412095 DLoad: UT:Confirmed root bumping strength"
Phone은 피어로부터 핸드셰이크의 수신 패킷을 받지 않았으므로 루트가 됩니다.
NOT 02:19:24.412806 DLoad: @@@HROOT:XID080027F8 H=36685558 m=CP-7961G
ROOT=10.106.117.68 /dnld/SCCP41.9-4-2SR2-2S.loads
다음 두 가지 사이의 차이를 표시합니다.
Phone Configuration(전화기 컨피그레이션) 페이지에서 PFS를 활성화하면 PFS와 기존 업그레이드 방법 간에 큰 차이가 없습니다.그러나 업그레이드가 진행되는 동안에는 전화기 화면에서 몇 가지 차이점이 표시될 수 있습니다.
기존 업그레이드 방법
|
PFS
|
모든 전화기에 동일한 화면이 표시됩니다.예를 들어 한 전화기에 다운로드되는 구성 요소가 있으면 다른 구성 요소도 같은 것을 표시합니다. |
일부 전화기는 여기에서 다른 동작을 보여줍니다.기본적으로 한 번에 상위 구성원인/또는 상위 구성원인 사용자가 구성 요소 x의 상태를 100%로 표시하는 반면, 다른 구성 요소는 여전히 구성 요소 x로 업그레이드하고 x용으로 다운로드된 KB를 표시합니다. |
이미지에 표시된 대로 기존 업그레이드에 대해서는 이 상자가 비어 있습니다. |
업그레이드 시 전화기 화면의 오른쪽 상단 모서리에 이미지에 표시된 대로 PFS 아이콘이 표시됩니다. |
전화 1: |
전화 1: |
전화 2: |
전화 2: |
전화 3: |
전화 3: |
전화 4: |
전화 4: |
기억해야 할 사항:
- PFS는 파일별로 작동합니다.한 전화기가 동일한 업그레이드 시 한 파일의 상위 폰이나 다른 파일의 하위 폰이 될 수 있습니다.
- PFS는 전화 모델에 따라 다릅니다.전화 유형이 다르면 여러 계층이 형성됩니다.
- PFS는 동일한 서브넷의 전화기에서만 작동할 수 있습니다.
- 장치 수가 많을수록 성능이 우수합니다.
- 휴대폰을 대량으로 재설정할 경우 더 나은 결과를 제공합니다.
- 모든 UDP 브로드캐스트 트래픽 및 전화기에서 전화까지 TCP 하위 연결이 포트 4051에서 발생합니다.
- 여러 전화기에 대한 피어 펌웨어 공유를 동시에 구성하려면
- Cisco Communications Manager 5.0 이상의 경우 벌크 관리 도구의 전화 템플릿 창에서 피어 펌웨어 설정을 활성화합니다.
- Cisco Unified Communications Manager 4.1(3), 4.2(3) 및 4.3(1)의 경우 AXL 스크립트를 다운로드합니다.
- http://www.cisco.com/cgi-bin/tablebuild.pl/ip-7900ser으로 이동합니다.
- ccmppid.exe 및 ccmppid 추가 정보를 다운로드합니다.
- readme 파일 지침에 따라 ccmppid.exe를 설치합니다.
버그
- CSCtg96408 - PFS 업그레이드 후 3세대 전화기(7911/41 등)가 부팅되지 않습니다.
- CSCso40251 - CUCM ES 5.1.2.3127-1에서 7975/7965에 대한 "Peer Firmware Sharing" 필드가 없습니다.
- CSCsh98792 - CM 5.x/6.0 Bulk Admin Update Phone에서 제품별 매개변수를 설정하지 못했습니다.
- CSCud66570 - 7931 피어 펌웨어 공유가 항상 비활성화되었습니다.
- CSCui49910 - [Pegatron]"웹 페이지의 네트워크 설정에 ""피어 펌웨어 공유""가 없습니다."
- CSCus67416 - "Peer Firmware Sharing(피어 펌웨어 공유)"을 활성화하면 전화 B는 여전히 서버 다운로드 fw로 이동합니다.
- CSCtb49726 - 7942/62의 제품별 conf에 피어 파일 공유 옵션이 없습니다.
- CSCsh20977 - 새로운 제품별 기능 추가 Peer Firmware Sharing World Wide.
다음을 확인합니다.
현재 이 구성에 대해 사용 가능한 확인 절차가 없습니다.
문제 해결
현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.
관련 정보