< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reTurn-devel] ReTurn Problem


BTW:   I'm just curious why you have interest in a TCP relay vs UDP
relay?  Are you planning to use TURN to provide NAT traversal for a
protocol other than RTP?

Thanks,
Scott

On Wed, Nov 19, 2008 at 8:49 AM, Scott Godin <sgodin@xxxxxxxxxxxxxxx> wrote:
> Hi Gurpreet,
>
> Responses inline...
>
> On Wed, Nov 19, 2008 at 4:04 AM, Gurpreet Sidhu <gurpreet.sidhu@xxxxxxx> 
> wrote:
>>
>> Hi all
>>
>>    Scott,Thanks for your Reply
>>    I am using reTurn as it is in SVN.I have written TCP Relay code but you
>> may say it is a copy of UDP relay without doing any changes .I have made
>> changes in RequestHandler and TurnAllocation also.
>> OK that may be one problem.
>
> [Scott] It is not that simple, the TCP relay implementation will be
> much more complicated than the UDP relay.  You need to create and
> manage a collection of TCP socket connections, and setup a TCP
> listener.  It is not trivial.
>
>> But Client error Which i have sent is not a Relay Problem.If I make the UDP
>> socket then it does not give any Read Header Problem.So I think you may
>> suggest something for that.
>>
>> I am using Synchronous Client.
>
> [Scott]  From what you described in your previous email you are able
> to use TCP fine to connect to the TURN server and allocate a relay,
> but the failure comes when trying to send data through the relay.  So
> I think the errors are likely all do with your TCP relay
> implementation - but it's difficult to tell without complete logs, and
> being able to see the code you modified.
>
>> In test Application i have  just changed from UDP to TCP in
>> CreateAllocation function.Also i am creating TCP Socket instead of UDP
>> socket.So it is one area where you can look into because it is giving error
>> in turnTcpSocket only not in UdpSocket.
>
> [Scott]  If you want to verify the TURN over TCP (not TCP relay)
> implementation in reTurn, then you can use the unmodified svn version,
> then just modify 2 lines in the TestClient.cxx file in order to run a
> test over TCP instead of UDP.  Look at lines 111/112.  Comment out
> line 111 and uncomment line 112.
>      //TurnUdpSocket
> turnSocket(asio::ip::address::from_string("127.0.0.1"), 0);
>      TurnTcpSocket turnSocket(asio::ip::address::from_string("127.0.0.1"), 0);
> This will test a UDP relay allocation using TURN over TCP.
>
>> Last point which you have written about setting the TCP socket to listen
>> also needs some explanation. For Sending or Receiving data is there any
>> special setup i need to make for TCP or will it work just like UDP and if
>> yes then what changes i need to make.
>
> [Scott] See comments in my first point.  I intend to eventually
> implement the TCP relay support, but I want to get the base STUN
> updated to the new STUN RFC and TURN up to the latest draft first.
> TURN TCP relay's specifications have been moved out of the base TURN
> draft, since their was still a number of open issues and the work to
> complete the spec's on TCP relay's was slowing down the process of
> getting TURN to an RFC level.
>
>> Thanks
>> Gurpreet Singh Sidhu
>>