cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
20477
Views
25
Helpful
6
Replies

VOIP - TCP OR UDP?

xAdventix
Level 1
Level 1

Hi Cisco community,

I have come across information that is contradicting, I have found Cisco books that say TCP and the internet that says UDP.

I am looking for a clear cut answer with preferably a explaination to the reasons behind it and potentially a bit of history if UDP was the used protocol and then it changed to TCP?

I just am not sure what to believe and I really could use with this answer!

Thanks,

Aaron

1 Accepted Solution

Accepted Solutions

Paul St.Onge
Level 1
Level 1

VoIP needs to be on UDP.

This is because TCP has packet recovery, and this would mean that your VoIP lines would be very garbled due to the packets trying to recover them selves. Think of it has this " Hi my ......(*U))(0 name is Paul"  

In that case the packet that had "name" probably got lost, and TCP is recovering it. And with TCP you would have to most likely wait between each other to make sure the packets have all arrived. 

 

UDP is just sending packets, and they get there if they get there. UDP will not recover any lost packets, and all the user would hear is a slight slip in words. UDP is real time, so there is no delay in sound.

View solution in original post

6 Replies 6

Joseph W. Doherty
Hall of Fame
Hall of Fame

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

Generally, VoIP doesn't use TCP.  As VoIP is "real-time", TCP handshake and packet recovery aren't helpful, and can be detrimental.

Paul St.Onge
Level 1
Level 1

VoIP needs to be on UDP.

This is because TCP has packet recovery, and this would mean that your VoIP lines would be very garbled due to the packets trying to recover them selves. Think of it has this " Hi my ......(*U))(0 name is Paul"  

In that case the packet that had "name" probably got lost, and TCP is recovering it. And with TCP you would have to most likely wait between each other to make sure the packets have all arrived. 

 

UDP is just sending packets, and they get there if they get there. UDP will not recover any lost packets, and all the user would hear is a slight slip in words. UDP is real time, so there is no delay in sound.

Hi!
Unfortunately a few my colleagues don't understand this answer... the guy manging network says that without udp then firewall configuration would be much easier, and folks at sales department complain that customers can't be asked to have open connectivity (not even a few udp ports) from their corporate desktop because of "your old fashioned udp voip system"
So they're both pushing to buy some self-referential semi-unknown commercial solution that implements media stream over tcp, despite of the clear, consistent and predictable consequences...
What else should I say to convince them more easily?

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

Well, you might mention that yes, not managing extra UDP VoIP on a firewall would be easier.  But do they believe other companies don't agree?  I.e., if they could not do that, wouldn't they too?

So, if that's all true, why do they go to the extra effort?

VOIP traffic is fast flowing (many, many, many packets one after the other). It has to be because of how frequently the spoken word needs to be sampled.

A conversation can go fine with a packet lost here and there, or even a few (might be degraded but you can get by). This is because we use UDP. If a packet or a few packets don't make it to the other end, go on without them.

If we were using TCP we would lose a packet, then hold everything else up while trying to retransmit the lost packet.

Imagine you have a highway full of cars. If one gets a flat tire, do you want to hold up all the traffic and wait for that one car, or do you want to forget about that car and let traffic flow.

If we wait for the lost packet, VOIP conversations would be awful. They would probably have similar behavior to the news reporter being across the globe and having to wait 40 seconds before realizing it is their turn to talk.

Anyway, I hope this helps. Please share the name of some of these VOIP systems that transmit media via TCP. I would like to read about them. 

+5