how do I send media over TCP instead of RTP?

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

 



On Sat, 20 Jul 2013 12:59:19 +0200, Werner Dittmann wrote:
> 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.


It obviously depends on circumstances, probably Mr. Haomiao Huang has a
fast processor or network so maybe time is not an issue (most popular
OSes aren't real-time OSes too, we use them nevertheless).  It would be
not a good idea to discourage him to work on this topic.  :-)


> 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
>>
> 
> 




[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