Contents: Real-time Transport Protocol (RTP) Purpose Protocol Stack RTP Header Real-time Transport Control Protocol (RTCP) Voice over IP (VoIP) Motivation H.323 SIP VoIP Performance Tests Build-out Delay References Computer Networks, A. Tanenbaum Computer Networks, L. Peterson and B. Davie
RTP: Purpose Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications Internet radio Internet telephony Music-on-demand Videoconferencing Video-on-demand Applications may include multiple media streams
Purpose (Cont d) Provides following functions Identifies encoding scheme Facilitates playout at appropriate times Synchronizes multiple media streams Indicates packet loss Provides performance feedback Indicates frame boundary
Protocol Stack Normally runs over UDP Runs with the companion protocol RTCP on consecutive ports RTCP handles feedback, synchronization, and user interface It s a transport protocol implemented in the application layer A. Tanenbaum
RTP Header For each class of application, RTP defines o Profile: How to interpret header fields o Format: How to interpret payload data Comments o P = Padding indicator (if present, last byte of payload is pad count) o X = Extension bit indicating presence of Extension Header o CC = Number of Contributing Sources o M = Marker bit (e.g., frame with beginning of a talkspurt) o Payload type = Type of data (e.g., encoding scheme) o Timestamp = Generation time of first sample relative to previous frame o Synchronization Source Identifier (SSRC) = Current source o Contributing Source Identifier (CSRC) = Contributing source at a mixer
RTCP Main functions Provide feedback on end-to-end application performance, as well as network performance Synchronize different media streams from the same sender Identify sender for display on user interface
RTCP (Cont d) Information conveyed for synchronization of different media streams Timestamp containing actual time-of-day RTP timestamp Information conveyed for performance feedback Data packets lost Interarrival jitter Highest sequence number received
RTCP (Cont d) How performance feedback can be used If one or a few of the recipients are reporting poor performance Check resource reservation Check for network problem If many receivers are reporting poor performance Lower encoding rate Add error resiliency
Voice over IP: Motivation By 2002, volume of total data traffic was an order of magnitude higher than that of voice traffic Data traffic still growing exponentially Voce traffic growth almost flat (~5%) Money spent on voice services by a typical household is higher than that for data services Strong business case for sending voice over data networks VoIP (internet Telephony) provides data service providers significant revenue with minimal increase in traffic With 802.11 (Wi-Fi) and 802.16 (Wi-Max), wireless voice over data networks would have even higher penetration
H.323 H.323 is an architectural overview of internet telephony than a specific protocol Supports G.711 (64Kbps) voice by default H.245 let the terminals negotiate encoding algorithms, bit rate, etc. ITU Q.931 is used for signaling Gatekeeper controls end-points in a Zone o H.225 manages PC-to-gatekeeper channel called Registration/Admission/Status Gateway connects Internet and PSTN
H.323 Protocol Stack
Session Initiation Protocol (SIP) Designed by IETF to offer a simpler alternative Describes how to set up VoIP calls, video conferences, etc. Designed to interwork with existing Internet applications Defined phone numbers as URLs Text-based protocol modeled on HTTP Main methods are Invite, Ack, Bye, Options, Cancel, and Register Runs over UDP or TCP Uses RTP/RTCP for data transport
SIP Example A proxy server is used as a redirection server
VoIP Performance Tests TestYourVoIP.com
VoIP Performance Tests (Cont d) TestYourVoIP.com
Buidout Delay Source Internet Dest Synchronous Source Packet are sent at S1 = S, S2 = 2S,, with interpacket spacing of S Received at S1+D1, S2+D2, Find minimum buildout delay so that packets can be played out synchronously o Find minimum B, such that S1+D1+B, S1+D1+B+S, are not smaller than the corresponding reception times o Implies B = Max delay D1