Thursday, July 31, 2014

Application Level Framing in RTP

RTP is a protocol framework that is not deliberately not complete. It is not steadfast in certain structures and can be modified to suite application when required. This characteristic is known as Application level framing. 

Inorder to provide extensions or modifications to RTP, a profile that defines it is needed. An RTP profile defines extensions or modifications to RTP for a class of applications. Participants in RTP session should agree to a common format. Several header fields can be modified according to specific application. 

The extension bit may be set to indicate that the fixed header is followed by exactly one header extension. Extra fields may carry extra information useful for the application. 

In short, the information required by a specific application is not included in the generic RTP headers, instead it is defined through RTP profiles and payload formats. For each class of application, RTP defines a profile and one or more associated payload formats. 

A Profile defines the codecs used to encode the payload data and their mapping to payload format codecs in the payload type (PT) field of the RTP header. Each profile is accompanied by several payload format specifications each of which describes the transport of a particular encoded data. The audio payload formats include G.711, G.723, G.726, GCM, QCELP, MP3 and DTMF. and the video payload formats include H.261, H.263, H.264, MPEG-4 

Some of the examples for RTP profiles are below

- The RTP profile for Audio and Video conferences with minimal control (RFC 3551) defines a set of static payload type assignments and mechanism for mapping between payload type format, and a payload type identifier(in header) using the SDP

- The Secure Real Time Transfer Protocol (SRTP) defines a profile of RTP that provides cryptographic services for the transfer of payload data. 

- The experimental Control Data Profile for machine to machine communications. 


Below is a block diagram representation of RTP header with a profile 



References:
http://www.siptutorial.net/RTP/applvlframing.html

No comments:

Post a Comment