[연재] Cisco Unified Presence의 이해 - 2. CUPS Core Components
글 싣는 순서
1. CUCM의 Presence
2. CUP 7.x Core Components
3. CUP 8.x Core Components & Architecture
4. CUPC 개요 및 연동
5. CUPS와 3rd Party 단말 연동
첫 장에서 CUCM에서 Presence에 대해 살펴보았습니다. 이 장에서는 CUPS Core Components에 대해 살펴보도록 하겠습니다. Cisco Unified Presence Server는 매우 다양한 역할을 수행합니다. SIP Proxy이기도 하며, 메신저 서버이기도 합니다. 한마디로 정의 내리기가 어려우니 CUPS의 내부 구조를 살펴보면서 어떤 기능을 수행하는 지 살펴보도록 하겠습니다.
CUPS (Cisco Unified Presence Server)의 구성요소
아래그림은 간단하게 CUCM과 CUPS의 관계를 나타낸 도식도입니다. CUCM의 내부 구조는 서로간에 통신을 위해 필요한 최소한의 구성 요소 만을 표시하였으며, 오른쪽에는 CUPS의 전체적인 구성요소를 표시하였습니다. CUPS는 기본적으로 CUCM과 동일한 하드웨어, 동일한 OS를 사용합니다. 즉, 기본적인 구조가 비슷하다고 할 수 있습니다.
- Administration
HTTP를 통해 CUPS의 웹화면에 접근할 수 있으며, SSH를 통해 OS에 접근할 수 있습니다. 아래 그림은 CUPS 관리 웹화면입니다. CUPS가 어떻게 생겼나 궁금하실 분들을 위핸 간단하게 한장 올렸습니다. CUCM과 CUPS의 메인화면은 거의 유사합니다.
- Sync Agents
Sync Agents는 AXL API 를 이용하여 CUCM Database 전체를 복사하는 역할을 합니다. AXL은 AVVID XML Layer 의 약자이며, 구성 변경과 같은 관리적인 용도로 자주 사용하는 API 입니다. SOAP는 Simple Object Access Protocol)의 약자로써, 가끔씩 튀어나오는 녀석인데 볼 때마다 간단하게 XML 기반의 웹 프로토콜 정도로만 알고 있습니다.
Sync Agents는 처음 연결되면, CUCM의 데이타베이스를 복사하면서 사용자 및 디바이스에 대한 정보를 얻게 됩니다. 완벽하게 동기화되고 난 후에는 CUCM의 데이타 베이스 변경에 따라 실시간에 가깝게 CUPS Publisher와 동기화합니다. 서버 당 수용 단말에 따라 다르긴 하지만, 서버 당 1000 대 이하일 경우 5분 정도의 동기화 시간이 소요됩니다. 만일, CUPS가 클러스터로 되어 있다면, 다시 전파되는 데 약 2배의 시간이 소요됩니다.
실제 CUPS와 CUCM을 연동할 때 CUCM에서 Application Server를 설정하면서, AXL User를 생성합니다. 이 User는 시스템에서 사용하게 됩니다.
- Licensing
CUCM이 계속 업그레이드되면서 Cisco Unified Communications Solution에 대한 라이센스를 CUCM에서 일괄적으로 관리하고자 합니다. Presece에 관련된 라이센스의 경우에도 CUCM의 DLU를 소모합니다. 즉, 한명의 Presence User 당 하나의 DLU를 필요로 합니다.
아래그림에서 처럼 사용자에게 UPS 및 UPC를 활성화하게 되면, 각각 DLU 1개씩 소모됩니다. UPS는 사용자 기반 Presence 정보 수집 여부를 결정하는 것이며, UPC는 Cisco Unified Personal Communicator(CUPC)를 활성화하는 것으로, 시스코의 메신저라고 우선 기억하시면 됩니다.
<CUCM 에서 License 할당>
<CUCM상에서 License 확인>
이 라이센스와 관련하여 항상 질문이 많기에 아래 그림을 기준으로 짚고 넘어가겠습니다. 아래 그림은 CUCM 6.x 이상 버전에 대한 License Unit Report입니다.
- Cisco Unified Personal Client End User Features License : CUCM에 CUPC 등록 시 DLU 1개 소모
- Cisco Unified Personal Communicator : CUPC를 Softphone으로 등록 시 DLU 3개 소모
- Cisco Uniified Personal Communicator (Adjuct) : 시스코 하드웨어 전화기 사용시 Softphone으로 등록 하여도 DLU 1개 소모
- Cisco Unified Presence Server End USer Feature License : 사용자 당 Presence 기능 활성시 DLU 1개 소모
엄청 복잡하다는 생각을 하실 것입니다. ^^ 시스코는 이러한 복잡성을 간소화하기위해 사용자 기반 라이센스 정책을 동시에 가지고 있습니다. CUWL (Cisco Unified Workspace License) 이라는 통합 라이센스 정책입니다. 만일 CUPC를 사용하거나 CUPS를 사용할 계획이라면, CUWL Standard를 구매하면 됩니다. 그러면, 저렴한 사용자에게 음성사서함, Unfied Mobility, CUPC, IP Communicator 등을 마음대로 쓸수 있게 됩니다. 헉, 갑자기 영업사원 모드가 되었습니다 –,-:?
- SIP Proxy 과 Presence Engine
CUPS의 SIP Proxy 는 프레즌스 메세지나 일반 SIP 메세지를 라우팅합니다. Presence Engine은 Presence 정보를 수집하고 분배하는 역할을 수행합니다. 따라서, CUCM으로 부터 보내진 Presence 정보는 SIP Proxy 기능을 통해 Presence Engine으로 보내집니다. 아래그림은 위 설명을 간단하게 설명한 도식도입니다.
CUCM과 CUPS 연동 시에 CUCM 상에서 SIP Trunk를 설정하게 됩니다. 이제 SIP Trunk로 무엇을 하게 되는 지 이해가 되실 것입니다. “SIP 의 이해”에서 이미 프레즌스 정보를 주고 받는 부분에 대한 메쏘드는 설명하였기 때문에 여기에서는 생략하도록 하겠습니다. CUCM의 단말에 대한 상태 변화 정보 (Publish)는 SIP Trunk를 통해 SIP Proxy로 전달되며, SIP Proxy는 프레즌스 정보를 Presence Engine으로 전달하여 상태 변화를 감지하도록 합니다.
여기에서 Presece Engine과 SIP Proxy의 관계를 좀 더 깊게 살펴보겠습니다. 기본적으로 Protocol Listeners 가 있으며, 우리가 잘 알고 있듯이 SIP는 TCP 5060 과 UDP 5060을 사용합니다. TLS를 사용할 경우 TCP 5061을 사용합니다. SIP Proxy에 올라온 정보는 ACL 및 Static Routes에 따라 Presence Engine의 Presence Gateway 로 보내지게 되는 것입니다.
여기서 ACL은 Default가 All Block입니다. 따라서, 설정해주지 않으면, 항상 않된다는 거 명심하시기 바랍니다.
- IPPM (IP Phone Messanger)
IP Phone Messanger는 CIsco Unified IP Phone 사용자가 Buddy의 상태정보를 확인할 수 있도록하며, 문자를 보내거나 받을 수 있을 도록 합니다. 또한, MeetingPlace를 통해 수집된 회의정보는 Presence Engine을 통해 통지 받습니다.
사용자는 IP Phone을 통해 직접 메세지를 HTTP로 전송하며, 수신된 전화기는 LCD 화면에 표시하도록 합니다. 즉, HTTP 를 SIP MESSAGE로, SIP MESSAGE를 HTTP로 변환하여 준다는 것입니다. 이 서비스는 전화기상에서는 XML 어플리케이션 설정을 따로 해야 합니다.
- Calendar
Microsoft Exchange에서 제공되는 회의스케줄 및 일정을 WebDav (RFC 2518) 프로토콜로 공유합니다. 위의 그림을 같이 참조하시면, 좀더 쉽게 이해 될 수 있습니다. Microsoft Exchange 연동은 Presence Engine내의 Presence Gateway를 통해 상호 참조하도록 합니다.
CUCM은 Active Directory와 연동되며, 그 사용자 정보는 Sync Agent를 통해 CUPS에 수집됩니다. 따라서 각 사용자의 Email-id를 쉽게 확인할 수 있으며, 만일 확인되지 않으면, CUP User id로 사용합니다
Calendar에서 보내진 Presence 상태 정보는 아래와 같이 구분되어 표시됩니다.
마치며
CUPS의 Core Component에 대해 살펴보았습니다. 몇가지 빠진 부분들은 다음장에서 CUPC (Cisco Unified Personal Communicator)를 이야기할 때 다시 언급될 것입니다. 이제 CUPS 가 어떤 역할을 하는 지 감이 잡힐 것입니다. 아니라면 계속 일어주시면 될 듯합니다. ^^ 저도 정리하면서 아하하고 모르는 부분들을 알아나가는 중이니까요..
----------------------------------------------
라인하트 (CCIEV #18487)
ucwana@gmail.com (라인하트의 새로운 구글 이메일)
http://twitter.com/ucwana (라인하트의 트위터 )
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항)
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스)
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스)
http://cafe.nexpert.net/ (체계적인 UC 정보의 전달 및 나눔을 위한 카페)
정리하고 보니 나도 디지털 네이티브 ^____________^