Subject: [MMUSIC] Simultanous usage of a=rtcp and a=rtcp-mux

From: Christer Holmberg <[email-masked]>
Date: Fri, 3 Aug 2012 01:31:59 +0200

Hi,

One of the issues which was raised during the MMUSIC BUNDLE presentation, but which is not BUNDLE specfic, was the case when an offer contains both a=rtcp and a=rtcp-mux.

A case where this can happen is ICE, which requires the inclusion of the a=rtcp attribute.

      "If the agent is utilizing RTCP, it MUST encode the RTCP candidate using the a=rtcp attribute as defined in RFC 3605 [RFC3605]." (RFC 5245/Section 4.3)

Example:

m=audio 20000
a=rtcp: 25000
a=rtcp-mux

Q: If the receiver supports both attributes, to which port would it send RTCP?

As indicated during the meeting, in theory this could be solved by using a=rtcp: 20000 (ie same port as RTP), but people indicated that it is not allowed (eventhough not explicitly forbidden, afaik).

As also indicated, another way to solve this could be by saying: "If the receiver supports a=rtcp-mux, use that, otherwise use a=rtcp". But, I have not found any text which would support such intepretion.

Opinions?

Regards,

Christer

---

From: Paul Kyzivat <[email-masked]>
Date: Thu, 02 Aug 2012 19:41:04 -0700

> As also indicated, another way to solve this could be by saying: "If the receiver supports a=rtcp-mux, use that, otherwise use a=rtcp". But, I have not found any text which would support such intep…

RFC 5761 says:

    If the answerer wishes to multiplex RTP and RTCP onto a single port,
    it MUST include a media-level "a=rtcp-mux" attribute in the answer.
    The RTP payload types used in the answer MUST conform to the rules in
    Section 4.

    If the answer does not contain an "a=rtcp-mux" attribute, the offerer
    MUST NOT multiplex RTP and RTCP packets on a single port.  Instead,
    it should send and receive RTCP on a port allocated according to the
    usual port-selection rules (either the port pair, or a signalled port
    if the "a=rtcp:" attribute [10] is also included).  This will occur
    when talking to a peer that does not understand the "a=rtcp-mux"
    attribute.

Seems pretty explicit to me. Also, I don't see how it could work 
otherwise and still obey the standard SDP backward compatibility rule 
for unknown attributes.

	Thanks,
	Paul

---

From: Lishitao <[email-masked]>
Date: Mon, 13 Aug 2012 07:40:20 +0000

Hi Christer
I find some words in RFC 5245, section 5.7.1, this may answer your question.

   In the case of RTP, this would happen when one agent provides
   candidates for RTCP, and the other does not.  As another example, the
   offerer can multiplex RTP and RTCP on the same port and signals that
   it can do that in the SDP through an SDP attribute [RFC5761].

   However, since the offerer doesn't know if the answerer can perform
   such multiplexing, the offerer includes candidates for RTP and RTCP
   on separate ports, so that the offer has two components per media
   stream.  If the answerer can perform such multiplexing, it would
   include just a single component for each candidate - for the combined
   RTP/RTCP mux.  ICE would end up acting as if there was just a single
   component for this candidate.

To me, this indicates that if the receiver supports rtcp-mux, it should use the same port for RTP and RTCP.

Regards
shitao

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf
> Of Christer Holmberg
> Sent: Friday, August 03, 2012 7:32 AM
> To: [email-masked]
> Subject: [MMUSIC] Simultanous usage of a=rtcp and a=rtcp-mux
> 
> Hi,
> 
> One of the issues which was raised during the MMUSIC BUNDLE presentation,
> but which is not BUNDLE specfic, was the case when an offer contains both
> a=rtcp and a=rtcp-mux.
> 
>       "If the agent is utilizing RTCP, it MUST encode the RTCP candidate using
> the a=rtcp attribute as defined in RFC 3605 [RFC3605]." (RFC 5245/Section 4.3)
> 
> Example:
> 
> m=audio 20000
> a=rtcp: 25000
> a=rtcp-mux
> 
> 
> As indicated during the meeting, in theory this could be solved by using a=rtcp:
> 20000 (ie same port as RTP), but people indicated that it is not allowed
> (eventhough not explicitly forbidden, afaik).
> 
> As also indicated, another way to solve this could be by saying: "If the receiver
> supports a=rtcp-mux, use that, otherwise use a=rtcp". But, I have not found
> any text which would support such intepretion.
> 
> Opinions?
> 
> Regards,
> 
> Christer
> 
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 14 Aug 2012 21:15:05 +0200

Hi Shitao,

I agree with your understanding.

Of course, the answerer might not support ICE, but a=ssrc and a=rtcp-mux, and in that case it will have to choose one. But, as the offerer has to be prepared for both alternatives, I guess that should not be a problem.

Regards,

Christer

________________________________________
From: [email-masked] [[email-masked]] On Behalf Of Lishitao [[email-masked]]
Sent: Monday, August 13, 2012 10:40 AM
To: Christer Holmberg; [email-masked]
Subject: Re: [MMUSIC] Simultanous usage of a=rtcp and a=rtcp-mux

Hi Christer

Regards
shitao