Subject: RE: [SIP] SIP, SDP, and TCP-based media transport

From: David Yon <[email-masked]>
Date: Thu, 17 Aug 2000 10:59:33 -0400

At 06:48 PM 8/16/00 -0700, Fairlie-Cuninghame, Robert wrote:
> > >
> > >Would both "TCP" and "RTP/AVP-TCP" share the same a= line
> > options?  Would
> > >they therefore be described in the same I-D or is there
> > sufficiently more
> > >to say about RTP/AVP-TCP to warrant its own I-D?
> >
>I don't see why. We are prescribing the same mechanism for both cases,
>right? So it seems silly to create two I-D's that describe the same
>mechanism. I imagine that the RTP/AVP-TCP case will mostly simply reference
>RFC1890.

Ok, fine by me, just asking. :-)

The nagging thought I have is: what does it mean to have a bidirectional 
media flow over RTP/AVP-TCP?  Is it simply that RTP media packets are sent 
down one side of a single TCP connection and RTCP control packets are sent 
back the other side?  So then for a bidirectional flow you'd have two TCP 
connections, one for each media direction?

Sorry if this is a stupid question, but as you may have guessed I'm not an 
RTP expert.

David Yon
Chief Technical Officer
Dialout.Net, Inc.
[email-masked]

_______________________________________________
SIP mailing list
[email-masked]
http://lists.bell-labs.com/mailman/listinfo/sip

---

From: Jonathan Rosenberg <[email-masked]>
Date: Thu, 17 Aug 2000 23:02:18 -0400

> Sorry if this is a stupid question, but as you may have guessed I'm not an

I think it could work in several ways. You could have both directions of
RTP over the same TCP connection, along with the RTCP, or over two
connections.

-Jonathan R.

-- 
Jonathan D. Rosenberg                       72 Eagle Rock Ave.
Chief Scientist                             First Floor
dynamicsoft                                 East Hanover, NJ 07936
[email-masked]                     FAX:   (973) 952-5050
http://www.cs.columbia.edu/~jdrosen         PHONE: (732) 741-7244
http://www.dynamicsoft.com

---

From: David Yon <[email-masked]>
Date: Fri, 18 Aug 2000 09:18:34 -0400

>RTP over the same TCP connection, along with the RTCP, or over two

Does anyone know of any legacy systems that work this way?  If there isn't 
RTP/TCP code that already picks a strategy, then it seems like this should 
be nailed down to one approach or the other.  If we're going to insist that 
implementors have the flexibility to choose (far be it for me to demand 
less flexibility :-) ) then at the very least there must be a way for SDP 
to describe the approach being used.

I can think of at least three ways to arrange the streams:

a) Each media stream has two TCP connections: one to send the media using 
RTP/AVP packets, and one to return RTCP packets.  A bidirectional media 
session would therefore consist of four (!) TCP connections, each being 
used unidirectionally.

b) Each media stream has a single TCP connection: one side of the 
connection sends the media using RTP/AVP packets, the other side returns 
the RTCP packets.  A bidirectional media session would therefore consist of 
two TCP connections, each connection mapping to one media direction.

c) A bidirectional media stream consist of two TCP connections: one 
connection contains the two RTCP streams and the other contains the two 
RTP/AVP media packets.

I'm sure if you wanted to get pathological you could combine the above 
three baselines to arrive at even more permutations.  Philosophically I 
like (b) the best, but I'll be the first to admit that my experience in 
this area is thin and I could see where (c) might be preferable.

The first high-order bit to set is whether we are going to define a fixed 
approach to RTP/AVP-TCP or enumerate the stream-to-connection mappings and 
allow UAs to choose.  I would argue that for interoperability purposes it 
would be wise to choose the former.

Thoughts?

David Yon
Chief Technical Officer
Dialout.Net, Inc.
[email-masked]

---

From: Jonathan Rosenberg <[email-masked]>
Date: Fri, 18 Aug 2000 11:07:43 -0400

David Yon wrote:
> Does anyone know of any legacy systems that work this way? 

Well, as there is no way to even indicate RTP over TCP in SDP, we are
treading 
new ground here.

> If there isn't

The idea was it doesn't really matter. If I have two connections open, I
simply listen on both and take whatever I receive and process it as if
it was all received on one connection. The timestamps, SSRC, sequence
numbers and what have you give me everything I need to process the RTP
and RTCP.

> session would therefore consist of four (!) TCP connections, each being

Yuck.

> two TCP connections, each connection mapping to one media direction.

If there must be two connections, this seems the most likely case. I
don't feel
terribly strongly here, but as I argue above, it seems like you can send
anything on any of the open connections; so long as you listen on all it 
should work fine.

-Jonathan R.