제 3부 CUCM 11과 영상회의 솔루션  

   1장 VCS의 이해    



시작하며
제 2부에서 CUCM 11 을 설치하여 단말 간 음성 및 영상 통화가 가능하도록 하였습니다. 제 3부에서는 영상통화가 가능한 DX80 또는 9900 시리즈 전화기를 위한 다자간회의 시스템과 VCS 연동에 대해서 다룹니다. 먼저 VCS를 이해하고 설치한 후에 CUCM과 연도을 먼저 시작하곘습니다. 




1. VCS Overview 

시스코가 텐드버그를 인수했던 초창기 VCS (Video Communications System)는 CUCM과 비슷한 기능을 제공하였기에 미래가 불투명하였지만, VCS 8.x 버전에서 Cisco Expressway와 Cisco Conductor 솔루션으로 분화하면서 VCS 소프트웨어는 새로운 길을 가고 있습니다. 기존의 VCS 어플라이언스는 사라졌지만 VMware 기반의 소프트웨어로 거듭나면서 BE6K 와 BE7K에서 운용됩니다. VCS의 주요 기능은 다음과 같이 정리할 수 있습니다.
  • 단말 등록 및 호 제어
  • SIP와 H.323 Interworking
  • IPv4 와 IPv6 Gatewaying
  • NAT Traversal
  • Firewall Traversal
  • Find Me 기능 제공 (SNR 기능)

VCS가 가장 많이 활용되는 분야는 폴리콤 단말과 같은 3rd 영상회의 단말 연동입니다. 시스코 CUCM은 시스코의 영상회의 단말과 새롭게 출시된 DX 시리즈를 주로 지원하기 때문입니다. 

VCS는 생각보다 복잡하지 않으므로 기본적인 아키택쳐만 이해하면 설정이 가능합니다. VCS 설정을 손쉽게 할 수 있도록 Zone과 Call Routing에 대해서 살펴보겠습니다.    



2. Zone의 이해
VCS에서 호라우팅은 Zone과 Zone의 연결이라고 할 수 있습니다. Zone의 개념을 먼저 이해해 보겠습니다.  



  • Default Zone
    Default Zone은 이름 그대로 가장 기본적인 Zone입니다. VCS를 통해 외부로 발신 및 수신되는 모든 호는 다른 Zone에 속하지 않을 경우에 Default Zone에 포함됩니다. 


  • Neighbor Zone
    Neighbor Zone은 상대 장비와 연결하기 위한 것으로 CUCM, MCU, Gateway, CUBE, Gatekeeper 와 연결할 때 적용됩니다. 경우에 따라서는 단말도 가능합니다. CUCM을 기준으로 보면 SIP 또는 H.323 Trunk와 비슷합니다.

    Neighbor와 호를 송수신할 때 incoming zone 또는 outgoing zone의 역할을 합니다. Neighbor zone을 구성하지 않은 장비로 부터 송수신되는 호는 Default Zone에 포함되지만, Neighbor Zone을 구성한 장비는 Neighbor zone의 영향을 받으므로 다른 인증 정책을 적용할 수 있습니다.  

    예를 들어, 만일 Default Zone은 사용자 계정 인증 (credential) 을 설정했을 경우 다면, VCS에 등록되지 않은 MCU로 들어오는 모든 호는 인증을 요청받습니다. 그러나 MCU를 위한 Neighbor Zone을 구성하여 인증인 된 것 (authenticated)으로 설정하면 MCU로 부터 들어오는 호는 별도의 인증없이 호를 진행합니다. MCU로 부터 들어오는 호는 Default Zone이 아닌 Neighbor Zone의 정책을 적용받게 됩니다. 


  • DNS Zone
    DNS Zone은 DNS SRV 레코드에 기반하여 다른 도메인으로 시그널링을 설립할 때 사용됩니다. 만일 호가 DNS Zone을 지나간다면, VCS는 호를 처리하기 위하여 도메인 네임에 대한 DNS SRV를 요청할 것입니다.


  • Traversal Zone
    Traversal Zone 은 Traversal Client 와 Traversal Server 사이에 필요합니다. Expressway Edge 나 VCS Expressway 가 Traversal Server로 구성되고, Expressway Core 와 VCS Control은 Traversal Client로 구성됩니다. Traversal Client 와 Traversal Server가 TCP 세션 설립 후에 시그널링과 미디어를 양 장비간에 송수신합니다. Traversal Client는 세션이 종료되지 않도록 Keepalive 메세지를 전송합니다. 세션 설립 후 호는 Traversal Zone을 이용합니다.


VCS로 들어오는 모든 호는 Neighbor Zone 또는 Traversal Zone 에 속하지 않으면 Default Zone에 속합니다. 게이트웨이에서 incoming call leg를 설정하는 것과 비슷합니다. 결국 두 대의 VCS나 장비를 연결하는 것은 Zone 을 서로 연결 (Zone to Zone) 하는 것입니다.


3. Local Zone의 이해
VCS의 Local Zone 은 글자 그대로 자기 자신이 속한 존입니다. CUCM을 기준으로 설명드리면 Neighboer Zone, Traversal Zone, DNS Zone, Default Zone이 CUCM의 Trunk Side (트렁크)에 해당한다면, Local Zone은 자기 자신이 속한 존으로 CUCM의 Line Side에 해당합니다. 







Local Zone은 다음과 같은 Subzone으로 구성되어 있습니다.
  • Default Subzone
    VCS에 등록되는 모든 단말은 Default Subzone에 속하며, Registration 요청을 처리합니다. 

  • Subzone
    사용자에 의해 생성되는 Zone으로 Default Subzone의 정책이 아닌 다른 정책을 적용하고 싶은 단말들이 있을 경우에 사용합니다. 일반적으로 IP 주소나 alias로 구분합니다. 예를 들면 하나의 VCS를 이용하지만, 거리적으로 떨어져 있는 다른 지역의 단말과 구분하기 위해 사용하면 CUCM의 입장에서는 Location으로 이해할 수 있습니다.

    등록 거절 정책이나 대역폭 제한 정책 등을 위해 사용합니다.  대역폭 제한 정책은 Subzone 간에 링크와 파이프를 이용합니다. 

  • Traversal subzone
    H.323 단말과 SIP 단말간의 상호 연동을 지원합니다. 



4. 시그널링을 위한 Dial Plan 이해
VCS로 들어오는 호는 제일 처음 Transforms을 거치면서 착신주소를 변경합니다. 변경된 착신주소를 기반으로 가장 적합한 Search Rules을 찾으면 Search Rules과 연동된 Zone으로 호가 이동합니다. 따라서, CUCM과 비교하면 다음과 같이 정리할 수 있습니다.

  • VCS의 "Transforms"은 CUCM의 "Translate Pattern"
  • VCS의 "Search Rule"은 CUCM의 "Route Pattern"
  • VCS의 "Zones"은 CUCM의 "Trunk" 



각각이 어떻게 동작하는 지를 정리해봅니다. 


  1. Transforms
    Transform은 alias 검색 전에 Pre-search Transform이 적용되어 고정적으로 alias를 변경
    - Transform은 우선 순위가 있으므로 상위 Transform이 매치되면 중단됩니다.
    - Transforms은 서버로 수신된 호가 조건에 부합할 경우 착신번호를 변경합니다. 
    - 네자리 전화번호 (\d{4}) 가 수신될 경우 CPL로 전송하여 호 정책 적용
    - 한 자리 이상의 전화번호를 포함한 1.1.1.1 IP주소 ((\d+)@1.1.1.1)는 Serch Rules로 전송

  2. Search Rules
    VCS의 Search rule은 호를 보내기 위한 Zone을 선택하거나 목적지를 변경할 때 사용
    - Serch Rule은 IP 주소를 기반으로 하거나 특정 alias를 기반으로 매칭
    Searches Rules 은 착신번호의 패턴과 존(Zone)을 일치시켜, 패턴이 매치할 경우 존을 결정
    - Zone으로 호를 보내기 전에 착신번호 변경

  3. Zones
    - Searches Rules에 의해 결정된 Zone으로 보냅니다.


VCS와 Expressway는 수신된 호를 Transforms에서 착신주소에 따른 조건이 매치되는 지를 먼저 확인합니다. 그 다음으로 착신 주소에 맞는 Search Rules을 찾아 목적지 Zone으로 호를 라우팅합니다. 


5. 호 라우팅 설정을 위한 Regex 구문의 이해
VCS 및 Expressway에서 Regex를 가장 많이 사용합니다. Regex의 구문만 이해하여도 호 라우팅을 제대로 할 수 있습니다. 여기서 digit은 0-9라는 숫자를 의미하고, character는 숫자 및 글자와 기호를 모두 포함합니다. 
  • .   Any single character
    자리수 하나를 의미, 숫자 이외의 기호도 포함

  • \d  A digit = [0-9]
    자리수 하나를 의미하지만, 숫자만 포함

  • *  0 or more repetitions of previous character or expression 
    바로 앞 자리의 구문이나 글자를 반복하지 않거나 반복

  • +  1 or more repetitions of previous character or expression 
    바로 앞 자리의 구문이나 글자를 한번 반복하거나 그 이상 반복

  • ?  0 or 1 repetitions of previous character or expression
    바로 앞 자라의 구문이나 글자를 반복하지 않거나 한번 반복  

  • {n}  n repetitions of previous character or expression
    바로 앞 자리의 구문이나 글자를 n번 반복

  • [abc]  A character from this set of characters
    abc 중에 하나의 글자만을 포함

  • [1-4]  A character from this range of characters
    1,2,3,4를 의미

  • [^def]  A character NOT including these characters
    def를 제외한 나머지 글자 

  • ^  Start of line
    줄의 시작

  • $  End of line
    줄의 마지막

  • \  Literalise, e.g. \* really is *
    구문에 사용되는 글자를 글자로 표시할 경우 

  • |  ‘or’ – match (wxy|wyx)
    또는 의 의미

  • (    )  Group digits and store in store id \n.
    구문이나 글자들의 그룹을 표시

지금까지 간단하게 기본 구문을 살펴보았습니다. 기본 구문을 가지고 자주 사용되는 몇 가지 예제를 살펴보겠습니다. 
  • 전화번호 뒤에 도메인을 추가할 때
    (\d*)    -->   \1@cisco.com
    1111     --> 1111@cisco.com

    \d 는 전화번호 하나를 의미합니다. 뒤에 * 는 반복을 의미하므로 자리 수에 상관없는 전화번호를 의미합니다. 따라서 VCS로 인입된 전화번호 자체를 의미하며, (  )는 첫번째 세트를 의미합니다. 뒤에 \1은 앞의 첫번째 ( ) 를 의미하며, \2는 두 번째 ( )를 의미합니다. 

    정리하면, 전화번호 전체를 첫번째 ( ) 안에 넣어서 이것 뒤에 @cisco.com을 붙인다는 의미입니다.

  • 도메인을 제거하기
    (.*)@.+    --> \1
    1111@cisco.com --> 1111

    . 은 단 하나의 숫자 또는 글자를 의미하고, *는 자리수를 정하지 않는 것이므로 .* 은 자리수에 상관없는 반복을 의미하므로 모든 숫자 또는 글자가 됩니다. ( ) 안에 넣었으므로 @ 앞의 모든 숫자가 첫번째 세트라는 의미입니다. 이를 \1은 첫번쨰 괄호입니다.

    .+는 any character 가 한번 이상 무한 반복할 수 있으므로 글자수에 상관없는 도메인 네임입니다. 


  • 0102222 라는 prefix를 6자리 번호에 추가하기
    (\d{6})  --> 0102222\1
    444455556666  --> 0102222556666

     \d는 전화번호 하나를 뒤의 {6}은 6자리를 의미합니다. 따라서, (\d{6})는 12자리 혹은 10자리의 전화번호가 들어와도 뒤의 6자리만을 ( ) 안에 포함시킨다는 의미입니다. 

  • 3자리로 들어온 숫자의 순서를 바꾸고 사이에 . 을 추가하기
    (\d)(\d)(\d)   --> \3.\2.\1
    123      --> 3.2.1

    (\d) 는 한 자리 전화번호를 의미합니다. 


  • 123@cisco.com 이나 123@cisco.net 으로 들어온 착신 번호 매치시키기
    123@cisco\.(net|com)

    | 는 또는 이라는 의미이므로 위와 같이 적용할 수 있습니다. 



마치며

정리하다보니 VCS와 Expressway를 설명하는 글들이 여기저기에 산재해 있었습니다. 이번 글은 새로운 내용은 없지만 여러 글에 흩어진 내용을 모아서 읽기 편하게 만드는 데에 의의가 있습니다.  





"시스코 CUCM의 잉해" 연재 - 제 2부 CUCM Voice & Video 구축하기


2015/07/15 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 3장 CUCM First Node 설치하기 (상)


2015/07/16 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 3장 CUCM First Node 설치하기 (하)


2015/07/20 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 5장 한글로케일 설치하기


2015/07/20 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 6장 PLM 서버에 라이센스 추가하기


2015/07/22 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 7장 단말 등록을 위한 CUCM 기본 설정하기


2015/07/23 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 8장 다이얼플랜 기초


2015/07/24 - [Cisco UC Manager/CUCM 11의 이해] - [연재] 시스코 CUCM의 이해 - 제 2부 9장 사용자 등록 - AD 연동




라인하
트 유씨누스(UCnus) (CCIEV #18487)
  --------------------------------------
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (UC를 공부하는 사람들이 모인 구글 구룹스) 
세상을 이롭게 하는 기술을 지향합니다. ________________________________________________________



Posted by 라인하트
TAG ,

댓글을 달아 주세요

  1. chlaudtjd 2015.08.19 15:21 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하십니까~
    연재되는 글 이며 voice 쪽에서 일하고 있고 올려주신 글을 보며 정말 많은 도움을 받는 사람입니다~
    다름이아니라 CUCM 에서 등록 되어있는 Device 들을 엑셀이나 그런 파일로 내 컴퓨터에 저장할 수 있는 방법이 있는지 궁금해서 댓글남김니다~
    예를들어 Device->phone 에서 검색을 했을 시 만 대가 등록이 되어있습니다. 그런데 한 페이지에 보이는 Device의 갯수는 250이 최고더라고요. 그렇게 되면 만대 나누기 250 하면 40페이지를 보면서 등록되어 있는것을 복사하여 파일에 붙여넣기 하는데 이 방법을 한번에 다운받을수 잇는 방법이 있나해서 문의드립니다.

  2. 연탄길 2015.08.23 18:24 신고  댓글주소  수정/삭제  댓글쓰기

    비디오 관련하여

    좋은글 감사합니다~



티스토리 툴바