Subject: [MMUSIC] a=rtcp-mux-exclusive vs a=rtcp:0 compression

From: Justin Uberti <[email-masked]>
Date: Tue, 5 Apr 2016 07:14:34 -0700

Minor point for the beauty contest...

Compressing the attached SDP files (adapted from the examples in
https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-14#section-7.1) with
gzip (default settings) gives the following output:

              | port 0 | -exclusive |
-------------------------------------
Uncompressed  |   1467 |       1487 |
Compressed    |    723 |        739 |

---

From: Roman Shpount <[email-masked]>
Date: Tue, 5 Apr 2016 17:36:59 -0400

I have modified the proposed SDP slightly. I have removed IN IP4 0.0.0.0
from a=rtcp attribute. I cannot find a place that states that a=rtcp is
required when rtcp-mux is used, so I removed a=rtcp from the
rtcp-mux-exclusive examples. Also, since we are shaving bits, I did a
version with SDP attribute named rtcp-mux-only, which is 5 bytes shorter.
So, my results are:

              | port 0 | -exclusive | -only |
---------------------------------------------
Uncompressed  |   1438 |       1462 |  1452 |
Compressed    |    716 |        725 |   720 |

Regards,

_____________
Roman Shpount

On Tue, Apr 5, 2016 at 10:14 AM, Justin Uberti <[email-masked]> wrote:

> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic
>
>

---

From: Magnus Westerlund <[email-masked]>
Date: Thu, 7 Apr 2016 11:56:31 -0300

Den 2016-04-05 kl. 18:36, skrev Roman Shpount:
> rtcp-mux-exclusive examples.

RFC 5761 has the following sentence in Section 5.1.1:

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

So, I would agree that a=rtcp is not mandatory based on RFC 5761, it do 
results in that the fall back for RTCP is m= port+1. But, as this is 
intended for the case of not having any fallback.

However JSEP do contain text that appears to require that a=rtcp are 
included. This, may be changed to support the mux-exclusive usage. 
However, I haven't checked if this requirement is due to trickle ICE.

/Magnus

  Also, since we are shaving bits, I did a
> version with SDP attribute named rtcp-mux-only, which is 5 bytes
> shorter. So, my results are:

>
>                | port 0 | -exclusive | -only|
> On Tue, Apr 5, 2016 at 10:14 AM, Justin Uberti <[email-masked]
> <mailto:[email-masked]>> wrote:
>
>     https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-14#section-7.1)
>     with gzip (default settings) gives the following output:
>
>                    | port 0 | -exclusive |
>     [email-masked] <mailto:[email-masked]>

-- 

Magnus Westerlund

----------------------------------------------------------------------
Services, Media and Network features, Ericsson Research EAB/TXM
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Färögatan 6                 | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: [email-masked]
----------------------------------------------------------------------

---

From: Roman Shpount <[email-masked]>
Date: Thu, 7 Apr 2016 17:31:00 -0400

> intended for the case of not having any fallback.

 I assumed since we are doing a new attribute that specifies that there is
no fallback, then a=rtcp attribute can be omitted.

> included. This, may be changed to support the mux-exclusive usage. However,
> I haven't checked if this requirement is due to trickle ICE.
>

JSEP includes requirement for a=rtcp due to
https://tools.ietf.org/html/rfc5245#section-4.3 :

If the agent is utilizing RTCP, it MUST encode the RTCP candidate using the
a=rtcp attribute as defined in RFC 3605  [RFC3605].

This was already fixed in
https://tools.ietf.org/html/draft-ietf-mmusic-ice-sip-sdp-08#section-4.2 :

If the agent is utilizing RTCP and if RTCP candidate is present and is not
equal to the same address and the next higher port number of the RTP
candidate, the agent MUST encode the RTCP candidate using the a=rtcp
attribute as defined in RFC 3605 [RFC3605].

_____________
Roman Shpount