About Voip Technology : RTP over TCP

Discussion in 'VOIP' started by Atul, May 13, 2005.

  1. Atul

    Atul Guest

    hello All

    I am reading information about VoIP technology
    For that i am concentrating on SIP (Session Initiation Protocol) and
    RTP (Real Time Transport Protocol).

    I am interested in implementing RTP over TCP
    I found that there are some disadvantages of TCP, some are

    1) TCP doesn't support multicasting.

    2) Through TCP is reliable, it heavily depends on retransmission of

    lost or corrupted packets. That increases Delay. Our aim is real

    time delivery of packets not reliability.

    3) TCP congestion control mechanism decreases the congestion window

    when packet losses are detected.

    Apart from these flaws i am interested in implementing RTP over TCP

    Is it possible ?
    What is feasibility of implementing RTP over TCP ?

    One more point is What is feasibility of implementing RTP over TCP in

    case of NAT (Network Address Translation) is there ?

    Need your valuable suggestion.

    Thank You !

    Atul, May 13, 2005
    1. Advertisements

  2. It sounds like a bad idea.
    Why?? The flaws you mentioned should be sufficient to discourage any
    attempt of that kind!
    It makes no sense: RTP is a layer designed to run on top of unreliable
    protocols, providing some of the benefist of reliable protocols (e.g.,
    guaranteed ordering, achieved through timestamps) without the drawbacks
    you mentioned.
    If you really want to send multimedia data over TCP, why don't you just
    use plain TCP? That might work if your application is non-interactive
    (e.g., A/V broadcasting rather than telephony) because aggressive
    buffering may smooth over the gaps caused by retransmissions of lost
    packets. That's what many current Internet media players and servers do
    in alternative to RTSP+RTP or proprietary equivalent protocols; in
    fact, they able to handle streaming content over HTTP, which is layered
    on top of TCP.
    Mostly, it will make things worse. There are NAT traversal techniques
    ("hole punching") that are much easier to implement with UDP than TCP.
    Even old bad STUN is only for UDP (that's where the 'U' in "STUN" comes

    If all you need is to encapsulate existing RTP flows (posibly adding
    security), I suggest you to use some VPN protocol such as PPTP. Or, if
    you just need to add security to an application, consider using SRTP
    (http://srtp.sourceforge.net/spec.html ).

    Enzo Michelangeli, May 14, 2005
    1. Advertisements

  3. Atul

    Farouq Guest

    My understanding is that voice runs over UDP and not TCP. UDP does not
    re-order the packets if they arrive out of sequence hence the need to
    run RTP which provides re-ordering of packets.

    UDP does not have a congestion control mechanism, nor does it send
    acknowledgements like TCP so there is are no retransmits.

    SIP is an alternative to RTP, designed (originally) for voice over the

    I could be wrong as I am not an expert and still learning. I'll be
    interested to hear others comments on this.

    Farouq, May 16, 2005
  4. Actually that's not true: SIP (Session Initiation Protocol) is used, as
    its name says, for the initial establishment of the session, so that
    the two peers can exchange their IP addresses, the UDP port numbers for
    the RTP data packets, the codecs that they support etc.

    Enzo Michelangeli, May 16, 2005
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.