2014년 4월 30일 수요일

GSMA RCS Configuration Provisioning (1): Network Architecture

RCS Configuration Provisioning 서비스는 RCS 서비스에 필요한 데이타를 단말로 전송하는 절차로, 단말은 네트웍 상의 Configuration Server를 통해 내려받은 파라미터를 이용하여 RCS  서비스에 접속한다. 단말이 내려받은 Configuration 데이타는 서비스 제어를 위한 파라미터외에 IMS 네트웍 접속을 위해 필요한 네트웍 노드의 주소값이나 인증파라미터를 포함하고 있다.

단말이 네트웍으로부터 서비스 파라미터를 내려받을 수 있기 위해 OMA에서는 DM(Device Management)이나 CP(Client Provisioning)와 같은 기술규격을 이미 표준화해 놓고 있다. 하지만 이러한 기존의 기술들은 다소 복잡하여 GSMA RCS에서는 이들 외에 좀 더 가볍고 단순한 configuration provisioning 기술을 정의하고 있는데, 그것이 HTTP(S) 기반의 configuration provisioning이다.




Configuration Server의 네트웍 구성은 configuration server를 중심으로 BSS, Backend Infrasturcture, SM-SC, RCS AS 그리고 UE로 이루어진다. 실제 규격에서는 UE 인터페이스(IF-1)와 IMS Core 인터페이스(IF-2) 그리고 SM-SC 인터페이스(IF-3)만 다루어지고 있으나, 실제 configuration server를 네트웍에 설치하게 되는 경우 그림과 같이 다양한 인터페이스를 고려해야 한다.


IF-1: Ut Inteface
Configuration Server에서 단말로 configuration data를 전송하는 인터페이스로 HTTP(S)를 사용한다. RCSe에서는 단말에서 먼저 서버로 configuration provisioning을 요청하는 절차만 정의되어 있었는데, RCS BlackBird와 RCS 5.x로 오면서 네트웍에서 단말로 notification을 전송하여 단말로 하여금 provisioning을 하도록 triggering을 하는 절차(i.e., Network Initiated Configuration)가 정의되었다. Configuration Server가 단말을 인증하는 방식에 따라 달라질 수 있겠지만, 만일 Configuration Server가 단말을 source IP 기반으로 인증을 한다면 단말과 Configuration Server 사이에 NAT와 같은 주소변환 노드는 없어야 한다. Configuration Server에서 수신되는 메세지의 source IP 주소가 바뀔 수 있기 때문이다. 이 밖에, 단말과의 연동 데이타는 TLS를 이용해 보호되어야 한다.

IF-2: IMS Interface
서비스 약관 동의와 같이 사용자 상호작용이 필요하거나 사용자에게 서비스 공지사항등을 전송하기 위해 Configuration Server는 EUCR(User Confirmation Request) 메세지를 IMS 네트웍을 통해 사용자에게 전송한다. 이 밖에, 규격에는 정의되어 있지 않으나, Configuration Server는 단말 인증을 위한 OTP(One Time Passcode)를 SMS로 전송하기 위해 IMS 네트웍의 IP-SM-GW [3GPP TS 23.204]를 이용할 수 있다. 사업자 망의 SM-SC를 직접 연동하는 대신, IP-SM-GW를 연동하는 방식은 네트웍 비용 및 상태에 따라 고려해 볼 만한 방법이다. 

IF-3: SM-SC interface
RCS 표준에서는 Configuration server가 OTP를 단말로 전송하기 위해 SM-SC를 연동하도록 하고 있으며 이를 위해 SM-SC연동을 위한 MAP 포맷을 정의하고 있다. 일반적으로, SM-SC는 사업자 네트웍에 있는 핵심 장비이기 때문에 사업자 입장에서는 3rd-party 서버가 직접 해당 장비에 접근할 수 있도록 허용 하기란 쉽지 않다.  또한, SM-SC 연동을 위한 프로토콜은 사업자마다 조금씩 다를 수 있고 같은 프로토콜이라도 사업자마다 조금씩 변형하는 경우도 있기 때문에, 실제 SM-SC연동 기능을 탑재하는 경우 별도의 정합 이슈가 발생할 수 있다.

IF-4: BSS(Business Support System)
BSS는 사업자의 가입자 청약 시스템으로, 사용자의 서비스 가입/탈퇴/회원정보 수정등의 역할을 수행하는 네트웍 노드이다. 사용자의 서비스 가입/탈퇴에 따라 해당 사용자의 정보가 BSS를 통해 생성/삭제되고 관리된다. 사용자 정보의 생성/삭제/변경이 발생하는 경우, BSS는 사업자 망의 HSS와 같은 가입자 정보 관리 노드로 해당 사용자 정보를 provisioning하며 이를 service provisioning이라 한다.

RCS Configuration Server는 단말로부터 configuration provisioning 요청을 수신했을 때 해당 단말에 대한 인증을 수행해야 하는데, 이를 위해서 RCS Configuration Server는 HSS와 마찬가지로 가입자 정보를 BSS로 부터 provisioning 받아야 한다. RCS 서비스에서 BSS에 의한 service provisioning이 발생하는 경우는 RCS Client가 embedded client인 경우에 해당한다.

IF-5: Backend Infrastructure interface
RCS Client가 downloadable client로 제공되는 경우, 즉 사용자가 앱스토어로부터 어플리케이션을 다운로드 받고 실행하는 경우, RCS Client는 configuration provisioning을 위해 Configuration Server에 접속한다. RCS Client의 접속이 최초 접속인 경우, Configuration Server는 해당 사용자에 대한 서비스 가입 절차를 수행한다. Configuration Server는 해당 사용자에 대한 가입절차의 일부로 사용자와 단말에 대한 인증을 수행 하고, 인증이 성공적으로 이루어지는 경우 사용자 정보를 사업자 망의 가입자 관리 노드로 전달하게 된다. 이때 사용자 정보가 전달되는 노드는 사업자에 따라 다를 수 있겠지만, RCS가 IMS 기반 서비스임을 고려하면 HSS가 포함될 가능성이 있다. 사업자가 가입자 정보를 관리하는 별도의 네트웍 노드를 가지고 있는 경우, Configuration Server는 해당 노드로 가입자 정보를 전달할 수 있어야 한다.

IF-6: RCS interface
본 인터페이스는 RCS 서비스를 구성하는 IM, Presence, XDMS와 같은 enabler들 간에 RCS configuration parameter를 공유하기 위한 인터페이스로, 규격에 따로 정의되어 있지는 않다. GSMA RCS 표준은 RCS Client를 제어하거나 Enriched RCS 서비스를 제공하기 위해 매우 많은 configuration 파라미터를 정의하고 있는데, 이 가운데 트래픽 제어, 컨텐츠의 길이 또는 크기, 채팅 세션 갯수 제한등과 관련된 파라미터들은 안정적인 RCS 서비스 제공을 위해 필요하며 주로 단말에 의해 일차적으로 참조되고 적용된다. 그러나, 단말 어플리케이션이 다양한 단말제조사와 어플리케이션 제작사에 의해 만들어지고 있음을 고려하면 규격을 충실히 따르지 않거나 또는 여타의 이유로 예상하지 못했던 동작을 하는 RCS Client가 있을 수 있다. 이러한 비정상 동작 단말로 부터 네트웍 상의 RCS 시스템을 보호하기 위해, RCS의 configuration 파라미터를 RCS enabler에서도 참조하고 적용하는 것이 필요하다. 


맺음말
RCS Configuration Server가 RCS 서비스를 위해 정의되긴 했지만 configuration provisioning을 통한 서비스 제공 방식은 대부분의 서비스에서 대동소이할 것으로 생각된다. 이는 RCS Configuration Server가 비단 RCS 뿐만이 아닌 여타 서비스를 위한 범용 Configuration Server로도 사용될 수 있음을 의미한다. 결국, 어떤 데이타를, 언제, 어떤 방식으로 단말로 provisioning할 것인가의 문제이기 때문에 단말의 어느 어플리케이션이든 고유한 ID로 정의될 수 있고, 해당 서비스에 대한 Provisioning 데이타 문서를 Configuration Server에서 관리할 수만 있으면 RCS Configuration Server가 범용으로 사용되는 데에 문제는 없어 보인다. 더군다나, 기존 OMA DM이나 CP에 비해 매우 단순하고 오랫동안 안정화된 HTTP에 기반하고 있으므로, 상대적으로 적은 자원으로 보다 빠르게 서비스 구축이 가능할 것으로 보인다.



Red Mouse