Cicso Meeting Server Dual screen layout 테스트

CMS 2.2 이상, CE 9.1.1이상에서 Dual screen 기능을 지원합니다.

CUCM 9.1 에서 테스트하니 안됩니다.

CUCM 11.5 이상으로 테스트 했습니다.

쓸만한 모니터가 없어서 MX200 과 DX80을 이용했습니다.

 

CMS Space에 접속 화면

 

하나 추가하면 메인화면에 나옵니다.

화면에 3명으로 나오는 것은 Room Kit, CMA를 통해 접속하고 비디오 Off

그리고 Mediasense 입니다.

영상테스트를 위해 Mediasense에 Cisco 소개 영상과 뮤직비디오 영상을 올려두었습니다.

 

하나 더 추가하면 두번째 화면에 나옵니다.

 

하나 더 추가 하였습니다.

현재 Layout은 Equal 대등입니다.

기본 Equal은 화면이 추가 되면서 화면이 자동 분할됩니다.

 

2–2

 

2×2 – 2×2 화면에 3-2

2×2 – 2×2 화면에 3-3

2×2 – 2×2 화면에 4-3

2×2 – 2×2 화면에 4-4

 

3×2–3×2 화면에 5-4

3×2–3×2 화면에 5-5

3×2–3×2 화면에 6-5

3×2–3×2 화면에 6-6

계속 이런 방식으로 늘어납니다.

 

3×3-3×3

4×3-4×3

이게 끝입니다.

CMS Dual Screen은 Equal의 경우2개의 화면을 모두 합쳐 20개까지가 한계입니다.

기본 10-10 화면이고 가끔 11-9 이런 식으로 보이기도 합니다.

요런 식입니다.

사용자가 계속 늘어나도 20개의 화면이 끝입니다.

 

Prominent 돌출형으로 변경한 화면입니다.

1-5×4

 

Overlay 오버레이로 변경한 화면입니다.

 

Equal화면은가끔 위와 같이 11-9 화면에서 2번째 화면에 맨위 화면이 빠지는 현상도 발생합니다.

 

Cisco에서 말하는 3×3-3×3 화면으로 구성해 보았습니다.

1-1

사용자가 추가되면 화면이 3×3-3×3 크기로 변경됩니다.

화면이 늘어나는 방식은 아래와 같습니다.

3×3-3×3 화면이 되면 더 이상 변화는 없습니다.

3-3 equal에서 다른 layout으로 변경하면 다시 3-3 equal로 돌아 갈수 없습니다.

space에서 나갔다 다시들어와야 합니다.

새로 하나 장만한 Cisco Spark Room Kit

이번에 저희 사무실에 Cisco Spark Room Kit을 하나 마련했습니다.

기본 1개의 Box로 왔습니다.

 

박스를 열면 설명서가 2개 있습니다.

하나는 영어, 하나는 프랑스어 설치 가이드 입니다.

 

안에는 작은 상자2개와 큰 상자 1개로 되어 있습니다.

 

큰 상자에는 Room Kit 와 Wall mount Kit, Screen mount kit, 전원어댑터, HDMI케이블, 랜케이블이 들어 있습니다.

 

작은 상자 하나에는 Touch 10이

다른 상자에는 마이크, Touch 10용 파워인젝터, 전원케이블 2개, 랜케이블들이 들어 있습니다.

 

Room kit 아래부분입니다.

 

Touch10을 연결하고 연동해 봤습니다.

 

기존 장비들에서는 볼 수 없었던 카메라보기 조정화면이 나옵니다.

 

연동할 모니터가 없어서 MX200과 DX80을 이용했습니다.

CMS와 연동하여 Dual Screen 기능을 테스트 해봤습니다.

 

Dual Screen 기능이 잘 됩니다.

Cisco Meeting Server Branding 설정

Cisco Meeting server는 IVR과 Space의 배경이미지와 멘트를 변경 할 수 있습니다.

위 이미지가 CMS의 IVR과 Spaces의 기본 배경이미지입니다.

위 이미지를 다른 이미지로 변경해 보겠습니다.

 

해당 설정을 위해서는 Web Server, Postman 이 필요합니다.

 

우선 Space의 배경 이미지를 변경해 보겠습니다.

우선 Postman에서 /callBrandingProfiles에

Key에 resourceLocation

Value에 http://172.16.111.99/branding/Call_customization

를 입력하고 POST로 Send 합니다.

 

GET으로 설정을 불어 옵니다.

callBrandingProfile ID를 복사해두어야 합니다.

 

/system/profiles 에

Key에 callBrandingProfile

Value에 00368a1f-67db-4465-836b-89db5485563b

을 입력하고 PUT로 Send 합니다.

 

위에서 설정한 웹서버의 위치에 “background.jpg” 로 이미지 파일을 업로드 합니다.

이미지는 500KB 이하, 최대 1920 X 1200 픽셀 까지만 지원하며, 오직 jpg 파일만 가능합니다.

저는 파워포인트와 그림판을 이용해서 간단하게 만들어 보았습니다.

 

모든 Space에서 위와 같은 이미지를 볼 수 있습니다.

해당 Space에 접속 시 아무런 소리도 나지 않습니다.

위와 같이 설정 시 이미지와 멘트 관련 리소스가 해당 폴더를 기본으로 합니다.

멘트를 넣고 싶은 경우 해당 폴더에 아래와 같은 이름의 wav 파일을 업로드 하면 됩니다.

wav파일 포맷:

single track PCM format, 16 bits per sample, 모노

8, 16, 22.05, 32, 44.1 or 48 kHz sample rate

기본적으로 400KB 크기를 넘으면 안됩니다.

파일 이름 및 기본 멘트는 아래와 같습니다.

기존 기본 멘트

파일 이름

Welcome to a Cisco meeting

welcome.wav

I haven’t been able to connect you. Goodbye.

timeout.wav

Press ‘1’ to join the call.

call_join_confirmation.wav

You are joining the call now.

call_join.wav

Hello. You are invited to a Cisco call.

call_outgoing_welcome.wav

Press ‘1’ to enter the meeting.

cospace_join_confirmation.wav

You are entering the meeting now.

cospace_join.wav

Hello. You are invited to a Cisco meeting.

cospace_outgoing_welcome.wav

You have been disconnected from the meeting

disconnected.wav

This meeting is being recorded

meeting_recorded.wav

This meeting is no longer being recorded

meeting_recording_ended.wav

Your meeting has ended

meeting_ended.wav

You are the only participant

only_participant.wav

Please enter the PIN, followed by the ‘#'(pound) key.

passcode_entry.wav

Please try again: this is your last attempt.

passcode_incorrect_final_attempt.wav

That PIN isn’t correct. Goodbye.

passcode_incorrect_goodbye.wav

Waiting for your host to join

waiting_for_host.wav

 

 

이번에는 IVR 의 배경을 변경해 보겠습니다.

/ivrBrandingProfiles 에

Key에 resourceLocation

Value에 http://172.16.111.99/branding/ivr_customization

을 입력하고 Post로 Send 합니다.

 

GET으로 설정을 확인합니다.

ivrBrandingProfile의 ID를 복사해 둡니다.

 

/system/profiles 에

Key에 ivrBrandingProfile

Value에 36a2f406-6d7c-4a30-9d07-c13e33b2270e

을 입력하고 PUT로 Send 합니다.

 

위에서 설정한 웹서버의 위치에 “ivr_background.jpg” 로 이미지 파일을 업로드 합니다.

이미지에 대한 제약은 Callbranding과 같습니다.

이번에는 wav 파일도 업로드 하였습니다.

wav 파일 이름 및 기본 멘트는 아래와 같습니다.

기존 기본 멘트

파일 이름

Please enter the call ID, followed by the ‘#'(pound) key.

ivr_id_entry.wav

Unable to recognize that call ID. Please try again.

ivr_id_incorrect_try_again.wav

Please try again: this is your last attempt.

ivr_id_incorrect_final_attempt.wav

Unable to recognize that call ID. Goodbye.

ivr_id_incorrect_goodbye.wav

Welcome to a Cisco meeting.

ivr_welcome.wav

Unable to connect you. Goodbye.

ivr_timeout.wav

 

 

IVR은 callBranding과 조금 다르게 이미지를 만들었습니다.

 

다수의 IVR을 사용하는 경우 아래와 같이 설정합니다.

/ivrBrandingProfiles 에

Key에 resourceLocation

Value에 http://172.16.111.99/branding/ivr2_customization

을 입력하고 Post로 Send 합니다.

기존과 다른 웹서버의 폴더를 선택하였습니다.

 

GET으로 확인합니다.

ivrBrandingProfile 이 2개가 된 것을 확인 할 수 있습니다.

새로 만든 ivrBrandingProfile의 ID를 복사해 둡니다.

 

/ivrs 에

Key에 uri

Value에 85999

Key에 ivrBrandingProfile

Value에 6b9679da-8def-4f0c-a84f-4176afe83798

을 입력하고 Post로 Send 합니다.

해당 설정을 하면 CMS의 GUI 설정된 IVR 번호 외에 추가적으로 IVR 번호를 만들 수 있습니다.

 

위와 같이 설정만 하고 폴더를 만들고 이미지파일을 업로드 하지 않아서 검은 화면이 보이는 것을 확인 할 수 있습니다.

누구나 쉽게 만들수 있는 Cisco Spark Bot 서버

지난 7월 말경에 Cisco Korea에서 Collaboration Partner VT가 있었습니다.

보통 SEVT라고 부릅니다.

SEVT는 Systems Engineer Virtual Training의 약자입니다.

해당 교육에 참석하면 많은 고급 정보들을 얻을 수 있습니다.

그래서 많은 Cisco Collaboration Partner분들이 참석합니다.

해당 교육의 마지막 날 아주 재미있는 실습시간이 있었습니다.

바로 Spark Bot을 만드는 교육이었습니다.

특이한 점은 리눅스로 만든 Spark 서버에 Python을 이용해서 Bot을 만들었다는 것입니다.

정말 재미있는 교육이었으며 Python을 배워야겠다는 생각이 들게 만드는 계기였습니다.

지난주에 교육 때 사용했던 Spark Bot Server와 같은 서버를 만들기 위해 많은 시간을 보냈습니다.

만들다 도저히 제 실력으로는 더 이상 진행이 안되어 Cisco Spark를 통해서 Cisco Korea의 HyechurnJang님에게 문의하여 완성하였습니다.

이틀 동안 제가 엄청 귀찮게 해드렸습니다.

Cisco Spark Bot 서버를 만들면서 알게 된 사실로 HyechurnJang님은 github에 개발한 자료를 공유 하고 계신 대단한 분이었습니다.

https://github.com/HyechurnJang 에서 pygics 라고 있고 pygics의 일부분이 Sparkbot 입니다.


https://github.com/pygics-app


https://github.com/pygics-app/sparkbot


Cisco Spark bot 만드는 방법은 https://github.com/pygics-app/sparkbot 에 나와있습니다.

https://developer.ciscospark.com/ 에서 Bot 만드는 방법은 그림을 보고 따라 하면 아주 쉽습니다.

제가 막힌 부분은 2. Start bot in your host 부분부터였습니다.

저는 리눅스를 잘 모릅니다.

Python은 더더욱 모릅니다.

저와 같은 분들을 위해서 해당 정보를 공유합니다.

서버 구축 환경

ESXi 5.5

CentOS 7

공인IP

CentOS7 는 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso 에서 다운 받았습니다.

다운 받은 ISO 파일은 ESXi 서버의 스토리지에 업로드 해 둡니다.

ESXi에서 새 가상 시스템 생성을 합니다.


표준 설치

 


아무 이름이나 줍니다.

 


다음

 


Linux – CentOS 4/5/6/(64비트) 선택

ESXi가 예전 버전이라 CentOS7이 없네요

 


적절한 NIC 선택 (공인IP를 사용해야 한다고 합니다.)

 


전 Thin Provision 을 선택했습니다.

편한거 선택하시면 됩니다.

용량은 16G도 문제 안됩니다.

 


완료를 선택합니다.

 


만들어진 서버에서 설정 편집을 선택 후

CD/DVD에 CentOS ISO 파일을 선택하고 전원을 켤 때 연결을 선택합니다.

 


서버 전원을 켜고 콘솔을 연결합니다.

“Install CentOS Linux 7″을 선택하고 엔터

 


엔터

 

한국어 선택 후 계속 진행 선택

 

설치 대상 선택

 

로컬 표준 디스크 선택 후 완료 선택

 

네트워크 및 호스트명 선택

 

설정 선택

 

IPv4 설정 선택 후 방식을 수동으로 변경

Add 선택 후 주소, 넷마스크, 게이트웨이, DNS서버 입력 후 저장 선택

 

끔에서 켬으로 변경 후 완료 선택

 

설치 시작 선택

 

ROOT 암호 선택

 

암호 입력 후 완료 선택

설치가 완료 될 때까지 시간이 좀 걸립니다. (10분정도)

 

재부팅을 선택합니다.

 

재부팅 후 “root” 입력 후 설치 중 입력한 Password를 입력하여 로그인 합니다.

 

yum -y install system-config-firewall-tui 를 입력하고 엔터

현재 상태는 TCP 80 port가 열려 있지 않습니다.

그래서 방화벽을 설치하고 22와 80을 열려고 합니다.

 

vi /etc/sysconfig/iptables 을 입력하고 엔터

 

위와 같이 “:OUTPUT ACCEPT [0:0]” 와 “-A INPUT –m state –state RELATED,ESTABLISHED –j ACCEPT” 사이에 “i”를 입력하고

-A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT

-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT

를 입력 합니다.

입력후 키보드에서 “ESC”를 누르고 “:wq”를 입력하고 엔터를 칩니다.

 

systemctl mask firewalld

systemctl start iptables

systemctl enable iptables.service

위와 같이 3줄을 차례로 입력합니다.

 

yum –y install git 를 입력합니다.

 

git clone https://github.com/pygics-app/sparkbot.git 를 입력합니다.

 

yum -y install epel-release 를 입력합니다.

 

yum -y install python-pip 를 입력합니다.

 

pip install pygics 를 입력합니다.

 

이제 모든 설치는 완료 되었습니다.

 

다운받은 sparkbot 폴더로 이동해서 “python server.py &”을 입력합니다.

 

Sparkbot이 실행되면 폴더내에 “__run__” 이라는 폴더가 생성되고 그 아래에 0.0.0.0_80 이라는 폴더도 생성됩니다.

해당 폴더에 보면 “service.uuid”가 있습니다.

“vi service.uuid”를 입력하여 uuid 값을 확인합니다.

 

위와 같이 값이 보입니다.

해당 값은 sparkbot이 실행되는 서버마다 다릅니다.

 

postman에서 위와 같이 https://서버IP/pygics/module?name=<spark bot ID> 를 입력

Headers 에 Key “PYGICS-UUID” Value “<UUID값>”을 입력합니다.

 

Body에는 binary를 선택하고 예제 파일인 bot.py 를 선택합니다.

 


bot.py 파일내용입니다.

 

위와 같이 200 ok에 결과값이 “success”로 나오면 성공입니다.



스파크에서 만든 bot을 불러서 테스트 해봅니다.

저는 bot의 ID가 “iCent” 입니다.

위와 같이 hi 나 hello 하면 “Hello!”로 응답하고

다른 아무말이나 하면 위와 같이 나옵니다.

이미지 없이 글로만 설명했으면 짧은 내용인데 쉽게 이해하시라고 이미지를 좀 넣었더니 내용이 엄청 길어 졌네요.

해당 글에 나오는 spark bot 자료들은 모두 HyechurnJang님의 자료입니다.

그래서 HyechurnJang님에게 허락 받고 올립니다. 블로그에 글 올리는거 허락해 주셔서 감사합니다.

그리고 쉽게 Spark bot을 만들 수 있는 프로그램을 개발해주신 HyechurnJang님에게 다시 한번 감사의 말씀을 드립니다.

Cisco Spark Bot

Cisco Spark의 장점은 ChatBot연동이 쉽다는 것입니다.

https://depot.ciscospark.com/bots 에 가면 연동 가능한 Bot 들을 확인 할 수 있습니다.

확인한 bot을 사용하고 싶으면 Cisco Spark 앱에서 해당 Bot을 Space에 초대하거나 1:1로 채팅을 해도 됩니다.

 

 

srvcheck@sparkbot.io 을 불러 보겠습니다.

srvcheck@sparkbot.io 은 특정 도메인의 SRV를 검사해주는 Bot 입니다.

제가 저희 회사 도메인을 검색했더니 잘 나오네요.

이렇게 Bot이용하면 Spark에서 채팅 중 많은 도움을 받을 수 있습니다.

이런 Bot을 쉽게 만들 수 있도록 Cisco 는 Spark Bot 개발자에 도움을 주는 웹을 제공합니다.

https://developer.ciscospark.com 에 접속하면 위와 같은 화면을 확인 할 수 있습니다.

 

그리고 API를 확인 할 수 있고 “Test Mode”를 이용하면 바로 직접적으로 테스트도 가능합니다.

List People에서 “Test Mode”를 On 으로 변경하고 저의 이메일주소를 검색 했더니 정보가 잘 나오네요.

제가 2016년 12월 19일에 처음 가입했다는 정보도 나오는군요.

Cisco Spark

제가 Cisco Collaboration을 좋아하는 이유가 Cisco는 항상 새로운 제품을 내놓기 때문입니다.

IPT, UC 를 넣어서 이제는 영상회의 시스템까지 다른 벤더들을 앞서가는 Cisco입니다.

요즘은 Cisco가 어떤 제품을 밀고 있을까요? 바로 Cloud 제품입니다.

Cisco Collaboration에 Cloud 제품으로 시스코 스파크가 있습니다.

전에 나온 WebEx와 WebEx CMR도 있지만 Spark 가 대세입니다.

Cisco Spark의 핵심 기능은 채팅입니다.

PC, MAC, IOS, Android 까지 모든 OS를 지원하며 Cloud 제품이라 단말간 동기화가 잘 됩니다.

 

추가 기능으로 영상통화가 지원됩니다.

Spark 앱을 통한 영상통화는 기본입니다.

그리고 최근 Cisco 영상단말들은 모두 Spark에 연동이 가능합니다.

위 단말들은 모두 Cisco Spark에 직접적으로 등록하여 사용이 가능합니다.

 

그리고 Spark Board라고 화이트보드 기능이 특성화된 제품도 있습니다.

영상통화 기능도 가지고 있습니다.

 

Cisco Spark는 Cloud 제품으로 월단위로 비용을 받습니다.

사용자단위의 비용은 싼편입니다.

영상단말은 종류별로 비용의 차이가 있습니다.

 

사실 Cisco Spark는 개인적으로 사용하는 경우 무료입니다.

채팅 부분은 유료와 똑같습니다.

무료의 경우 Spark 내에서 3자 영상통화

외부 영상장비와 1:1 영상통화

문서 공유, Spark Bot 연동 등등 무료에서 대부분 사용이 가능합니다.

유료 제품의 경우 AD, SSO, Exchange 서버 연동, 4자 이상 영상통화, CUCM 연동과 같은 Hybrid 서비스 연동이 제공됩니다.

 

https://www.ciscospark.com 에 접속하시면 Cisco Spark에 대해 자세히 보실 수 있습니다.

https://www.ciscospark.com/downloads.html 에 접속하시면 다운로드 링크를 확인 할 수 있습니다.

 

앱이나 웹에서 Cisco Spark에 처음으로 접속을 하는 경우 입력한 이메일 주소로 비밀번호 설정 관련 이메일이 옵니다.

이메일의 “Set Your Password”를 클릭하고 패스워드를 설정하면 됩니다.

패스워드 요구 사항이 일반적인 것보다 복잡하니 잘 입력해야 합니다.

PC 와 모바일 단말에 로그인해두면 카톡처럼 언제나 채팅을 수신할 수 있습니다.

제 Spark ID는 dikim@icent.co.kr 입니다.

Cisco Collaboration 관련 문의 사항이 있으시면 Spark에서 저를 찾으시면 됩니다.

ATA190 아나로그 전화기 연결하여 세팅

현재 Cisco에서 나오는일반적인 FAX 또는 아나로그 전화기 연결을 위한 장비는 ATA190 입니다.

이전 버전 제품으로는 ATA186, ATA188이 초기 버전이고 그 다음이 ATA187이었습니다.

 

위 장비가 ATA186, 188 입니다. 왼쪽이 ATA186, 오른쪽이 ATA188

ATA186은 랜포트가 1개, ATA188은 랜포트가 2개였습니다. 그리고 SCCP 를 지원했죠

ATA188이 랜포트가 2개인 이유는 IP Phone과 같습니다.

기존 랜케이블을 ATA188에 연결하고 다시 ATA188에서 PC로 연결하는 방식을 지원했습니다.

 

위 장비가 ATA187 입니다.

ATA187이후 제품들은 모두 랜포트가 1개뿐입니다.

전화기 연결을 위한 FXS 포트는 언제나 2개입니다.

ATA187부터 SIP를 지원했습니다.

 

위 제품이 ATA190입니다.

ATA190은 사실 SMB로 나온 제품을 CUCM용으로 변경한 제품입니다.

 

위 사진이 Cisco SMB용 제품 중 하나인 SPA112 입니다. 거의 똑같죠?

 

해당 ATA제품들은 일반 IP Phone들처럼 액정이 있는 것이 아니라 액정화면을 통해서 IP 변경이나 DHCP, Static 설정 불가능합니다.

그럼 어떻게 설정을 하느냐…

아나로그 포트에 아나로그 전화기를 연결해서 음성멘트 즉 IVR 기능을 이용해서 설정을 해야 합니다.

물론 영어로 나옵니다. 말도 사실 알아듣기 힘듭니다.

 

설정 모드 진입은 전화기 수화기 들고 “****” 별을 4번 누르면 됩니다.

그러면 패스워드와 “#”을 누르라고 나옵니다.

기본 패스워드는 “24726” 입니다

“24726#”을 누르면 configuration menu 상태가 됩니다.

 

Action

IVR Code

Navigating Notes

Show IP address

110

 

Configure IP address

111

Available in static IP mode only.

Show subnet mask

120

 

Configure subnet mask

121

Available in static IP mode only.

Show default gateway

130

 

Configure default gateway

131

Available in static IP mode only.

Show TFTP server address

220

 

Configure TFTP server address

221

 

Show VLAN

230

 

Configure VLAN

231

To disable VLAN, set VLAN ID to 4095.
To enable VLAN, set VLAN ID from 1 to 4094.

actory Reset

73738

 

Check Internet Addressing Method

100

Answers with 0, the default option (DHCP).

Set Internet Addressing Method

101

DHCP: 0; Static IP: 1.

Configuration Menu는 위와 같습니다.

설정 방법은 어렵지 않습니다.

VLAN 설정을 변경하고 싶다면 “231#”을 누르면 됩니다.

그리고 VLN을 입력 하고 “#”을 누릅니다. 그러니까 Vlan을 100으로 설정하고 싶으면 “100#”을 누르면 됩니다.

저장은 “1”, 확인은 “2”, 다시 입력은”3″, 취소는 “*” 입니다.

 

IP를 변경하고 싶으신 경우에는 우선 Static으로 변경 후 IP, Subnet mask, Default gateway, TFTP server address 를 수정하면 됩니다.

예를 들어보겠습니다.

IP Address : 10.1.1.100

Subnet mask : 255.255.255.0

Default gateway : 10.1.1.254

TFTP server address : 10.1.1.20

위와 같은 값으로 입력하고 싶은 경우

 

수화기 들고

“****”

“24726”

“101#” + “1#” + “1”

“111#” + “10*1*1*100#” + “1”

“121#” + “255*255*255*0#” + “1”

“131#” + “10*1*1*254#” + “1”

“221#” + “10*1*1*20#” + “1”

수화기 내려놓으면 됩니다.

 

“.”은 “*”로 입력하면 됩니다.

CUCM + Expressway 에서 IP 및 URI 외부발신 설정

CUCM에 연동되어 있는 단말들은 Expressway를 통해서 외부의 다른 단말들과 통화가 가능합니다.

그러니까 Spark , WebEx 또는 다른 회사의 단말과 음성 또는 영상통화가 가능합니다.

해당 기능을 사용하기 위해서는 RMS 라는 라이선스가 필요합니다.

라이선스에 대해서는 이번에 다루지 않고 오직 설정하는 방법에 대해서 설명하도록 하겠습니다.

일반적으로 IP Dialing 방식으로는 Domain URI, IP Address URI, IP Address Dialing 이 있을 것입니다.

Domain URI는 dikim@icent.co.kr , 5936@icent.co.kr, loopback3@cisco.com

IP Address URI 는 111@199.48.152.152, ex90@123.123.123.123

IP Address Dialing 은 140.242.222.12, 140.242.46.50 입니다.

위 3가지 방법 모두 CUCM에서 구현이 가능합니다.

우선 Expressway-C 구성입니다.

우선 Zone을 만듭니다.

추가 할 Zone은 총 2개입니다.

JabberGuest_Zone 은 아닙니다.

우선 Traversal Zone 을 만듭니다.

저는 UC Zone으로 만들었습니다. 차이는 Traversal Zone은 TCP로 보통 설정을 하고 UC Zone은 TLS로만 구성이 가능합니다.

CUCM과는 Neighbor Zone을 만듭니다.

설정은 위와 같고 Zone profile은 CUCM 입니다.

Dial plan configuration 설정은 “Indirect”로 설정합니다.

Transform을 만듭니다.

저는 기본적으로 5개로 구성되어 있습니다.

(.*)\.(.*)\.(.*)\.(.*)@out((:|;).*)? -> \1.\2.\3.\4

  • 10.10.10.10@out 으로 발신 시 “10.10.10.10” 으로 변환

Suffix :5060 -> Strip

  • SIP Invite중 끝에 “:5060 “으로 들어오면 삭제

(.*)\#(.*)\*(.*)\*(.*)\*(.*)@(.*)((:|;).*)? -> \1@\2.\3.\4.\5

  • 111#10*10*10*10 으로 발신 시 “111@10.10.10.10” 으로 변환

(.*)\*(.*)\*(.*)\*(.*)@(.*)((:|;).*)? ->     \1.\2.\3.\4

  • 10*10*10*10 으로 발신 시 “10.10.10.10” 으로 변환

(20\d{7})@(.*) -> \1@acecloud.webex.com

  • 20XXXXXXX 으로 발신 시 “20XXXXXXX@ acecloud.webex.com” 으로 변환

위의 5개중 (20\d{7})@(.*) -> \1@acecloud.webex.com 는 시스코 내부 직원분들중 acecloud 계정으로 되어 있으신 분의 CMR로 접속 시 사용합니다.

위 설정을 추가로 만든 이유는…… 단말에서 URI를 모두 입력하기 귀찮아서 미팅번호만 입력하기 위해서였습니다.

Search rules 입니다.

설정은 3개 입니다.

icent.co.kr 로 끝나면 수정 없이 CUCM Zone으로 호 인입 시 사용합니다.

Any IP address, Any alias 는 모두 Traversal Zone 으로 호를 외부로 발신 시 사용합니다.

Expressway-C 설정은 끝났습니다.

이제 Expressway-E 설정입니다.

먼저 Zone을 만듭니다.

2개의 Zone이 필요합니다.

위와 같이 설정하고 Zone profile 은 Default 입니다.

Traversal Zone도 만들어 줍니다.

위 설정은 UC Zone입니다. Traversal Zone으로 만드셔도 됩니다.

Dial plan configuration 설정은 “Direct”로 설정합니다.

Transforms 설정은 1개입니다.

외부에서 Expressway-E의 IP로 발신하는 경우를 위해 추가 합니다. 예로 123@123.123.123.123 로 호가 들어 오는 경우

Expressway-E의 IP로만 들어오는 호는 수신이 불가능합니다. 예로 123.123.123.123 은 VCS와 Expressway에서 지원하지 않습니다.

(.*)@(icent\.co\.kr).* -> \1@\2 으로 변환해서 Traversal Zone으로, 호 인입 시 사용 됩니다.

Traversal Zone 에서 올라온 도메인 및 IP 발신은 DNS Zone 으로 , 호 발신 시 사용 됩니다.

Expressway-C 와 E 모두 Interworking mode를 “On”으로 설정합니다.

Expressway 설정은 끝났습니다.

이제 CUCM 설정입니다.

우선 Expressway-C와 연동을 위한 Trunk를 설정합니다.

다음으로 SIP Route Pattern 설정입니다.

저는 기본적으로 4개를 추가 했습니다.

“*.*”과 “out”은 Domain Routing 이고 “1.0.0.0/1” 과 “128.0.0.0/1” 은 IPAddress Routing 입니다.

“*.*” 은 123@icent.co.kr 과 같은 Domain URI 때 사용합니다.

“out” 은 IP Address Calling을 할 때 사용하려고 만들었습니다.

123.123.123.123 을 CUCM에 연동되어 있는 단말에서 입력하면 “.”은 무시되어 발신을 할 수가 없습니다.

대신 123.123.123.123@out 과 같이 도메인 URI 처럼 입력을 하면 인식합니다.

123.123.123.123@out 으로 Expressway로 보내면 Expressway에서 out을 지우고 IP Address Dialing 으로 변환합니다.

해당 설정은 Expressway 설정에서 진행 했습니다.

“1.0.0.0/1” 과 “128.0.0.0/1″은 123@123.123.123.123 과 같이 IP Address URI로 발신 시에 사용합니다.

0.0.0.0/0 으로 입력하고 싶지만 CUCM에서 에러 납니다.

1.0.0.0/1 은 1.0.0.0 ~ 127.255.255.255 까지

128.0.0./1은 128.0.0.0 ~ 255.255.255.255 까지 를 수용합니다.

위 2개만 입력하면 모든 IP Address를 수용합니다.

Route Patterns 설정입니다.

!#!*!*!*! 은 123@123.123.123.123 과 같이 IP Address URI 발신 시 사용합니다.

입력은 123#123*123*123*123 으로 합니다.

만든 이유는 DX650이나 8845, 8865와 같이 영상이 되는 IP Phone에서 입력하기 편하고자 만들었습니다.

물론 영상통화가 안되는 단말에서도 발신이 됩니다.

!*!*!*! 은 “123.123.123.123”과 같이 IP Address Dialing 발신 시 사용합니다.

“.”을 입력할 수 없기 때문에 대신 “*”을 사용합니다.

“20XXXXXXX” 은 Cisco Acecloud WebEx로 룸넘버를 통해서 발신하고자 할 때 사용합니다.

해당 설정은 모두 Expressway에서 변환 작업이 이루어지고 해당 설정은 모두 위에서 진행 했습니다.

Jabber에서 368004@lifesizecloud.com 로 발신 테스트

Jabber에서 111@199.48.152.152로 발신 테스트

Jabber에서 140.242.222.12@out 으로 발신 테스트

Jabber에서 “140*242*222*12” 으로 발신 테스트

Jabber에서 8378#109*239*231*232으로 발신 테스트

IP Phone에서 8378#109*239*231*232 으로 발신 시에도 정상적으로 발신이 됩니다.

물론 영상 없이 음성만으로 연결 됩니다.

해당 방법을 이용한다면 CUCM + Expressway로 구성된 2개의 회사가 IP Phone에서 IP Phone으로 VOIP 통화가 가능할 것 입니다.

Expressway를 통한 CMS WebRTC 구현

Expressway 8.9.2 이상

CMS 2.1.4이상이면 Expressway를 통한 CMS WebRTC 구현이 가능합니다.

 

CMS를 내부 전용으로 사용하면서 WebRTC를 구현하는 경우라면 해당 기능을 사용할 만 합니다.

물론 CMA를 통한 접속은 불가능합니다.

모바일의 경우 안드로이드는 접속이 가능하지만 IOS는 접속이 불가능 합니다.

 

구현 환경은

Expressway 8.10 = Edge는 공인IP, Core 는 사설IP 로 모두 싱글NIC

CMS 2.2.4 = 사설IP

Expressway-E

  • 도메인 : expe3.icent.co.kr
  • 인증서 CN :expe3.icent.co.kr, 추가 DNS : join.icent.co.kr (CMS Host name)

 

Expressway-C

  • 도메인 : expc3.icent.co.kr
  • 인증서 CN : expc3.icent.co.kr

 

CMS

  • 도메인 : join.icent.co.kr

 

외부 DNS

expe3.icent.co.kr -> Expressway-E 공인 IP

join.icent.co.kr -> Expressway-E 공인 IP

 

내부 DNS

expe3.icent.co.kr -> Expressway-E 공인 IP

expc3.icent.co.kr -> Expressway-C 내부 IP

join.icent.co.kr -> CMS 내부 IP

 

 

Expressway-C 와 E의 Administration 에서 Web Administrator port를 443에서 다른 값으로 변경합니다.

저는 7443으로 변경했습니다.

CMS의 WebRTC가 기본적으로 443 port 를 사용하기 때문에 Expressway는 443 port를 사용할 수 없습니다.

설정을 변경하고 재부팅을 진행합니다.

 

Expressway-C 에서 CSR을 만듭니다.

만들어진 CSR을 이용해서 인증서를 발급받고 등록 후 재시작 합니다.

 

Expressway-E 에서 CSR을 만들 때는 CMS의 DNS도 추가 해야 합니다.

저는 join.icent.co.kr을 추가 했습니다.

CSR을 이용해서 인증서 발급 및 등록 후 재부팅 합니다.

 

Expressway-C 와 E에 각각 UC Zone을 만듭니다.

 

Expressway-C 의 Configuration – Unified Communications – Configuration 에서 Unified Communications mode를 MRA로 선택합니다.

다른 부분은 설정하지 않습니다.

 

Expressway-C 의 Configuration – Unified Communications – Cisco Meeting Server 에서 Meeting Server Web Proxy를 Enable 로 변경하고

Guest account client URI 에 CMS의 도메인을 입력합니다.

저는 join.icent.co.kr을 입력했습니다. 정상적으로 등록이 되면 CMS의 IP가 보입니다.

 

Expressway-E 의 Configuration – Unified Communications – Configuration 에서 Unified Communications mode를 MRA로 선택합니다.

다른 부분은 설정하지 않습니다.

 

Expressway-E의 Configuration – Traversal – Turn 에서 TURN services를 On으로 변경하고

“Configure TURN client credentials on local database” 에서 CMS에서 인증용으로 사용할 user를 하나 만듭니다.

 

Expressway-C의 Status – Unified Communications 입니다.

Unified Communications SSH tunnels status 는 정상입니다.

 

Expressway-E 입니다.

 

Expressway-E의 Unified Communications SSH tunnels status 도 정상입니다.

 

여기까지 하면 Expressway 설정은 끝입니다.

이제 CMS에서 간단한 설정만 하나 해주면 됩니다.

 

Postman을 이용해서 CMS에 설정을 하나 추가 합니다.

https://CMS IP:445/api/v1/turnservers/ 에

serverAddress 에 Expressway-C의 IP

clientAddress 에 Expressway-E 의 IP

type 에 “expressway”

username 에 Expressway-E의 Turn 설정에서 만든 계정 ID

password 에 Expressway-E의 Turn 설정에서 만든 계정 Password

tcpPortNumberOverride 에 “3478”

을 입력하고 Send를 선택합니다.

 

GET으로 설정이 잘 입력된 것을 확인합니다.

 

설정이 잘 되었는지 확인하는 방법은

외부에서 Expressway-E의 IP나 Domain으로 접속 시

위와 같이 “Bad Request” 라고 나오며 화면에 아무것도 안 나옵니다.

 

정상적으로 접속하면 위와 같습니다.

Expressway의 Turn에서 보면 175.223.30.52 IP 가 보입니다.

제 노트북에 테더링을 이용해서 테스트 하였습니다.

공인인증서를 통한 MRA 구성 (Collaboration Endpoins, without Jabber)

오늘은 공인인증서를 포함한 MRA 구성을 해보고자 합니다.

공인인증서를 Expressway-E 만 발급받고 등록했으며 인증서의 도메인은 하나뿐입니다.

테스트를 위해서 30일짜리 인증서를 이용했습니다.

 

환경은

CUCM 11.5.1 – 1대

Expressway 8.10.0 으로 E와 C

메인 도메인은 imeeting.co.kr

CUCM은 도메인으며 기본 인증서

Expressway-C 는 expc.imeeting.co.kr

Expressway-E 는 expe.imeeting.co.kr 입니다.

내부 DNS는 Windows 2012

A 호스트 = expe.imeeting.co.kr -> expe의 IP

imeeting.co.kr은 가비아에 등록 되어있으며 가비아의 네임플러스 서비스를 통해서 A호스트와 SRV 서비스를 설정 했습니다.

A 호스트 = expe.imeeting.co.kr -> expe의 IP

SRV = _collab-edge._tls.expe.imeeting.co.kr -> expe.imeeting.co.kr

SRV 의 collab-edge 등록 할 때 host에 expe를 포함해야 합니다.

테스트에 사용할 도메인이 expe.imeeting.co.kr 이기 때문입니다. 이유는 공인인증서 발급을 단일 도메인으로 받기 때문입니다.

 

기본적으로 Expressway C와 E를 설치하고 라이선스를 입력하는 부분은 넘어 가겠습니다.

Expressway 8.10.0을 처음 설치 해봤는데 admin 패스워드랑 Root 패스워드까지 다 바꾸도록 나옵니다.

 

먼저 Expressway-C 입니다.

System name 입력합니다.

 

DNS 설정 합니다.

 

SIP 설정에서 TCP를 On 합니다.

 

Domain을 설정합니다.

도메인 설정에 “imeeting.co.kr”이 아닌 “expe.imeeting.co.kr” 을 이용하는 이유는 공인인증서를 expe.imeeting.co.kr 로 1개만 받았기 때문입니다.

만일 expe.imeeting.co.kr 와 imeeting.co.kr 로 2개의 도메인에 대해서 공인인증서를 받았다면 Exp-C의 Domains 설정은 imeeting.co.kr로 하면 됩니다.

 

Mode를 MRA로 설정하고 “Authorize by user credential” 을 On으로 변경합니다.

 

CUCM을 등록합니다.

영상단말과 IP Phone만 등록하기 때문에 IM&P는 설정하지 않습니다.

 

이제 Expressway-E 입니다.

System name 설정합니다.

 

DNS 설정합니다.

 

SIP 설정에서 TCP를 On 합니다.

 

Mode를 MRA로 설정합니다.

위 캡쳐는 모든 설정이 완료 된 후이기 때문에 아래 부분에 CUCM이 연동 된 것으로 보입니다.

 

이제 인증서를 등록합니다.

우선 CSR을 만듭니다. 정보는 대충 넣었습니다.

 

“Show (PEM file)”을 눌러서 CSR값을 복사합니다.

 

제가 좋아하는 XCA(인증서 발급이 쉬워서)에서 오른쪽 마우스 “Paste PEM data”를 선택하여 CSR을 등록하고 Sign 합니다.

 

Sign된 인증서를 선택하고 File로 Export 합니다.

 

찾아보기를 선택하고 다운받은 CRT 파일을 업로드 합니다.

 

EXP-E에서도 CSR을 만들고 해당 CSR을 이용해서 공인인증서를 발급받습니다.

공인인증서 발급은 http://collaboration.me/archives/570 을 참조하면 될 것 같습니다.

 

EXP-C 의 Trusted CA 입니다.

 

EXP-E의 Trusted CA 입니다.

 

이제 Zone을 만듭니다.

 

먼저 EXP-C 입니다.

이미 모든 설정이 다 된 상태라 Active로 보입니다.

 

이번에는 EXP-E 입니다.

local authentication database에 Zone에서 사용하는 User도 만들어 줘야 합니다.

 

Expressway에서 하는 작업은 모두 끝났습니다.

CUCM에서 DX80 과 CP-7821을 등록하고 Enduser 1000에 DX80을 1001에 7821을 설정했습니다.

CUCM도 설정이 완료 되었습니다.

 

DX80에서 설정을 해보도록 하겠습니다.

CUCM 인증서가 모두 지워진 상태입니다.

 

별도의 인증서를 등록하지 않았습니다.

 

서비스 활성화를 선택합니다.

 

기타 서비스를 선택합니다.

 

“Cisco UCM Expressway를 통해” 를 선택합니다.

 

사용자 ID 와 Password를 입력하고 도메인에 “expe.imeeting.co.kr”을 입력하고 적용을 선택합니다.

 

등록이 완료 된 것을 확인 할 수 있습니다.

 

내선번호 1000번이 잘 보입니다.

 

CUCM의 CTL과 ITL 인증서도 잘 받아 왔습니다.

 

위와 같이 연락처도 Expressway 를 통해서 잘 받아 오는 것을 확인 할 수 있습니다.

 

DX80의 전화번호부에서도 Enduser 정보를 잘 받아오는 것을 확인 할 수 있습니다.

 

CP-7821의 경우 도메인에 expe.imeeting.co.kr 를 입력하고 로그인 정보를 입력하면 등록이 됩니다.

아래는 등록된 상태입니다.

 

 

 

CUCM에 단말들이 정상적으로 등록 되어 있는 것을 확인 할 수 있습니다.