real-time multi-user transcoding for push to talk over cellular

19
Université du Québec École de technologie supérieure Department of software and IT engineering Real-time multi-user Real-time multi-user transcoding for push to transcoding for push to talk over cellular (PoC) talk over cellular (PoC) Stéphane Coulombe Stéphane Coulombe

Upload: videoguy

Post on 24-Apr-2015

688 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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