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