Wednesday, August 6, 2008

10. Voice Protocol used in VoIP

Voice Protocol in VoIP

There are two types of protocol in VoIP:

  • Real-time Transport Protocol(RTP)
  • Real-time Transport Control Protocol(RTCP)

Real-time Transport Protocol(RTP)

  • Provides the functinality to real time application
  • Runs on IP over UDP
  • has the capability of providing application framing by adding application-layers to datagrams.
  • It uses the sequence information to detemine whether packets are arrive in order.
  • It also provide time stamping to determine the packet interarrival time.
  • RTP uses typically informs a source about the quality of delivery. The source then adapt its sending rate accordingly.

Types of relays used by RTP

There are two types of relay used for transmission - mixer relay and translator.

Mixer relay

  • Combines data from two or more entries into single stream of data.
  • It can either retain or change the data format
  • Provides timming information for the combined stream of data and act as a source of timming synchronization.
  • Typically used for combining audio stream in real time application and service system that is not able to handle multiple stream.

Translator

  • A device that generate one or more RTP packrts for each incoming RTP packets.
  • Format of outing packets may be different from the incoimg packets.
  • Used in video application in which high quality siganl is converted to a lower quality in order to service receivers that support a lower data rate.
  • Some time, translator can be used to transfer a multicast packet to multiple destination and the RTP entries separated by an application-layer firewall.

RTP Packet Header

The following show the RTP header :


The header fields of the RTP packet are describe below:

  • Version - to indicate the version of the protocol
  • Padding - Indicate the existence of a padding field at the end of the payload. It is needed in application the need the payload to be multiple of some length.
  • Extension - indicate the use of an extension header for RTP
  • Constributing source count (CSC) - a 4 bit field that indicate the number of contributing source identifies.
  • Marker - boundaries in a stream of data traffic.
  • Paylaod - indicate the specfic type of RTP payload. Alos contain information about the use of compression or encryption.
  • Sequence - 16 bit field that indicates that a sender uses to identify a particular packet withihn a sequence of packets
  • Time stamp - to enable the receiver to rearrange back the original data.
  • Synchronization Source Identifier - randomly generated field to indicate the RTP source in an RTP session.
  • Contributing Source identifier - an optional field to show the contributing source for the data.

Real-time Transport Control Protocol

  • Runs on top of UDP.
  • Perform multicasting to provide feedback about data quality to all the members
  • The members can set an estimate of the perfromances of other members in the current active session.
  • Sender can send about data rates, quality of data transmission.
  • Receiver can send about packets loss rate, jitter variations and other problems encountered.
  • All session members must be able to evaluate the performances of other session members.

RTCP packet limitation

  • It msut be limited to less than 5%.
  • If it is more than that, it would affect the voice quality and the bandwidth of the channel.
  • The number of active members increased, the transmission rate of RTCP packets must be reduced

Format of RTCP packet

  • Sender Report
  • Receiver Report
  • SEDS Source Description
  • BYE
  • APP - Application Specfic types

What are the reports send in RTCP session?

  • There are 3 reports- sender report , receiver report and sources description (SEDS)

A receiver and sender report consists of:

  • NTP timestamp - 64 bit field indicates to when a sender report was send.
  • RTP tiemstamp - 32 bit field used by receiver to sequence RTP packets
  • Sender packet count - 32 bit field represent number of RTP ocetets transmitted bt sender in the session.
  • Sender byte count - 32 bit feild represent number of RTP octets transmitted by the sender in the current session.

The SR packets includes 0 or more RR blocks. One receiver block is included for each sender from which the members has received during the session.

No comments: