Video Call Test 정보

영상회의 시스템을 구축 후 외부의 누군가와 통화 테스트를 하고 싶은데 마땅한 곳이 없는 경우 테스트 하기 좋습니다.

아니면 Spark 로 영상통화가 잘 되나 테스트 해볼 때 이용해도 좋을 것 같습니다.

 

우선 SIP 와 H.323을 모두 지원하는 사이트 입니다.

대부분 720p를 지원합니다.

testcall@lifesizecloud.com
– 연결되면 안내 멘트가 나오고 접속자의 영상 녹화 했다가 다시 플레이 해줌

 

368004@lifesizecloud.com
– 라이프사이즈 홍보 동영상이 나옵니다.

 

0262463194@csiro.au
– Cisco Telepresence Sever 에 접속되고 CSIRO 홍보 동영상이 나옵니다.

 

loopback2@cisco.com
loopback3@cisco.com
– 접속자의 영상을 되돌려서 보내줍니다.

 

111@199.48.152.152
– 앵무새가 나와서 접속자의 말을 따라 합니다.

 

8378@easymeeting.net
8378@109.239.231.232
– 위 2개는 같은 정보입니다. 연결되면 비디오 테스트 관련 안내가 나옵니다.

 

Spark 에서 IP로 된 URI로 통화연결시에는 URI앞에 “sip:” 붙여줘야 합니다.

“sip: 111@199.48.152.152” 와 같이 말입니다.

 

이번에는 H.323 을 사용하는 사이트 입니다.

아래정보는 폴리콤 사이트에서 가져온 정보입니다.

주소는 http://support.polycom.com/content/support/North_America/USA/en/support/video/video-test-numbers.html 입니다.

US Test Numbers (Andover, MA)

System Type: RealPresence Group 700

Network Interface: IP Only

Capabilities: up to 1920k @ 60fps

Software: 4.1.5-180072

Test Numbers:

Number to Dial (LAN/IP): 140.242.250.200

 

Network Interface: IP Only

Capabilities: up to 1920k @ 60fps

Software: 4.1.5-180072

Test Numbers:

Number to Dial (LAN/IP): 140.242.250.204

 

System Type: HDX 7000

Network Interface: PRI ISDN

Capabilities: LAN/IP: up to 1920k @ 60fps ISDN: 1472k @ 60fps

Software: 3.1.5-5568

Test Numbers:

Number to Dial (LAN/IP): 140.242.250.202

ISDN: 978-292-2840

 

System Type: HDX 8000

Network Interface: IP Only

Capabilities: up to 1920k @ 60fps

Software: 3.1.5-5568

Test Numbers:

Number to Dial (LAN/IP): 140.242.250.203

 

Network Interface: IP Only

Capabilities: up to 1920k @ 60fps

Software: 3.1.5-5568

Test Numbers:

Number to Dial (LAN/IP): 140.242.250.205

 

System Type: HDX 9004

Network Interface: IP Only

Capabilities: up to 1920k @ 60fps

Software: 3.1.5-5568

Test Numbers:

Number to Dial (LAN/IP): 140.242.250.201

 

System Type: TPX 300

Network Interface: IP Only

Capabilities: up to 2Mbs (per codec)

Software: 3.1.2

Test Numbers:

Codec 1 IP: 140.242.250.223

 

EMEA Test Numbers (UK)

System Type: RealPresence Group 500

Network Interface: IP Only

Capabilities: up to 1920k @ 50fps

Software: 4.1.5

Test Numbers:

Number to Dial (LAN/IP): 140.242.46.55

 

System Type: HDX 8000

Network Interface: IP Only

Capabilities: up to 1920k @ up to 50fps

Software: 3.5

Test Numbers:

Number to Dial (LAN/IP): 140.242.46.49

 

Network Interface: IP Only

Capabilities: up to 6144k @ up to 50fps

Software: 3.5

Test Numbers:

Number to Dial (LAN/IP): 140.242.46.50

 

APAC Test Numbers (Tokyo, Japan)

System Type: HDX 9006

Capabilities: up to 6Mbps

Software: HF3.1.4_04-43145

Test Numbers:

Number to Dial (LAN/IP): 140.242.222.12

 

사실 H.323은 테스트 해보지 못했습니다.

제가 테스트 할 수 있는 환경이 대부분 SIP 환경입니다.

여러분들이 한번 테스트 해보시기 바랍니다.

VG로 인입된 호 Calling Number 확인하여 다른 VG로 호 보내기

VG로 인인된 호의 Calling Number를 확인해서 다른 VG로 호를 보내는 경우가 어떤 경우일까요?

이런 경우가 많지는 않을 겁니다.

아래 예제는 전자 FAX 서버에서 FAX를 보내는 경우입니다.

 

상황 설명입니다.

  • 현황
    • 본사 와 2개의 지사
    • 모든 지역 VG 보유
    • DID는 본사를 통해서만 인입
    • DOD는 전화기가 위치한 지역의 VG를 통해서 발신
    • 전화FAX는 본사의 VG에 연동되어 발신 시 VG에서 바로 외부로 발신

 

  • 요구사항
    • 전자 FAX에서 지사 사용자가 FAX 전송시 지사의 VG를 통해서 발신이 되야 함
    • 이유는 지역별로 과금이 이루어지기 때문

 

위 기능을 구현하기 위해서 어떤 설정들이 필요할까요?

우선 VG에서 전자FAX와 연결된 E1 Port에 Translation-Rule 설정

Translation-pattern 의 Route Next Hop By Calling Party Number을 이용하면 될 것 같습니다.

 

voice translation-rule 10

rule 1 /^9/ /##9/

 

voice translation-profile FAX

translate called 10

 

dial-peer voice 100 pots

translation-profile incoming FAX

incoming called-number .T

port 0/1/1:15

 

dial-peer voice 101 voip

destination-pattern ##.T

session protocol sipv2

session target ipv4:”CUCM IP”

dtmf-relay rtp-nte

fax-relay ecm disable

fax-relay sg3-to-g3

fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback pass-through g711ulaw

no vad

 

위와 같이 Voice Gateway에 설정을 추가 하였습니다.

FAX 서버에서 90212345678 로 호가 들어오면 ##90212345678 로 변경되어 CUCM으로 전달 됩니다.

 

CUCM에 추가 할 설정들입니다.

Partition 추가

  • PT_VG_TP (From VG / To Translation-pattern)
  • PT_TP_Calling_Check (Calling Number 체크용)

 

Calling Search Space 추가

  • CSS_TP_Calling_Check : PT_TP_Calling_Check

 

그리고 기존 Voice Gateway의 Inbound Calls 의 Calling Search Space 에 설정되어 있는 CSS에 추가적으로 PT_VG_TP 를 추가합니다.

 

Translation patterns 에

Pattern : ##.!

Partition : PT_VG_TP

CSS : CSS_TP_Calling_Check

Route Next Hop By Calling Party Numbe 를 체크

Called Party Transformations의 Discard Digits에 PreDot으로 설정합니다.

 

이제 ##90212345678 은 90212345678으로 변경되었고 Calling number를 체크합니다.

 

이번에는 Calling Number 확인용 Translation patterns을 추가합니다.

Branch 1용

Pattern : 1201

Partition : PT_TP_Calling_Check

CSS : “Branch1의 VG 발신되는 CSS”

 

Branch 2용

Pattern : 1301

Partition : PT_TP_Calling_Check

CSS : “Branch2의 VG 발신되는 CSS”

 

모든 설정이 완료되었습니다.

 

해당 기능을 사용할 일이 많지는 않겠지만 스팸전화를 막기 위해 알게 되었던 Translation-pattern 의 Route Next Hop By Calling Party Number 기능을 응용한 방법이라 정리해 보았습니다.

Expressway 또는 VCS 에 들어오는 SIP 공격 막기

Expressway 나 VCS를 구축하고 나면 외부로부터 엄청난 SIP 공격이 들어옵니다.

 

오늘 아침에 Call History 입니다. 아침 7시를 기준으로 보니 한 시간 동안 15번정도 호가 들어 왔네요

참 쉬지 않고 많은 넘들이 돌아가면서 공격하는군요

 

저 같은 경우 도메인이 아닌 IP로 된 수신자로 호가 들어 오는 경우 내부로 호가 들어가지 않게 설정합니다.

외부에서 영상통화를 하고자 하는 경우 보통 도메인으로 안내를 하기 때문에 IP로 통화를 하는 경우는 거의 없습니다.

 

그외에 외부로 부터의 공격을 어떻게 막아야 할까요?

위의 그림을 자세히 보면 공격하는 넘들은 Source가 항상 Destination의 IP와 같은 IP로 설정을 합니다.

이런 경우 막기 쉽습니다.

Expressway의 CPL을 사용합니다.

설정하는 위치는 configuration – Call Policy – configuration 입니다.

우선 “Call Policy mode”를 “Local CPL” 로 변경하고 “Save” 합니다.

 

그리고 XML 문서를 하나 만듭니다.

<cpl xmlns=”urn:ietf:params:xml:ns:cpl” xmlns:taa=”http://www.tandberg.net/cpl-extensions” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”urn:ietf:params:xml:ns:cpl cpl.xsd”>

<taa:routed>

<taa:rule-switch>

<!– EXP-E IP로 된 발신자정보를 사용하는 호 인입되는 경우 모두 block –>

<taa:rule unauthenticated-origin=”(.*)@“Expressway-E의 IP” destination=”(.*)”>

     <reject status=”404″ reason=”Denied by policy”/>

     </taa:rule>

<taa:rule unauthenticated-origin=”(.*)” destination=”(.*)”>

<!– All other calls allowed –>

<proxy/>

</taa:rule>

    </taa:rule-switch>

</taa:routed>

</cpl>

 

내용은 위와 같습니다.

위의 “Expressway-E의 IP” 부분을 수정해 주시면 됩니다.

수정할때는 123\.123\.123\.123 으로 합니다.

IP를 입력할때는 “.”를 “\.”로 입력해야 합니다.

“.”를 1개의 Digit로 보는게 기본이라 특수문자를 그대로 입력하고 싶으면 “\”를 문자 앞에 입력해야 합니다.

한글이 들어 있으니 저장할 때 UTF-8로 저장합니다.

 

Select the new Call Policy file 의 찾아보기를 눌러서 XML 파일을 업로드하면 설정은 끝입니다.

 

잘 입력되면 위와 같이 successful 이 보입니다.

 

위와 같이 Source가 Expressway의 IP로 호가 들어 오는 경우 Status가 404 Denied by policy 로 보이면서 호가 막히는 것을 확인 할 수 있습니다.

Cisco TelePresence Server 회의룸에서 멘트 끄기 및 Display Name 숨기기

Cisco Telepresence Server 가 요즘 Cisco Meeting Server에 밀려 구축 하는 사례가 별로 없을 것이라 생각합니다.

사실 전 얼마 전 CMS 대신 vTS를 구축했습니다.

다자간 룸 접속 시 나오는 환영 멘트와 메시지를 수정하기에는 vTS가 더 좋기 때문입니다.

CMS의 경우 Branding 이라는 License 를 추가로 구입해야 하는데…그 금액이 너무 비쌉니다.

 

다자간 룸에 접속할 때 나오는 환영멘트가 너무 시끄럽다고 꺼달라는 고객이 이었습니다.

그리고 처음에 접속하는 사람에게는 혼자 있다는 멘트까지 들립니다.

모두 안 나오게 하고 싶은 경우

Conductor 의 Conference templates 의 Parameter – customParams에

{“customOnlyParticipantAudio”:””,”useCustomOnlyParticipantAudio”:true,”welcomeScreen”:false}

를 추가 합니다.

설명을 하자면 “혼자 있다는 멘트 수정 “기능을 사용하지만 값은 “Null ” 입니다.

그리고 웰컴멘트는 끕니다.

 

PIN 코드 입력하라는 멘트까지 모두 끄고 싶다면

{“customOnlyParticipantAudio”:””,”customPINEntryAudio”:””,”useCustomOnlyParticipantAudio”:true,
“useCustomPINEntryAudio”:true,”welcomeScreen”:false}

를 입력합니다.

 

혹시나 접속자의 이름이 보이지 않게 하고 싶다면

{“callAttributes”:{“displayShowEndpointNames”:false}}

를 입력하면 됩니다.

 

기타 설정이 많이 있지만 보통 이정도를 사용할 것 같습니다.

Cisco CE 9.0.1

지난 3월에 작성한 CE 9.1.0 버전 관련 글에 추후 화상장비들 아이콘이 변경 될 것 같다고 했는데..

역시나 4월에(지금은 5월말인데… 이제야 글을 쓰네요.) CE9.0.1 버전에 아이콘과 배경 이미지가 변경 되었습니다.

버전이 CE 9.0.1 이라고 되어 있습니다.


메인 화면 입니다.

 

통화 버튼을 눌렀을 때 화면

 

설정 버튼을 선택 했을 때의 화면입니다.

역시나 예전 버전에 비해 아이콘이 이쁩니다.

Cisco CE 9.1 ?

얼마전 테스트를 위해서 제가 쓰고 있는 DX80을 Spark 에 연동을 한적이 있습니다.

몇일 외근을 다녀왔더니 Spark 에서 DX80의 OS를 업그레이드를 하였습니다.

기존 DX80의 바탕화면은 Cisco의 산배경 그림이었습니다.

하지만 위와 같이 알록달록한 배경으로 변경되었습니다.

화면의 아이콘도 기존과 다르게 변경이 되었습니다.

이 아이콘들은 기존 ACANO의 문서들에서 보이던 아이콘입니다.

통화 시 화면 입니다.

Spark에 연동되어있던 DX80을 다시 CUCM에 연동하기 위해 초기화를 하였습니다.

초기화를 하면 DX80의 Firmware 이름이 기존 Spark OS에서 CE로 이름이 변경이 됩니다.

위와 같이 Firmware 버전이 CE9.1.0 입니다.

현재 Cisco에서 정식으로 나온 Firmware 버전은 CE8.3.1 입니다. (2017.3.27 기준)

앞으로 나올 CE 버전을 미리 만나본 느낌입니다.

Cisco Meeting Server 2.1.2

2017년 1월 27일에 CMS 2.1.2 버전이 새로 나왔습니다.

얼마 전 CMS가 2.1 버전으로 업그레이드 되며 Web bridge가 2.0 버전으로 바뀌면서 사용자들이 불편하다는 의견이 반영이 되었는지

CMS 2.1.2 버전에서는 Web bridge 버전이 1.9 로 돌아갔습니다.

 

 

저는 설 연휴가 끝난 오늘 아침 출근하자 마자 CMS 2.1.2를 설치해 봤습니다.

위 캡쳐를 보시면 2.1.2 버전 인 것을 확인 할 수 있습니다.

CMS 2.1 이상 버전의 새로운 기능인 “CMA user Settings” 도 보입니다.

 

첫화면이 CMS 2.0.X , 그러니까 Web bridge 1.9 버전 화면인 것을 확인 할 수 있습니다.

 

CE8.3 버전에 CMS 2.1 을 사용해서 Layout 변경 기능을 사용하고자 했으나

CMS 2.1의 WebRTC 사용 불편 문제로 업그레이드를 진행 하지 못하던 경우라면 이제 CMS 2.1.2로 업그레이드 진행하시면 될 듯 합니다.

Cisco Meeting Server의 초대 메시지 변경하기

Cisco Meeting App의 Spaces에는 초대를 할 수 있는 기능이 있습니다.

CMS 2.0.8 기준 초대 메시지 내용은 아래와 같습니다.

———————————————————————————————————————————————————-

내 온라인 미팅에 당신을 초대합니다.

참여를 위해 링크를 클릭: https://join.imeeting.co.kr/invited.sf?secret=wh3bNt6baNHpWX7uhYBjrw&id=8001

다른 곳으로 전화:

– 영상회의 시스템, 재버 또는 링크: 8001

———————————————————————————————————————————————————

해당 내용을 수정해 보겠습니다.

필요한 것은 postman 과 WEB server가 필요합니다.

설정을 CMS에 직접 하는게 아니라 메시지 내용이 있는 txt 파일을 웹서버에 올려두고 해당 파일을 불러오는 방법을 사용합니다.

저는 위와 같이 내용을 만들었습니다.

내용을 설명드리면 처음 부분은 이름이 있으면 “당신을 %name%에 초대합니다.” 가 나오고

이름이 없으면 “당신을 iMeeting의 space에 초대합니다.” 가 나옵니다.

그 다음은 하이퍼링크가 있거나 없거나

Uri가 있으면 표시 없으면 표시 안함

번호 ID가 있으면 표시 없으면 표시 안함

패스코드가 있으면 표시 없으면 표시 안함

뭐 이런 내용입니다.

해당 TXT 파일을 웹서버에 올립니다.

저는 invitation_template.txt 이라는 이름으로 저장했습니다.

https://cms.imeeting.co.kr:445/api/v1/callBrandingProfiles 을 GET했더니 아무것도 없습니다.

Key에 invitationTemplate을 입력하고

Value에 아까 만든 웹서버의 TXT 파일 위치를 입력합니다.

그리고 POST를 합니다.

GET으로 값이 잘 입력 된 것을 확인 했습니다.

callBrandingProfile id 값을 복사 해 둡니다.

https://cms.imeeting.co.kr:445/api/v1/system/profiles 에

callBrandingProfile=45f2d1b6-9025-4b51-856b-5dbdb47169a2 값을 입력하고

PUT 합니다.

값이 잘 입력 되었습니다.

현재 CMA에 접속상태라면 로그 아웃 했다가 다시 접속합니다.

초대-이메일을 눌렀을 때 나오는 화면입니다.

내용이 잘 변경 된 것을 확인 할 수 있습니다.

Cisco Meeting Server 에서 API를 통한 AD연동하기

API를 통해서 AD를 연동하는 경우는 1개의 CMS에 다수의 AD를 연동하거나

사용자별로 분리를 하기 위해서 Tenant 설정이 필요한 경우에 사용합니다.

 

API를 통해서 AD 를 연동하기 위해서는 우선 GUI에 AD 설정을 삭제해야 합니다.

GUI에 값이 있는 경우 해당 값이 우선합니다.

 

작업 순서는

1. GUI의 AD 정보 삭제

2. Ldap 서버 정보 추가

3. Ldap 정보 Mapping 정보 추가

4. Ldap 소스 추가

5. Ldap User싱크

 

위 그림과 같이 AD 서버에 대한 IP, ID, Password 값을 가지는 다수의 ldapserver 값을 만들 수 있고

CMS의 값과 AD의 값을 Mapping 하는 다수의 ldapmapping 값,

만들어진 ldapserver 값과 ldapmapping값에 BaseDN 값을 추가하는 다수의 ldapsouce 값을 만들 수 있습니다.

모두 만든 상태에서 ldapsyncs를 POST하게 되면 CMS에 User가 생성 됩니다.

 

이제 자세하게 설명해 보겠습니다.

설명은 1개의 AD 서버, 1개의 Mapping 값, 2개의 Source로 설명합니다.

 

https://CMS IP or domain:445/api/v1/ldapServers/ 에

address=AD서버 IP&portNumber=389&username=cn=administrator,cn=Users,dc=imeeting,dc=co,dc=kr&password=패스워드&secure=false

값으로 POST 합니다.

GET으로 값이 잘 들어 간 것을 확인합니다.

ldapServer id를 잘 복사해 둡니다.

 

https://CMS IP or domain:445/api/v1/ldapMappings 에

jidMapping=$mail$&nameMapping=$cn$&coSpaceNameMapping=$cn$의Space&coSpaceUriMapping=$telephoneNumber$&coSpaceSecondaryUriMapping=$mail$&coSpaceCallIdMapping=$telephoneNumber$

값을 POST 합니다.

해당 값들은 원하는 값으로 변경해서 입력하시면 됩니다.

 

GET으로 값이 잘 입력 된 것 확인

ldapMapping id를 복사해 둡니다.

 

https://CMS IP or domain:445/api/v1/ldapSources/ 에

server=2f08a2e6-04ab-49d4-9d3e-ba1269e4d82f&mapping=e02276aa-db2c-4cf1-823e-13a9ae5aaf94&baseDN=ou=endusers,dc=imeeting,dc=co,dc=kr&filter=mail=*icent.co.kr

로 mail 주소가 icent.co.kr 로 된 User용으로 하나 POST 하고

server=2f08a2e6-04ab-49d4-9d3e-ba1269e4d82f&mapping=e02276aa-db2c-4cf1-823e-13a9ae5aaf94&baseDN=ou=endusers,dc=imeeting,dc=co,dc=kr&filter=mail=*imeeting.co.kr

로 mail 주소가 imeeting.co.kr 로 된 User용으로 또하나 POST 합니다.

 

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

 

https://CMS IP or domain:445/api/v1/ldapSyncs 에서

아무 값도 없이 POST를 합니다.

 

CMS에 접속해서 User 가 생성 된 것을 확인 할 수 있습니다.

Cisco Meeting Server 와 CUCM 연동

CMS와 CUCM 간의 SIP 연동은 간단한 편입니다.

CUCM에서 SIP Trunk만 설정해 주면 됩니다.

그 후 Dial 및 Domain 연동 부분을 추가 해야 합니다.

 

제가 진행하는 연동 테스트 환경은

서버

CUCM 9.1

CMS 2.1

Domain

icent.co.kr

imeeting.co.kr

Directory Number

5800 ~ 5999

8000 ~ 8020

 

icent.co.kr의 경우 해당 Domain을 사용하는 개인 이메일 주소로 Call을 하게 되면 Expressway를 통해서 호가 인입됩니다.

imeeting 의 경우 해당 Domain으로 호는 하는 경우 CMS로 바로 호가 인입 됩니다.

 

우선 CUCM 부터 설정해 보겠습니다.

기본적인 설정입니다.

Inbound에 모든 digit를 다 받는 것으로 설정하고

핸드폰까지만 가능한 CSS를 주었습니다.

CMS를 통해서 해외 국제전화를 하지는 않겠죠? (전 테스트용이라 보안상 핸드폰까지만 했습니다.)

CMS IP를 입력했고

암호화 하지 않았습니다.

그리고 중요한 Normalization Script 를 설정했습니다.

왜 이부분이 중요하냐면 전 보안을 위해서 CMS의 IP로 들어 오는 호는 무시하도록 설정하기 때문입니다.

Domain으로 들어오는 호만 받아줍니다.

해당 부분을 설정하지 않으면 CUCM은 CMS로 호를 보낼 때 1000@CMS IP 로 보냅니다.

설정하면 1000@imeeting.co.kr 로 URI가 보내집니다.

SIP Normalization Script의 Content 값입니다.

M = {}

function M.outbound_INVITE(msg)

local method, ruri, ver = msg:getRequestLine()

local uri = string.gsub(ruri, “@(.*):%d+”, “@imeeting.co.kr”)

msg:setRequestUri(uri)

local toheader = msg:getHeader(“To”)

local touri = string.gsub(toheader, “@(.*)>”, “@imeeting.co.kr>”)

msg:modifyHeader(“To”, touri)

end

return M

 

Router Pattern도 만들어 줍니다.

8XXX 로 만들고 CMS로 가게 했습니다.

Domain으로 발신할 수 있게 SIP Route Pattern에 imeeting.co.kr 설정도 추가해줍니다.

CUCM 설정은 끝났습니다.

 

기존에 Multi domain 설정 때 만들어 둔 설정입니다.

기본적인 설정으로 해당 설정까지 되어 있으면 CUCM에서 CMS로 발신이 가능합니다.

 

jabber에서 8001로 발신한 화면입니다.

CMS 초기 화면이 잘 보입니다.

이제 CMS에서 설정을 해보겠습니다.

 

Icent.co.kr Domain은 모두 CUCM IP로 보낸다고 설정하였습니다.

그리고 나머지 모든 Domain은 외부로 발신 됩니다.

Dial Transforms은 CMA에서 핸드폰으로 전화를 걸 때 사용합니다.

58XX와 59XX 는 해당 값에 @icent.co.kr를 붙이고

01로 시작하고 9자리 또는 8자리 숫자가 추가되는 경우에도 @icent.co.kr을 붙이게 설정하였습니다.

Icent.co.kr domain을 붙이면 Outbound calls에 설정값을 보고 CUCM IP 로 호가 가게 됩니다.

나머지 모든 번호는 발신이 안되게 설정하였습니다.

 

내선통화 및 핸드폰으로 발신이 잘 되는 것 확인하였습니다.

별도 테스트 이미지는 올리지 않았습니다.