how do I send media over TCP instead of RTP?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sending media (real-time media) via TCP is not a good idea. TCP is
a protocol that gives some gurantees regading the sequence and some
other attributes, such as guaranteed delivery. Because TCP sits on
top of a non-reliable protocol (IP) and thus employs several
techniques to implement these gurantees.

TCP uses buffering and sliding windows etc (for more details have
a look into the relevant RFC :-) ) and this adds to the delivery and
round-trip time. TCP is not a real-time protocol. TCP is also vulnerable
to what's called "buffer-bloat" in the Internet. This could lead to a
large delay of data and this is a "bad thing" for real time data such
as audio/video.

UDP does not suffer from these delays, also mostly not from buffer-bloat
and is thus much more suited for RTP. Clients must be prepared to handle
out-of-order packets and lost data, etc (ordered queues, Jitter buffers etc)

Werner


Am 20.07.2013 10:42, schrieb Techie Sup:
> I believe these requirement have increased since some ISP does not
> allow commercial VoIP and they filter traffic and block RTP over UDP.
> 
> Selvam
> 
> On 7/18/13, J Alex Antony Vijay <jfalexvijay at gmail.com> wrote:
>> Shall I know why you want use TCP instead of UDP ?
>>
>>
>> On Tue, Jul 16, 2013 at 9:46 AM, Khoa Pham <onmyway133 at gmail.com> wrote:
>>
>>> Hi, for the SIP transport, pjsip and linphone server do support UDP, TCP
>>> But for Media transport, only UDP is supported. If you 'd like to support
>>> RTP over TCP, please see transport_udp.c in pjmedia project, and make
>>> your
>>> own transport_tcp
>>>
>>> Basically, you will not use UDP socket, but TCP socket for media packet
>>>
>>>
>>> On Thu, Apr 11, 2013 at 11:49 AM, Techie Sup
>>> <techsup0073 at gmail.com>wrote:
>>>
>>>> I too work on similar feature on routing RTP through TCP and please
>>>> share your observations if you come across with a working solution.
>>>>
>>>> Warm Regards
>>>> Selvam
>>>>
>>>> On 4/7/13, gaurav.srivastava2 at agnity.com <gaurav.srivastava2 at agnity.com>
>>>> wrote:
>>>>>
>>>>> Please check http://www.pjsip.org/sip_media_features.htm [1]
>>>>>
>>>>> On Sun, 7
>>>>> Apr 2013 01:05:49 -0700, Haomiao Huang
>>>>> wrote:
>>>>>> Sorry, what I meant was
>>>>> that the RTP packets were still going out over UDP
>>>>>> and not TCP. So the
>>>>> SIP messaging packets were definitely TCP, but the
>>>>>> media packets were
>>>>> still UDP.
>>>>>>
>>>>>> Any thoughts on why this might be the case? Do I need to do
>>>>> something
>>>>>> separate in PJSIP to make the RTP go out over TCP as well?
>>>>>>
>>>>>>
>>>>>
>>>>>> On Sat, Apr 6, 2013 at 6:08 AM, J Mena wrote:
>>>>>>
>>>>>>> RTP is the protocol
>>>>> used by the application, the rtp packets can be sent
>>>>>>> over different
>>>>> transpors, udp or tcp
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Apr 5, 2013, at 10:24 PM, "Haomiao
>>>>> Huang"
>>>>>>> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>> I'm trying to get a VOIP app working over
>>>>> 3G. It looks like the RTP
>>>>>>> packets going to and from the phone are not
>>>>> getting through. I would like
>>>>>>> to send media using TCP. How would I go
>>>>> about doing this, and does the
>>>>>>> linphone server support this? I'm using
>>>>> sip.linphone.org for my
>>>>>>> registration.
>>>>>>>
>>>>>>> I've enabled TCP transport
>>>>> on both clients (standard linphone app on iOS
>>>>>>> and pjsua on MacOS). The
>>>>> SIP packets go through on TCP but RTP is still
>>>>>>> being used for the the
>>>>> audio itself.
>>>>>>>
>>>>>>> Any ideas/thoughts on this? Is it the server that's
>>>>> causing this, or do
>>>>>>> I need to do something on the client side? Is this
>>>>> even a good idea? Any
>>>>>>> help would be appreciated!
>>>>>>> -Haomiao
>>>>>>>
>>>>>>>
>>>>>>>
>>>>> _______________________________________________
>>>>>>> Visit our blog:
>>>>> http://blog.pjsip.org
>>>>>>>
>>>>>>> pjsip mailing list
>>>>>>> pjsip at lists.pjsip.org
>>>>>>>
>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>> _______________________________________________
>>>>>>> Visit our blog:
>>>>> http://blog.pjsip.org
>>>>>>>
>>>>>>> pjsip mailing list
>>>>>>> pjsip at lists.pjsip.org
>>>>>>>
>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>> Links:
>>>>> ------
>>>>> [1]
>>>>> http://www.pjsip.org/sip_media_features.htm
>>>>>
>>>>
>>>> _______________________________________________
>>>> Visit our blog: http://blog.pjsip.org
>>>>
>>>> pjsip mailing list
>>>> pjsip at lists.pjsip.org
>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>
>>>
>>>
>>>
>>> --
>>> Khoa Pham
>>> HCMC University of Science
>>> www.fantageek.com
>>>
>>> _______________________________________________
>>> Visit our blog: http://blog.pjsip.org
>>>
>>> pjsip mailing list
>>> pjsip at lists.pjsip.org
>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>
>>>
>>
>>
>> --
>>
>> Regards,
>> J Alex Antony Vijay.
>>
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
> 


-- 
----------------------------------------------
Werner Dittmann    Werner.Dittmann at t-online.de
Tel +49 173 44 37 659
PGP key: 82EF5E8B



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux