2010년 9월 7일 화요일

통합메세징(CPM: Converged IP Messaging) 표준화

지난 2006년 6월에 OMA(Open Mobile Alliance)의 Work Group가운데 Communication관련 Enabler들을 다루고 있는 COM 그룹의 표준화 Work Item으로 채택되어 시작되었던 CPM Enabler가 2010년 8월말로 공식 종료되었다. 표준화에 참여한 주요 회사로는 Nokia, NSN, Ericsson, Samsung, LGE, Alcatel-Lucent, Acision, Hansol, Orange등이 있다.


본 고에서는 표준화 작업이 완료된 CPM의 주요 특징에 대해서 알아보고 CPM이 가지는 기술적 요소들에 대해 정리해 보고자 한다.


1. 개념
CPM은 기존의 SMS, MMS, Email, IM과 같이 각각의 silo에서 생성되고 진화되어 오던 메세징 서비스들이 All-IP망에서 어떻게 진화하게 될 것인가에 대한 고민에서 출발한다. All-IP망에서의 메세징 서비스는 사실상 SMS, MMS, Email, IM같은 기존의 메세징 서비스가 더이상 존재하지 않는 하나의 단일화된 메세징 서비스로 통합될 것이다.




이에 따라 이전 메세징 서비스에 대한 사용자 경험이, SMS/MMS/Email등 전송될 메세징 서비스의 종류를 선택함으로써 이루어지는 형태였다면  CPM 에서는 특정 contact에 대한 communication을 시도하는 것으로 단순화 될 것이다. All-IP기반의 CPM은 기존의 메세징 서비스들이 가지고 있던 모든 특징을 흡수하고 기존 메세징 서비스 단말에 대한 역호환성을 보장하는 형태로 표준화가 이루어졌다.

CPM은 그 자체로서 메세징 서비스를 제공하는 주체인 동시에 메세징을 필요로 하는 3rd party Application에게 메세징 기능을 제공해주는 플랫폼의 개념을 가진다. 





예를 들어, Game Service에서 CPM이 제공하는 Interface를 이용해 Game Service를 이용중인 사용자 간의 Communication기능을 제공한다거나 음악이나 영화 스트리밍을 이용하고 있는 사용자 들이 해당 음악 또는 영화에 대한 의견을 나눌 수 있도록 communication path를 열어주는 등의 서비스가 가능한 것이다.


2. 기능


2-1. 멀티미디어 지원
CPM은 모든 형태의 멀티미디어를 지원한다. 즉, 기존의 SMS, MMS, Email, SIMPLE IM에서 제공하던 discrete media(예:text, image, video clip, audio clip, binary등)와 continuous media(예:video streaming, audio streaming등)의 전송을 지원한다. 

2-2. Non-CPM Interworking
CPM은 기존 서비스 들에 대한 역호환성을 제공한다. 즉, 기존의 SMS, MMS, Email 메세지를 IP기반의 CPM 사용자가 받아보거나 전송할 수 있게 함으로써, CPM 서비스에 가입하지 않은 일반 메세징 서비스 사용자와도 communication이 가능하도록 한다.

2-3. Multiple Devices(다중 단말) 지원
CPM은 한 개 이상의 서로 다른 capability를 가지고 있는 사용자의 단말을 지원한다. 각 단말은 하나의 CPM 사용자 주소에 맵핑되고 사용자는 device capability나 communication capability에 따라 어떤 단말로 어떤 형태의 메세지를 전송받을 지 미리 설정 할 수 있다.

2-4. Multiple User Preferences Profile
CPM 사용자는 한 개 이상의 user preference set을 정의(예: office, meeting, do-not-disturb, home 등)함으로써 상황에 맞는 개인화된 communication 환경을 구성할 수 있다. 

2-5. Network-based Storage
CPM은 사용자에게 네트웍 기반의 스토리지를 제공한다. 네트웍 기반 스토리지는 사용자에게 수신된 메세지 및 미디어를 백업 또는 저장할 수 있는 기능을 제공한다. 또한, CPM 사용자는 네트웍 기반 스토리지에 저장된 미디어를 다른  CPM사용자와 공유하거나 Foward 할 수 있다. 

2-6. Standalone Messaging
Standalone Message는 discrete media를 포함하는 메세지를 의미한다. Standalone Messaging에서는 discrete media를 포함한 메세지의 크기가 1300byte보다 작은 경우는 Pager Mode로, 이보다 큰 경우는 Large Message Mode로 메세지가 전송된다. Standalone Messaging에서는 사용자의 User preference에 따라 Disposition Notification(예: 전송확인, 읽기확인)을 교환할 수 있다.

2-7. Session Mode Messaging
Session Mode Messaging은 종단간 미디어 계층에서의 세션이 맺어진 상태에서 이루어지는 communication을 의미한다. 세션이 맺어진 상태에서 이루어지는 communication은 별도의 Disposition Notification이 존재하지 않는다. Session Mode Messaging은 크게 1-1과 Group Session으로 구분된다. Group 세션에서는 한 명이상의 사용자간에 교환되는 미디어의 분배가 이루어지며, 사용자의 초대 및 퇴장 관련 호처리 기능이 포함된다. 또한, Group 세션에 참여하고 있는 참여자는 Group 관련 참여자 정보를 받아볼 수 있다.

2-8. File Transfer
파일전송 기능은 기존 SIMPLE IM에서와 동일하게 이루어진다. 발신자가 원하는 파일을 선택하여 착신측으로 전송을 하면 착신측의 수락여부에 따라 파일의 전송여부가 결정된다. 파일전송이 완료되면 파일전송을 위한 세션은 자동 종료된다.

2-9. Recording
CPM 사용자는 수신되는 모든 메세지 및 미디어를 네트웍 기반의 스토리지에 저장할 수 있다. Message Delivery의 일부 기능으로서의 'Storing'의 경우 수신되는 메세지 및 미디어를 단말에 착신하는 대신에 네트웍 기반 스토리지에 저장하도록 하는 사용자의 설정에 의해 이루어지고 따라서, 이 경우 메세지가 착신되었다고 간주되지만, 반면에 Recording의 경우 실제로 단말에 착신이 이루어진 메세지 및 미디어를 네트웍 기반 저장소에 저장한다.

3. 아키텍쳐





그림에서 보는 바와 같이 CPM Enabler는 CPM Partcipating Function, CPM Controlling Function, Interworking Selection Function, Inteworking Funciton, Message Storage Server 그리고 CPM Client 및 Message Storage Client로 구성된다. 이들 각 Component에 대한 간략한 설명은 다음과 같다.
  • Message Storage Client: CPM Message Storage와 연동하여 단말과 Storage간의 메세지 동기화, 메세지 조회 및 관리를 수행한다.
  • CPM Client: CPM Participating Function과 연동하며 사용자의 다양한 설정에 따라 메세지를 송수신한다. 
  • CPM Participating Function: CPM Client와 직접 연동하여 메세지를 송수신한다. Multiple  CPM Client를 관리하고, User Preference를 참조하여 착신자에게 메세지를 전송한다. 그룹세션인 경우 CPM Controlling Function과 연동한다.
  • CPM Controlling Function: CPM Group 세션을 담당한다. Signal 및 Media를 그룹세션 참여자에게 분배하는 conference focus의 역할을 수행한다.
  • Message Storage Server: 네트웍 기반의 메세지 저장소로서 발수신 메세지 관리 및 CPM 단말과의 동기화 기능을 제공한다.
  • Interworking Selection Function: Legacy Messaging Service로 라우팅 되는 메세지에 대해 특정 Legacy Messaging Service(i.e., SMS, MMS, Email)를 user preference 및 operator policy에 따라 결정하고 해당 Inteworking Function으로 메세지를 라우팅한다.
  • Interworking Function: CPM메세지를 각 Legacy Messaging 서비스로 라우팅한다. 이를 위해 프로토콜 변환 기능등을 수행한다.


CPM Enabler를 구성하는 각 component간의 signaling은 SIP에 기반하며, discrete media 및 continuous media 전송을 위해 MSRP와 RTP/RTCP를 지원한다. 또한, 외부의 XDMS Enabler로부터 User preference 및 Operator policy를 끌어오기 위해 XCAP을 사용하며 Message Storage Client 및 Server간에는 IMAPv4를 사용한다.

4. 사용자 설정(User Preference)
CPM Participating Function은 user preference에 기반한 communication을 수행해야 한다. CPM 서비스를 위해 사용된 User preference는 SIMPLE IM의 그것에 비해 다소 복잡해진 면은 있으나, 반면에 다양한 형태의 메세징 환경을 제공할 수 있도록 표준화가 진행되었다. CPM System Description Document에 정의된 user preference는 다음과 같다.
  • General request handling
    • Do not disturb : 착신자가 Do-not-disturb로 설정해 놓은 경우 해당 사용자에게는 어떠한 Message나 Notification이 전송될 수 없다.
  • Message  Handling
    • Reject Message based on black list: 착신자가 설정한 blacklist에 해당하는 사용자로부터 메세지 전송시 해당 메세지는 전송되지 않는다.
    • Handling of Messages
      • Defer: 착신 단말이 메세지를 착신할 수 없는 상태인 경우 해당 메세지는 시스템의 temporary queue에 저장된다. 이후 CPM Client가 다시 메세지를 받을 수 있는 상황이 되면 저장되었던 메세지가 전송된다.
      • Deliver to Message Storage: Defer와 동일하나 메세지를 네트웍 기반 스토리지에 저장한다.
      • Forward: 수신된 메세지를 착신 단말로 착신하는 대신 착신자가 설정해 놓은 제 3의 단말로 해당 메세지를 Forwarding한다.
      • Delivery using Non-CPM Communication Service: 착신자가 메세지를 CPM이 아닌 SMS,MMS 또는 Email로 착신하기를 원한다면 해당 메세지를 CPM Client가 아닌 해당 사용자의 SMS Client, MMS Client 또는 Email Client로 전송해야 한다.
      • Deliver by providing a link to stored media instead of the media itself: 메세지에 미디어가 첨부되어 있는 경우, 해당 메세지를 모두 보내는 대신 미디어를 네트웍 기반 스토리지에 저장하고 저장된 각 미디어에 대한 link를 전송한다. 향후 착신자가 해당 미디어를 복원하고자 하는 경우, Message Storage Client를 통해 다운로드 될 수 있다.
  • Handling of expired Deferred CPM Messages
    • Discard: deferred message가 아직 단말로 착신되지 않은 상태에서 그 유효 시간이 만료된 경우 해당 메세지를 폐기처분한다.
    • Delivery to Message Storage Server: deferred message가 아직 단말로 착신되지 않은 상태에서 그 유효시간이 만료된 경우 해당 메세지를  Message Storage Server에 저장한다.
  • Session Handling
    • Automatically accept/reject specific types of media during a session : 특정 조건(예: 발신자, 미디어타입 등)을 만족하는 세션에 대한 요청이 수신된 경우 착신자의 동의를 구하지 않고 자동으로 수락/거부 한다.
    • handling of session invitation when CPM user not available, reject/interworking: 특정조건을 만족하는 세션에 대한 요청이 수신되고 착신단말이 메세지를 착신할 수 없는 상태인 경우 해당 메세지에 대해 거부/non-CPM inteworking 을 수행한다.
  • Recording handling
    • Automatically record/not record: 착신 메세지, 세션, 대화내용을 녹음한다.
  • Multi-Device handling
    • Delivery message or notification to all or subset of user's devices: 착신 메세지나 notification을 CPM 사용자의  등록된 모든 단말기나 일부 단말기로 전송한다.
    • Deliver session invitation to all or a subset of user's devices: Session 요청 메세지를 CPM 사용자의 모든 등록된 단말기나 일부 단말기로 전송한다.
    • Deliver based on active user Preference Profile, message size, content type: 활성화되어 있는 UPP나 메세지의 크기, 컨텐츠 종류에 따라 해당 메세지를 특정단말로 전송할 지의 여부를 결정한다.
  • Non-CPM Interworking
    • 연동할 특정 Non-CPM 서비스(i.e., SMS, MMS, Email)를 선택하기 위해 ISF는 XDMS로터 획득한 User Preference를 참조하여, 미디어 타입, 메세지크기에 따라 이를 결정한다.

5. 맺음말
CPM Enabler는 지난 2006년 6월에 표준화 작업이 시작되어 지난 8월 종료를 했으니, v1.0 표준화 완료까지 장장 4년이란 시간이 걸린 셈이다. 그렇게 표준화를 하는 과정에서, 당시 Work Item이 나왔을 때까지만 해도 초기시장이었던 통합메세징 시장이 어느덧 지금에는 모든 메세징 관련 서비스들의 당연한 Feature로 자리잡고 있을 만큼 보편화 된 듯 하다. 그런 점에서 CPM 표준의 완성 시점이 time to market을 맞추지 못했다는 지적에 대해 자유롭지는 못할 듯 싶다. 하지만, 글로벌 이통사들이 4G 네트웍을 점차 구축해 나가고 많은 솔루션 벤더들이 4G관련 솔루션들을 쏟아내고 있는 지금 All-IP에 기반을 두고 있는 CPM 표준이 가지는 의미는 주목할 만하다. 특히, CPM 표준에서 정의하고 있는 Non-CPM Interworking, Multiple Device지원, Multiple User Preference Profile, Multiple Streaming과 같은 기능은 앞으로 메시징 시장이 All-IP기반으로 진화하면서 과도기적으로 또는 항상적으로 수용해 가야 하는 특징이라고 보여진다.