TicToc에 탑재된 mVoIP 기술 개발기 및 향후 기술 진화 방향

안녕하세요, Mobile Platform개발팀 조현덕입니다. 이번 포스팅에는 TicToc 3.0에 탑재된 mVoIP 기술에 대해 소개 드리고자 합니다.

TicToc 소개

모바일 메신저 TicToc은 올해 4월말에 터키 시장에서 누적가입자 200만을 돌파했습니다.

TicToc은 실시간 모바일 커뮤니케이션 메신저로서 앱 이름 처럼 틱! 하면 톡! 의 속도로 빠르게 문자, 스티커, 사진, 음성을 빠르게 주고 받을수 있으며, PC, Mac 뿐만 아니라 Web 버전을 제공하고 있고 또한 깔끔한 무료 음성 통화를 제공하고 있습니다.

TicToc 3.0 무료통화에 탑재된 mVoIP 기술 및 개발기에 대해 설명드리겠습니다.

mVoIP 이란?

모바일 인터넷 전화(mobile Voice over Internet Protocol)의 약자로 우리가 흔히 사용하는 스카이프와 같이 3G/LTE 무선망 및 WiFi망 환경하에서의 무료 통화를 말합니다.

mVoIP도 기존 음성통화 및 LTE 음성통화(VoLTE : Voice over LTE)와 마찬가지로 호 처리 기술, Media 송수신 기술 및 코덱(Codec), 미디어엔진(Media Engine) 등의 음질 보장 기술이 필수적으로 구현되어야 합니다. 이동통신 사업자들의 OTT(Over the Top) 사업자에 대한 견제와 더불어 mVoIP의 필수 기술의 완성도가 낮아서 mVoIP 서비스 활성화에 어려움을 겪어 왔습니다.

디피아이(DPI : Deep Packet Inspection) 회피

카카오가  ‘카카오 보이스’ 라는 새로운 모바일 인터넷전화를 내놓은 후 2013년에 일부 고객들의 통화품질 불량이 이동통신사들의 고의적인 품질 훼손 때문이라는 주장을 하였습니다. 이것은 이동통신사들이 일부 하위 요금제에서 mVoIP 서비스를 차단했기 때문에 나타난 현상 이었습니다.

이와 같이 이동통신사들이 트래픽을 관리하기 위해 적용한 솔루션이 DPI 이며, TicToc이 주 서비스 지역으로 런칭한 터키를 비롯한 유럽 시장에는 국내 대비 강한 DPI가 적용되어 있습니다. 특히 LTE 음성통화나 대부분의 mVoIP 서비스에 적용되어 있는 접속 설정 프로토콜(SIP : Session Initiation Protocol)을 적용할 경우 DPI로 인해 호 연결이 안되거나 연결이 되어도 통화품질 불량이 주기적으로 발생합니다. 이를 해결하기 위해 SK 플래닛의 자체 시그널 스택(Signal Stack)을 개발 적용하였습니다.

그림1. mVoIP Network 구성도

통화 품질 확보

또한 DPI를 회피하기 위해 적용한 시그널 스택은 호 처리 메시지를 최소화한 호 처리 단축 기술을 구현하여 사용자에게 최적의 품질을 제공하도록 하였습니다.

2011년 까지만 해도 통화 품질을 확보하기 위해 음성을 처리하는 미디어 엔진은 깁스(GIPS, 2010년 Google에 인수됨), 스프리트(SPRIT) 등 비용 부담이 큰 일부 외국기업의 솔루션이 많이 사용 되었습니다. 그러나, 이 솔루션의 경우 초기 도입 비용, OS 버전 업그레이드 및 신규 단말 출시 마다 발생하는 단말 별 하드웨어(H/W)와 소프트웨어(S/W)의 상이함에 따른 별도의 최적화 대응/비용 과다 발생 등의 이슈가 있었습니다. 즉 mVoIP의 통화품질을 확보하기 위해서는 많은 비용과 노력이 필요합니다.

이런 어려움을 겪은 국내외 기업들은 자체 미디어 엔진을 개발하기 시작합니다. SK 플래닛에서 개발한 mVoIP 미디어 엔진도 이에 해당됩니다. Mobile Platform 개발팀에서 구현한 미디어 엔진의 특장점을 설명 드리면 다음과 같습니다.

  • WebRTC 기반 모바일 플랫폼(Mobile platform)으로 첫 상용화를 하였습니다
    • WebRTC는 Google에서 공개한 오픈 소스(Open Source)로 2012년 11월에 열린 WebRTC Conference & Expo에서 ‘WebRTC는 고정형 기기에 맞게 개발되었고, 아직 모바일에 적용되기 어렵다 (WebRTC is initially developed for desktop, and WebRTC is still very early in mobile)’ 로 소개하였으나 이를 SK플래닛에서는 자체 엔진화 하였습니다.
  • VoLTE와 동등 수준의 품질에 33%의 비트레이트(Bitrate)를 감소시킨 오디오 코덱(Audio Codec)을 적용하고 튜닝함으로써 VoLTE 수준의 품질을 제공하면서 사용자의 데이터(Data) 사용량을 줄이도록 구현 적용하였습니다.
  • 시중에 출시된 모바일 디바이스별 마이크, 리시버의 H/W 사양이 상이함에 따른 단말 별 음량 차이를 상쇄/보완하는 단말 간 음량 밸런싱(Balancing) 알고리즘을 구현 적용하여 단말 별 최적의 음량을 제공하고 있습니다.
  • WebRTC에서 제공하는 S/W 음성 울림 제거(AEC : Acoustic Echo Cancellation) 기능의 경우 단말에 따라 Echo가 발생하는 경우가 많고, 완벽한 양방향(full duplex) 음성 울림 제거를 지원하지 못해 더블 토크(Double Talk : 통화 중 양쪽에서 동시에 말하는 상황에서 양쪽 음성 모두 상쇄되는 현상) 발생하는 등의 치명적인 성능 이슈가 있습니다. 이를 보완하기 위해 iPhone(iOS), Android 단말 제조사 및 칩(Chip) 회사별 제공하는 H/W AEC 구동을 구현하여 최적의 Echo Canceller 제공하고 있습니다.
  • 자체 패킷 손실 은닉(PLC : Packet loss concealment) 알고리즘을 구현하여 중약 전계 상황에서도 품질 높은 음질을 보장하도록 하였습니다.
그림 2. mVoIP 소프트웨어 구조

상용화를 진행하지는 않았으나 mVoIP과 더불어 H/W H.264가 동작하는 영상통화(Video Telephony) 를 구현하였습니다. S/W VP8의 경우 인코더(Encoder)의 복잡성으로 인해 저사양 단말기에서 QVGA(320X240 해상도) 이상의 영상통화 성능 보장이 어렵습니다. 이를 해소하기 위해 Chip에서 제공하는 H/W H.264 인터페이스(Interface)를 구현하여 낮은 CPU 점유율로 성능이 보장된 영상통화가 가능해집니다.

이어서 SK 플래닛의 mVoIP 개발기에 이어서 향후 기술 진화 방향에 대해 소개하고자 합니다.

음성 통화 및 VoLTE의 대체재? 보완재?

올해 3월 라인은 ‘라인 콜’이라는 신규 서비스를 발표 하였습니다. 라인 콜은 앱(App)이 설치되어 있는 사용자끼리만 이용할 수 있었던 방식에서 일반 유선전화 및 휴대폰으로도 전화를 걸 수 있도록 업그레이드한 서비스입니다. 라인 사용자끼리의 앱 내 통화는 기존처럼 무료이고, 라인 앱 외로 통화할 경우 유료이지만 일반 휴대폰 통화 요금의 절반 수준이라고 합니다.

이 서비스의 경우 2가지 목표를 가지고 있다고 판단하는데 첫째는, 라인 가입자 증가를 통한 서비스 영향력 강화 둘째는, 무료 서비스를 내세우며 성장한 mVoIP에 수익구조 모델을 만들기 위함으로 보입니다.

이통사(국가) 주요 내용
스타허브(싱가포르) 위챗 전용 요금제 출시(’13년11월), 6달러/월(1GB/일 한도)
싱텔(싱가포르) 와츠앱 전용 요금제 출시(’13년8월), 6달러/월(1GB/일 한도)
NTT 도코모(일본) 라인과 제휴(’13년5월), 라인앱 전용 통화번트 지원
PCCW(홍콩) 위챗 전용 요금제 출시(’13년1월), 8달러/월(무제한)

음성통화 매출 감소에 따른 이동통신사의 고민이 가중되고 있는 현실을 봤을 때 이동통신사와 mVoIP 기반의 OTT 사업자간의 win-win 모델에 대한 고민이 필요한 것으로 판단되며 오히려 기존의 음성통화와 mVoIP 개별 서비스간의 연동도 좋은 모델이 될 수 있을 것 이라고 판단됩니다.

TicToc도 터키 및 여러 지역에서 좋은 결과를 얻어서 유선 및 무선통화와의 연동 서비스가 진행될 수 있었으면 하는 개인적인 바램이 있습니다.

App? Web?

SK 플래닛에서 기반 소스로 활용한 WebRTC는 Web Real-Time Communication의 줄임말로, Javascript API와 HTML5를 이용해서 실시간 미디어통신을 가능하게 하는 기술입니다. 이 기술을 사용한다면 별도의 앱이나 플러그인(plug-in) 없이 브라우저만으로 음성/영상통화가 가능하게 됩니다.

WebRTC는 Google에서 설계 단계에서 부터 표준화를 염두에 두고 프로젝트를 시작한 것으로 판단됩니다. On2 인수 이후 2010년 Google I/O에서 VP8 코덱이 핵심인 ‘WebM 프로젝트’를 런칭하였고 2011년에는 국제인터넷표준화기구(IETF)와 W3C 표준화를 착수하여 각 브라우저 개발사에 제공할 표준화된 APIs를 만들기 시작합니다.

이에 반해 Microsoft는 2011년 자사의 서비스가 있음에도 불구하고 Skype를 인수하였고 2012년까지는 소극적인 대응을 하다가 웹 기반 실시간커뮤니케이션 CU-RTC-Web 스펙을 W3C에 제안하게 됩니다. 이 스펙을 따르게 되는 브라우저는 plug-in 없이도 Skype를 사용하게 될 수도 있을 것으로 예상됩니다.

즉 웹앱(Web App) 형태로 구현될 경우 OS나 단말기에 맞춰 일일이 따로 개발해야 하는 네이티브 앱(Native App) 형태 보다 더 다양한 사용자를 대상으로 서비스가 가능하므로 웹앱 형태로 구현이 진화할 것으로 예상됩니다.

표준 코덱 채택 전쟁

Google이 행아웃(Hangouts)에서 사용했던 H.264 코덱을 버리고, 자사의 VP8를 탑재하면서 720p화질서비스를 시작했으나 WebRTC에서 사용할 표준 코덱을 정할 IETF 88차 회의를 보름 정도 앞둔 시점에, 시스코는 ‘OpenH264’로 명명되어진 H.264 소스를 오픈 하였습니다. 이는 Google에 돌직구를 날린 것과 다름없습니다. 많은 칩들이 H.264 코덱을 기본(default)으로 채택 사용하고 있고, 구글의 VP8은 호환성에 문제가 있다는 지적을 하고 있습니다.  VP8을 지지해오던 모질라가 VP8 뿐만 아니라, H.264 또한 적극 지지하고 나섰습니다. 기존에는 Apple, MS, H.264 Vs Google, Mozila, Opera, VP8 이런 구도였지만 변화가 생기게 됩니다.

시스코 입장에서는 MPEG LA에 로열티를 지불하면서 까지 H.264를 제공하는 이유는 표준 코덱이 되기 위한 강력한 조치를 행동으로 옮긴 것 입니다.

영상통화가 아니더라도 H.264를 이용한 서비스를 제공하고 있는 OTT 업체라면 시스코에서 제공하는 H.264 Codec 사용을 고려하는 것은 좋은 선택이라고 판단됩니다.

마치며

기술 개발기와 더불어 향후 기술 진화 방향을 동시에 정리하다 보니 언급하지 못한 부분에 아쉬움이 남네요. 혹시 궁금한 점이나 문의 사항이 있으실 경우 댓글을 남겨주시면 상세하게 답변 드리도록 하겠습니다. 감사합니다.

조현덕 Mobile Platform개발팀

안녕하세요. 조현덕 매니저 입니다. Mobile Platform 개발팀에서 mVoIP/Comm. HUB 개발을 담당하고 있습니다.

공유하기

  • Douglas Choi

    tictoc 모바일에서 사용해보고 싶은데..어디로 가면 다운 받을 수 있는가요?

    tictoc 엔진으로 직접 개발을 할 수 있나요?

    • readme

      tictoc은 ’16년 5월 서비스가 종료되어, 사용하실 수가 없습니다.

      • Douglas Choi

        아..답변감사합니다…기술적인 문제인지 아니면 다른 문제로 서비스 중단된것인지 모르겠지만
        기술적인 문제가 아니라면 그 엔진을 사용하는 방법은 없을까요?

        • readme

          관련있는 분들께 다시 여쭤보고 답변드리겠습니다.

        • 조현덕

          안녕하세요. 작성자입니다.

          기술상의 문제는 전혀 없었고, 회사 정책상의 이유로 서비스를 중단하였습니다.
          아쉽게도 Open API는 제공되지 않습니다.

          관계사인 SK Telecom의 PlayRTC( https://www.playrtc.com/ko/home-ko/ )를 사용해 보시는게 어떠실런지요?

          좋은 결과물이 있으시기 바라겠습니다.
          조현덕 드림