구글 챗으로 LG U+ 센트릭스 전화 알림 받기 1/3
1. 연재기사 소개
이 연재기사에서는 LG U+ IMS 센트릭스 기업 인터넷 전화로 전화가 올 때에, 구글 챗으로 알림을 보내는 방법을 소개합니다.
고객 응대를 위해서 기업 인터넷 전화를 사용하는 경우, 전화가 올 때에 고객이 우리 DB에 이미 있는 고객인지 또는 신규 고객인지 구글 챗을 통해 알 수 있다면 좋지 않을까요? LG U+ IMS 센트릭스 기업 인터넷 전화의 Open API를 활용하면 여러 가지 편의 기능들을 구현할 수 있습니다. 기사에서 필요한 부분을 확인해보세요.
이번 포스트는 1번째 포스트로 운영 중인 서버가 없는 경우, 고정 IP 서버를 세팅하는 방법을 소개합니다.
구글 챗으로 LG U+ 센트릭스 전화 알림 받기 1/3
구글 챗으로 LG U+ 센트릭스 전화 알림 받기 2/3
구글 챗으로 LG U+ 센트릭스 전화 알림 받기 3/3
2. LG U+ IMS 센트릭스 기업 인터넷 전화
LG U+에서는 기업 인터넷전화 센트릭스 서비스를 제공하고 있습니다. 이 포스팅에서는 센트릭스 서비스를 사용하는 경우에 구글 챗에 알림을 보내는 방법을 소개합니다.
LGU+ 기업 인터넷전화 센트릭스 서비스 상세보기
LG U+에서 Open API 도 함께 제공하고 있어서 전화 수신 알림, 전화 걸기, 문자 보내기 기능을 구글 워크스페이스 안에서 개발할 수 있습니다. (회원인 경우에만 로그인해서 관련 매뉴얼을 다운로드 할 수 있습니다.)
LGU+ Open API 상세보기
기본적인 구성은 여타 API와 대동소이합니다.
• 요청 URL: API별로 제공됩니다.
• METHOD: POST 또는 GET을 사용합니다.
• 파라미터: 각 API별로 파라미터를 세팅합니다.
다만, 전화 수신시 알림을 해주는 기능은 callback URL을 설정해야 하는데, 이 URL은 고정 IP여야 하고, callback URL에 확장자가 있어야 하는 제한 조건이 있습니다.
당근에서도 이 API를 사용해서 슬랙으로 알림을 받는 시스템을 구축하셨던 것 같은데, 아래의 포스트를 참조해보실 수 있습니다.
스타트업에서 전화응대 고객센터 간단히 구축하기 – 당근 테크 블로그
2. 전화 수신 알림: 서버 세팅하기 (가비아 VPC)
전화 수신시 URL 알림 기능을 사용하기 위해서는 LG U+의 서버에 전화 이벤트가 발생시 알림을 받을 URL을 설정해주어야 합니다.
매뉴얼에서는 다음과 같이 프로세스를 설명하고 있습니다. API로 사용자 인증정보와 함께 callback URL을 보내면 등록 성공 또는 실패 응답을 받습니다.

callback URL을 등록해야 하는데, 앱스 스크립트 개발자의 경우에는 어떻게 해야할까요?
앱스 스크립트에도 외부에서 보내주는 데이터를 수신할 수 있도록 doPost, doGet 함수가 존재합니다. 하지만 LG U+에 callback URL을 등록할 때는 고정 IP가 필요한데, 이를 앱스 스크립트에서는 구할 수가 없습니다.
그래서 고정 IP로 된 서버를 세팅할 필요가 있습니다.
간단하고 저렴하게 가비아에서 제공하는 서버를 세팅할 수 있습니다. (어떤 서버든 상관없습니다. 단지 응답을 릴레이할 것이기 때문에 최소한의 스펙을 가진 서버면 됩니다.)
가비아 홈페이지에서 가상 서버 서비스에 Micro 가 있는데, 24년 8월 기준 월 5,000원에 제공되고 있습니다. 이걸 신청하는 것으로 충분합니다.

가비아에 로그인한 뒤 신청하기를 누르면 가비아 클라우드 콘솔에 접속하게 됩니다.

왼쪽의 컴퓨터 메뉴에서 서버를 선택하면 서버 생성하기가 있습니다.

서버 생성하기를 누르면 단계별로 친절하게 안내하고 있습니다. 일단 서브넷을 새로 만들어야 합니다. 새로 만들기를 누르면 팝업으로 생성화면이 표시됩니다.

공인 IP를 할당하고 인터넷 접속이 가능해야 하기 때문에 퍼블릭으로 옵션을 선택하고, 서브넷이름을 적절히 설정해서 생성합니다.

다시 서버 생성화면으로 돌아가서 새로고침을 누르면 생성한 서브넷이 표시되니 이를 선택합니다.

서버 사양은 Micro로 선택합니다.

서버의 OS를 선택합니다. 예전에는 CentOS가 있었는데, 이제 Rocky Linux와 Ubuntu, Windows 중에 선택할 수 있습니다. 익숙한 서버를 선택하시면 되는데, 포스트에서는 우분투로 선택하겠습니다.

공인 IP를 사용으로 선택합니다.

방화벽을 설정합니다. 새로 만들기를 누르면 새 창에서 세팅할 수 있습니다. 위에서 만들었던 서브넷을 선택하고, 방화벽 타입은 일반으로 설정합니다. 인바운드, 아웃바운드 규칙은 기본 세팅으로 좋습니다.

하나 유의할 점이 있는데, 방화벽이 허용할 해외국가로 미국을 지정해주어야 합니다.

방화벽 세팅이 완료되면 다시 서버 신청페이지에서 생성한 방화벽을 선택하고 서버 생성을 마무리합니다. 서버가 정상적으로 생성되고 나면 패스워드를 이메일로 받을 수 있습니다.

3. 전화 수신 알림: 서버 세팅하기 (우분투-PHP)
서버는 완전히 깨끗한 상태이기 때문에 callback URL의 파일을 무엇으로 할지에 따라 인스톨해야하는 항목들이 달라집니다. 이 포스트에서는 php 로 callback URL을 만들 것이기 때문에 기본적으로 웹서버와 php, php-curl을 설치합니다.
다음은 맥의 터미널 기준으로 세팅하는 단계입니다. 먼저 터미널에서 ip주소로 접속합니다. 비밀번호는 이메일로 도착해있습니다.
1 |
ssh root@ip주소 |

먼저 패키지 업데이트부터 진행합니다.
1 |
sudo apt update |
아파치 웹서버를 설치합니다.
1 |
sudo apt install apache2 |
올바르게 설치가 되면, IP주소로 접속했을 때 아파치의 기본 페이지가 표시됩니다.

다음으로 php 를 설치합니다.
1 |
sudo apt install php |
이어서 php-curl을 설치합니다. 이후에 callback URL에서 받은 정보를 앱스 스크립트로 보낼 때 사용합니다.
1 |
sudo apt install php-curl |
설치후에는 활성화해주어야 합니다.
1 |
php enmod curl |
서버를 재로드해줍니다. 재로드해주어야 curl이 정상적으로 동작합니다.
1 |
systemctl reload apache2 |
php가 정상적으로 동작하는지 확인하기 위해서 다음과 같은 샘플 파일(phpinfo.php)을 만들어서 FTP를 통해서 서버에 업로드 합니다.
1 2 3 |
<?php phpinfo(); ?> |
FTP의 설정은 SFTP로 합니다.

폴더는 /var/www/html 를 지정해서, phpinfo.php 파일을 업로드 합니다. 그리고 IP주소 뒤에 파일명을 붙여서 접속합니다. (http://117.52.84.240/phpinfo.php) 다음과 같은 화면이 나오면 성공입니다.

이제 LG U+ 센트릭스 서비스에 callback URL을 등록할 서버 세팅이 완료되었습니다.
이어서 callback URL에 사용할 파일을 만들어야 하는데 다음 포스트에서 이어집니다.