CUCM에 3rd Party SIP Phone TLS 연동방법
이번에는 CUCM에 DX80과 Linphone을 AS-SIP 로 연동하면서 TLS로 연결하고 SRTP로 미디어 데이터를 주고 받을수 있도록 해보겠습니다.
관공서나 공공기관에서 작업을 하는 경우 보통 CUCM에 암호화 기능을 활성화합니다.
모든 영상단말이 Cisco 제품이면 설정이 간단하지만 가끔 폴리콤과 같은 3rd Party 제품들이 있어서 연동을 해야 하는 경우가 있습니다.
본글에서는 3rd Party 제품이 없어서 DX80을 과 Linphone으로 설정해보도록 하겠습니다.
기본적으로 CUCM은 “utils ctl set-cluster mixed-mode” 명령어로 암호화 기능이 활성화 된 상태 기준입니다.
이전 글인 “CUCM에 3rd Party SIP Phone 연동방법” 에 이어서 설정해 보도록 하겠습니다.
만일 해당 글을 먼저 보면서 설정을 따라해 보시는 경우 이번글을 보시고 기본 설정을 진행 후애 설정을 계속 하시기 바랍니다.
현재 DX80 과 Linphone은 잘 붙어 있는 상태입니다.
먼저 End User 에서 이전에 설정한 2개의 계정에서 Digest Credentials 와 Confirm Digest Credentials 값을 추가 합니다.
해당 값에는 계정에 사용할 비밀번호를 입력해 주면 됩니다.
저는 간단하게 End User 1000과 1001에 1234로 설정했습니다.
이번에는 System – Security – Phone Security Profiles 로 이동해서 Add New 선택
Phone Security Profile Type 에 Third-party AS-SIP Endpoint 선택 후 Next
위와 같이 설정합니다.
Name 과 Description 에는 적당하게 입력 (저는 Third-party AS-SIP Endpoint – SIP Secure Profile 로 입력)
Device Security Mode = Encrypted
Transport Type = TLS
Enable Digest Authentication = 체크 (End User 에서 Digest Credentials 를 입력한 이유가 요것 때문입니다.)
SIP Phone Port = 5061
로 설정하고 Save 선택
이번에는 Device – Phone 에서 설정되어 있는 2개의 Device 설정을 변경합니다.
Device Security Profile 부분을 이전에 설정한 Third-party AS-SIP Endpoint – SIP Secure Profile 로 변경 후 Save를 선택 후 Apply Config – Ok 선택
2개의 단말에 모두 설정합니다.
이제는 인증서를 만들어 보겠습니다.
XCA를 이용해서 우선 RootCA 를 만듭니다. XCA를 이용해서 RootCA 만드는 방법은 “XCA로 인증서 만들기 시리즈 – RootCA” 을 참조하기 바랍니다.
제가 만든 RootCA는 tlstest.co.kr 입니다.
이제 DX80의 인증서를 만들어 보겠습니다.
New Certificate 선택
commonName에 SEP영산단말MAC주소를 입력
Generate a new key 를 선택하고
Create 선택
Ok 선택
Continue rollout 선택
DX80의 인증서 만들어 진 것 확인
이제 Linphone의 인증서를 만들어 보겠습니다.
New Certificate 선택
이번에는 commonName에 sip:DN@CUCM IP 를 입력 (저는 sip:1001@172.16.40.228 입력)
이전과 같이 Generate a new key 를 선택하여 키를 만든 후 OK 선택
Continue rollout 선택
인증서 만들어진것 확인
tlstest.co.kr RootCA 선택 후 Export 선택
적당한 위치 선택 후 OK 선택
다음으로 DX80 인증서 선택 후 Export 선택
적당한 위치 확인 후 Export Format 을 PEM + key(*.pem) 선택 후 OK 선택
이번에는 Linphone 인증서 선택 후 Export
적당한 위치 확인 후 Export Format 을 PEM chain (*.pem) 선택 후 OK 선택
Private Keys 에서 Linphone의 Key 선택 후 Export 선택
적당한 위치에 이전의 인증서와 이름이 중복되지 않게 변경 후 Ok 선택
이제는 인증서를 설치 해 보겠습니다.
먼저 CUCM에 tlstest.co.kr 의 RootCA를 설치 합니다.
Cisco Unified Operating System Administration – Security – Certificate Management 로 이동 후 Upload Certificate/Certificate chain 선택
Certificate Purpose = CallManager-Trust
Upload File = 만들어 둔 tlstest.co.kr 의 RooCA를 선택 후 Upload 선택
정상적으로 업로드 완료 확인
이번에는 DX80 입니다.
DX80의 웹페이지에 접속합니다.
Security – Certificates – Services – Add Certificate 에
Certificate 옆 찾아보기… 선택 후 DX80의 인증서 선택
Upload 선택
정상적으로 업로드 된것 확인
해당 인증서에 SIP 활성화
Backup and Recovery – Restart and Shutdown 에서
Restart 선택하여 DX80 재부팅
이번에는 Linphone을 설정해 보겠습니다.
제가 MAC 이라 Linphone for MAC 기준으로 설명하겠습니다.
/Applications/Linphone.app/Contents/Resources/share/linphone 폴더로 이동하면
위와 같이 linphonerc-factory 파일이 있습니다.
해당 파일을 텍스트 편집기로 엽니다.
기본 설정 값은 위와 같습니다.
위와 같이
[sip]
verify_server_certs=0
client_cert_chain=/Applications/Linphone.app/Contents/Resources/share/linphone/sip_1001@172.16.40.228.pem
client_cert_key=/Applications/Linphone.app/Contents/Resources/share/linphone/sip_1001@172.16.40.228_key.pem
를 입력하고 저장합니다.
이제 위와 같이 이전에 만들어 준 Linphone 의 인증서와 키를 해당 폴더에 복사합니다.
이제 인증서는 만들고 설치까지 완료 했습니다.
이번에는 각 단말들을 설정해 보겠습니다.
먼저 DX80 입니다.
DX80의 SIP 설정에 DefaultTransport 를 TLS 로 변경
Configuration / Conference 에서 Encryption Mode 를 On 으로 변경
이번에는 Linphone 입니다.
Linphone의 설정 – 계정 설정에서 Transport를 TLS 로 변경 후 CONFIRM 선택
Calls and Chat 에서 Encryption 을 SRTP 로 선택 후 OK 선택
이제 모든 설정은 끝났습니다.
CUCM 에서 보면 2개의 단말이 모두 정상적으로 등록 된것 확인 가능합니다.
DX80 에서 SIP 정보를 보면 정상적으로 등록 되었고 Secure 가 True 상태인것을 확인 할 수 있습니다.
Linphone 도 정상 확인
CUCM과 CMS 간에도 TLS로 연동이 된 경우
Linphone 에서 CMS 로 발신을 해도 정상적으로 SRTP로 연결되는것을 확인 할 수 있습니다.
DX80과 Linphone 간에도 정상적으로 SRTP로 연결이 되는것을 확인 할 수 있습니다.
이번글을 여기까지 입니다.
문의 사항은 댓글 남겨주세요.