Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
2Activity
0 of .
Results for:
No results containing your search query
P. 1
Real Time Transmission Protocol (RTP) and Real Time Transmission Control Protocol (RTCP) Library Implementation

Real Time Transmission Protocol (RTP) and Real Time Transmission Control Protocol (RTCP) Library Implementation

Ratings: (0)|Views: 53 |Likes:
Published by ijcsis
The system proposed is to create a library that will cover all the specifications given in RFC
3550.
The system proposed is to create a library that will cover all the specifications given in RFC
3550.

More info:

Published by: ijcsis on Oct 12, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/09/2012

pdf

text

original

 
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 09, No.09, 2011
Real Time Transmission Protocol (RTP) andReal Time Transmission Control Protocol (RTCP)Library Implementation
Mohammad Monirul Islam
Computer Science and Engineering Department
Daffodil International University 102, Shukrabad, Dhaka-1207, Bangladesh
 ABSTRACT 
The system proposed is to create alibrary that will cover all the specifications given in RFC3550.I.INTRODUCTIONRFC 3550 is Transport Protocol for Real-TimeApplications. RFC 3550 is RTP Version 2 protocol definition
[1]
proposedlibrary would be used to develop applicationsthat deal with transmission of real time audio and video data.RFC (
R
equest
F
or
C
omments) adocument that describes thespecificationsfor a recommended technology. Any RFChasspecifications that are classified under following categories‘must’, ‘must not’, ‘required’, ‘shall’, ‘shall not’, ‘should’,‘should not’, ‘recommended’, ‘may’, ‘may not’ and ‘optional’.Compliance with of an implementation with an RFC ismeasured by checking against req. Marked with abovekeywords. I intend to develop a library that would becompliant to the maximum possible extent.
[2]
The Library will provide simple API’s for userinterface. Library will take care of Session Management.Library will handle error correction and data recovery forincoming and outgoing packets. The Library will be easilyscalable. Library will be able to handle packet validations. TheLibrary should provide error-handling mechanism.II.Existing System and Need for SystemMany implementations of Real Time TransmissionProtocol (RTP) or Real Time Transmission Control Protocol(RTCP) areavailable in the market, but some of them are toospecific to certain kind of applications and some are not easyto customize as per need of the application. One suchRTP/RTCP library available under open GPL, The GNUGeneral Public License (GNU GPL or simply GPL) is awidely used free software license, originally written byRichard Stallman for the GNU project. The latest version of the license, version 2, was released in 1991. The GNULesserGeneral Public License (LGPL) is a modified version of theGPL, intended for some software libraries[3] whichdonotprovide any kind of support. Any customization needs directchanges in library code, which requires completeunderstanding of library code. This library is not implementedusing object oriented concepts. [4] To cope with thesedrawbacks there is a need of library, which remains private &easy to customize. This new implementation will be based onobject oriented scenarios.Real-Time Transfer Protocol (RTP)RTP was developed by the Audio/Video Transportworking group of the IETF and has since been adopted by theITU as part of its H.323 series of recommendations, and byvarious other standards organizations. The first version of RTPwas completed in January 1996. RTP needs to be profiled forparticular uses before it is complete; an initial profile wasdefined along with the RTP specification, and several moreprofiles are under development. Profiles are accompanied byseveral payload format specifications, describing the transportof a particular media format.Real-Time Transfer Protocol consists of two majorcomponents:1 Real Time Protocol (RTP): It carries real-time data.2 Real Time Control Protocol (RTCP): It monitors the qualityof service and conveys information about the participants
[2]
III.The RTP Data Transfer Packet
RTP Sessions
A sessionconsists of a group of participants who arecommunicating using RTP. A participant may be active inmultiple RTP sessions—for instance, one session forexchanging audio data and another session for exchangingvideo data. For each participant, a network address and portpair to which data should be sent, and a port pair on which datais received identify the session. The send and receive ports maybe the same. Each port pair comprises two adjacent ports: aneven-numbered port for RTP data packetsand the next higher(odd-numbered) port for RTCP control packets. The defaultport pair is 5004 and 5005 for UDP/IP, but many applicationsdynamically allocate ports during session setup and ignore thedefault. RTP sessions are designed to transport a single type of media; in a multimedia communication, each media typeshould be carried in a separate RTP session
[5]
The RTP header has the following format:
98http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 09, No.09, 2011
Fig: RTP header Format
 Real Time Control Protocol (RTCP)
The RTP control protocol (RTCP) is based on theperiodic transmission of control packets to all participants inthe session, using the same distribution mechanism as the datapackets. The underlying protocol must provide multiplexing of the data and control packets, for example using separate portnumbers with UDP. RTCP performs four functions:1. The primary function is to provide feedback on the qualityof the data distribution. The feedback may be directly usefulfor control of data encodings that are currently used.2. RTCP carries a persistent transport-level identifier for anRTP source called the canonical name or CNAME. Since theSSRC identifier may change if a conflict is discovered or aprogram is restarted, receivers require the CNAME to keeptrack of each participant. Receivers may also require theCNAME to associate multiple data streams from a givenparticipant in a set of related RTP sessions.3. By having each participant send its control packets to all theothers, each can independently observe the number of participants. This number is used to calculate the rate at whichthe packets are sent.4. A fourth, optional function is to convey minimal sessioncontrol information, for example participant identification tobe displayed in the user interface. This is most likely to beuseful in "loosely controlled" sessions where participants enterand leave without membership control or parameternegotiation.
 IV.RTCP Packet Forma
This specification defines several RTCP packet types tocarry a variety of control information:
SR
: Sender report, for transmission and receptionstatistics from participants that are active senders
RR
: Receiver report, for reception statistics fromparticipants that are not active senders and incombination with SR for active senders reporting onmore than 31 sources.
SDES
: Source description items, including CNAME
BYE
: Indicates end of participation
APP
: Application-specific functions
[2]
Objectives of System
Library should provide simple set of functions (interface)that would be used by applications to transmitRTP/RTCP data.
It should be easily portable across platforms.
Scope of Work 
Library implementation will be according to thespecifications defined in RFC3550.RFC3550 defines certain rules that are mandatory for real timedata transmission.
Operating Environment –Hardware and Software
V.Hardware Requirements128 and above RAM5GB or more Hard Disk..Well Established Network environment.VI.Software RequirementsDevelopment ToolKit. C++ on Linux .Operating System Linux 7.1 & above.VII.LIBRARY IMPLEMENTATIONLibrary implements RTP/RTCP protocol byproviding suitable APIs, each API functions as follows:1. RTP_CreateSession()This is the first API that application will callto establish a session. It takes parameters like user’s self-IPaddress and pair of ports defined to receive RTP and RTCP
99http://sites.google.com/site/ijcsis/ISSN 1947-5500

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->