Your SlideShare is downloading. ×
0
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Real-time Multi-user Transcoding For Push To Talk Over Cellular
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Real-time Multi-user Transcoding For Push To Talk Over Cellular

474

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
474
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Real-time multi-user transcoding for push to talk over cellular (PoC) Stéphane Coulombe
  2. <ul><li>Interoperability is hurting wireless multimedia applications: </li></ul><ul><ul><li>Browsing, MMS, content delivery & sharing, etc </li></ul></ul><ul><li>Main causes: </li></ul><ul><ul><li>Different device capabilities and products’ evolution </li></ul></ul><ul><li>Transcoding is a must: </li></ul><ul><ul><li>Fixes interoperability issues </li></ul></ul><ul><ul><li>Enables products’ evolution without ‘breaking’ the service </li></ul></ul><ul><ul><ul><li>New formats (H.264, etc.), increased bitrate & resolution, etc </li></ul></ul></ul><ul><li>Situation is not different with PoC </li></ul>Why transcoding for PoC?
  3. Outline <ul><li>What is PoC? </li></ul><ul><li>What is the problem? </li></ul><ul><li>How can we fix it? </li></ul><ul><li>Conclusions and future work </li></ul>
  4. What is PoC? <ul><li>PoC service allows mobile users to create group sessions: </li></ul><ul><ul><li>Voice and data communications </li></ul></ul><ul><ul><li>1-to-1 or 1-to-many sessions </li></ul></ul><ul><li>PoC service feels like walkie-talkie </li></ul><ul><ul><li>Dedicated «talk» button </li></ul></ul><ul><ul><li>Short talk bursts are copied from the one who talks to the others </li></ul></ul>
  5. What is PoC? <ul><li>PoC service is built on top of a SIP/IP core (e.g. 3GPP or 3GPP2 IMS) </li></ul><ul><li>Participating PoC function (PPF) </li></ul><ul><ul><li>Provides PoC session handling (policy enforcement for PoC sessions) </li></ul></ul><ul><ul><li>Relays TBC messages between the PoC client and the CPF. </li></ul></ul><ul><ul><li>May also relay RTP media between the PoC client and the CPF. </li></ul></ul><ul><li>Controlling PoC function (CPF) </li></ul><ul><ul><li>Centralized PoC session mgmt: </li></ul></ul><ul><ul><ul><li>RTP media distribution </li></ul></ul></ul><ul><ul><ul><ul><li>copies of RTP packets </li></ul></ul></ul></ul><ul><ul><ul><li>Talk Burst Control (TBC) </li></ul></ul></ul><ul><ul><ul><ul><li>controls who talks </li></ul></ul></ul></ul><ul><ul><ul><li>Policy enforcement </li></ul></ul></ul><ul><ul><ul><ul><li>who can participate </li></ul></ul></ul></ul>
  6. What is the problem? <ul><li>Interoperability is again the problem: </li></ul><ul><ul><li>3GPP mandates AMR speech codec (+AMR wideband if 16kHz supported) </li></ul></ul><ul><ul><li>3GPP2 mandates EVRC speech codec </li></ul></ul><ul><ul><li>Therefore 3GPP and 3GPP2 terminals won’t be able to communicate </li></ul></ul><ul><ul><li>More problems will emerge with video and products’ evolution </li></ul></ul><ul><li>PoC standard (v1.0 and v2.0) mention that transcoding is needed: </li></ul><ul><ul><li>No means for achieving transcoding is provided </li></ul></ul><ul><li>PoC v2.0 introduces the PoC Interworking Function </li></ul><ul><ul><li>It may, among other things, perform transcoding </li></ul></ul><ul><ul><li>But its realization is outside the scope of the OMA </li></ul></ul><ul><li>Bottom line: PoC has interoperability issues without a solution </li></ul>
  7. What is the problem? <ul><li>Currently, the session setup obviously fails </li></ul>
  8. How can we fix it? <ul><li>Issues to address: </li></ul><ul><ul><li>Control plane adaptation </li></ul></ul><ul><ul><ul><li>SIP INVITES must reflect transcoding capabilities of the system </li></ul></ul></ul><ul><ul><li>Media transcoding </li></ul></ul><ul><ul><ul><li>Media packets must travel through a transcoder when needed </li></ul></ul></ul><ul><ul><li>Efficiency: </li></ul></ul><ul><ul><ul><li>We want to minimize the number of transcoding operations </li></ul></ul></ul><ul><ul><li>Multi-user session support </li></ul></ul><ul><ul><ul><li>Sessions contains many users </li></ul></ul></ul><ul><ul><ul><li>Sessions are dynamic (people leave and join, talker changes) </li></ul></ul></ul><ul><ul><li>Compatibility with existing Terminals </li></ul></ul><ul><ul><ul><li>The solution must not require any change to mobile terminals </li></ul></ul></ul><ul><ul><ul><li>The network-side will have to deal with the problem! </li></ul></ul></ul>
  9. How can we fix it? <ul><li>Solution 1 : Transcoding distributed among the various PPFs </li></ul><ul><ul><li>Must be performed at each receiving PPF </li></ul></ul><ul><ul><li>This is how a back to back user agent (B2BUA) solution would be implemented </li></ul></ul><ul><ul><li>This is sub-optimal from processing perspective </li></ul></ul><ul><ul><ul><li>The same transcoding may be replicated more than once (for each user) </li></ul></ul></ul>
  10. How can we fix it? <ul><ul><li>Solution 2 : Transcoding centralized at the CPF </li></ul></ul><ul><ul><li>The CPF has two main responsibilities with respect to enabling transcoding: </li></ul></ul><ul><ul><li>1. Manage session control operations: </li></ul></ul><ul><ul><ul><li>Setup: </li></ul></ul></ul><ul><ul><ul><ul><li>fix codec incompatibilities, </li></ul></ul></ul></ul><ul><ul><ul><ul><li>manage transcoding server’s (TS) operations </li></ul></ul></ul></ul><ul><ul><ul><li>Update: update transcoding operations dynamically </li></ul></ul></ul><ul><ul><ul><ul><li>Different speaker </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Users leaving and joining the session </li></ul></ul></ul></ul><ul><ul><li>2. Manage the flow of media streams between users: </li></ul></ul><ul><ul><ul><li>Media streams (RTP packets) have to flow through a TS </li></ul></ul></ul>
  11. How can we fix it? <ul><ul><li>Solution 2 : Transcoding centralized at the CPF </li></ul></ul><ul><ul><li>1. Manage session control operations: Setup </li></ul></ul><ul><ul><ul><li>Enhance SIP INVITE’s SDP with codecs supported by the TS </li></ul></ul></ul><ul><ul><ul><li>Use TS’s IP address and ports in SIP INVITEs for routing </li></ul></ul></ul>
  12. How can we fix it? <ul><ul><li>Solution 2 : Transcoding centralized at the CPF </li></ul></ul><ul><ul><li>1. Manage session control operations: Setup </li></ul></ul>
  13. How can we fix it? <ul><ul><li>Solution 2 : Transcoding centralized at the CPF </li></ul></ul><ul><li>1. Manage session control operations: Update </li></ul><ul><ul><li>TS session must be updated as new members join or leave </li></ul></ul><ul><ul><li>TS session is updated based on who talks (TS ops + routing) </li></ul></ul>
  14. How can we fix it? <ul><ul><li>Solution 2 : Transcoding centralized at the CPF </li></ul></ul><ul><ul><li>2. Manage the flow of media streams between users: </li></ul></ul><ul><ul><ul><li>Manage flow of TBC (who speaks) and speech packets </li></ul></ul></ul><ul><ul><ul><li>2 options: </li></ul></ul></ul><ul><ul><ul><ul><li>All the media packets arrive at the CPF </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>speech packets forwarded to TS, TS transcodes media and returns it to CPF or sends it directly to destination </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>All the media packets arrive at the TS </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>TBC packets forwarded to CPF, processed and returned to TS or sent directly to destination </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>From a scalability and general performance perspective, this option is more efficient </li></ul></ul></ul></ul></ul>
  15. How can we fix it? <ul><ul><li>Solution 2 : Transcoding centralized at the CPF </li></ul></ul><ul><ul><li>2. Manage the flow of media streams between users: </li></ul></ul><ul><ul><ul><ul><li>1. All the media packets arrive at the TS </li></ul></ul></ul></ul><ul><ul><ul><ul><li>2. All the media packets arrive at the CPF </li></ul></ul></ul></ul>
  16. How can we fix it? <ul><li>There are actually more details to consider which can’t be shown here… </li></ul><ul><ul><li>Precise modifications to SDP messages </li></ul></ul><ul><ul><ul><li>Codecs and IP addresses & ports </li></ul></ul></ul><ul><ul><li>Precise messaging flow and content for: </li></ul></ul><ul><ul><ul><li>Session setup </li></ul></ul></ul><ul><ul><ul><li>Session update </li></ul></ul></ul><ul><ul><ul><li>Request for talking </li></ul></ul></ul><ul><ul><ul><li>TBC and speech packets </li></ul></ul></ul><ul><ul><li>Precise operations taking place in the TS </li></ul></ul><ul><li>More details in the paper and in the references </li></ul>
  17. Conclusions and future work <ul><li>We proposed a solution to fix the problem!!! </li></ul><ul><li>Transparent for all PoC clients </li></ul><ul><ul><li>Only requires changes to PoC servers </li></ul></ul><ul><li>Compatible with existing PoC specifications </li></ul><ul><li>Works for all PoC group session scenarios: </li></ul><ul><ul><li>1 to 1, 1 to many, 1 to many to 1, ad hoc, etc. </li></ul></ul><ul><li>Scalable by offloading work to various TSs </li></ul><ul><li>Extensible to other SIP/SDP-based real-time multi-party applic. </li></ul><ul><li>Allows minimization of the processing required for transcoding </li></ul><ul><ul><li>Can perform transcoding once for many destinations </li></ul></ul><ul><li>Allows transcoding to be customized for each user </li></ul><ul><ul><li>Select a distinct AMR bitrate for every PoC client </li></ul></ul>
  18. Conclusions and future work <ul><li>Future research topics </li></ul><ul><ul><li>Investigate a proxy-based transcoding solution </li></ul></ul><ul><ul><ul><li>not requiring any change to PoC servers or to PoC clients already deployed. </li></ul></ul></ul><ul><ul><li>Study the problem of optimally selecting TSs in a distributed configuration </li></ul></ul><ul><ul><ul><li>based on transmission and processing costs over the network. </li></ul></ul></ul><ul><ul><ul><li>Trade-off between quality and processing cost. </li></ul></ul></ul>
  19. Thank you for your attention. Questions? <ul><li>Contact: </li></ul><ul><li>Stéphane Coulombe  Department of Software and IT Engineering    École de technologie supérieure  Montréal, Canada  Phone : (514) 396-8407  e-mail: stephane.coulombe@etsmtl.ca   </li></ul><ul><li>The author would like to thank Vantrix (www.vantrix.com) corporation for supporting this research. </li></ul>

×