Subject: [MMUSIC] Bandwidth b= session and media conflicts

From: Alan Johnston <[email-masked]>
Date: Thu, 16 Dec 2010 12:16:07 -0600

All,

I could not seem to find the exact rules for dealing with bandwidth b=
fields when they are present at both the session level and media
level.  I would assume the same rules as those defined for c= lines
apply, but I couldn't find text in RFC4566 that said this.

Also, what if the session level b= is a lower bandwidth than a media
level b= value?  What is the proper behavior in this case?

- Alan -

---

From: "Severa, Michael J (Mike)" <[email-masked]>
Date: Thu, 16 Dec 2010 12:32:15 -0600

4566 says "In general, session-level values are the default for all media unless overridden by an equivalent media-level value." The bandwidth modifier RFC 3556 also has a section called 'precedence' that makes this explict for the additional b= values, I guess in case it wasn't clear.

Mike 

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Alan Johnston
Sent: Thursday, December 16, 2010 10:16 AM
To: [email-masked]
Subject: [MMUSIC] Bandwidth b= session and media conflicts

All,

I could not seem to find the exact rules for dealing with bandwidth b= fields when they are present at both the session level and media level.  I would assume the same rules as those defined for c= lines apply, but I couldn't find text in RFC4566 that said this.

Also, what if the session level b= is a lower bandwidth than a media level b= value?  What is the proper behavior in this case?

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

---

From: Paul Kyzivat <[email-masked]>
Date: Thu, 16 Dec 2010 16:54:42 -0500

Its always been my interpretation that when an field or attribute has 
meaning at the media level, then a specification of that field/attribute 
at the session level is just a *default* to be used for those media that 
don't specify it explicitly. (Or equivalently, view it as scoping, where 
declarations in an inner scope *hide* a corresponding declaration in an 
outer scope.)

I've never understood why that wasn't stated as a general rule.
IMO it ought to be. As it stands, I guess each time a new 
field/attribute is defined, the rule has to be defined again.

IMO it would be very bad if something was allowed in both places but had 
a *different* rule for what it meant.

	Thanks,
	Paul

---

From: "Kevin P. Fleming" <[email-masked]>
Date: Thu, 16 Dec 2010 14:44:36 -0800

> a *different* rule for what it meant.

This has always been my understanding as well. I'm sure I came to that 
conclusion after reading the relevant RFCs, even if it's not clearly stated.

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: [email-masked]
Check us out at www.digium.com & www.asterisk.org

---

From: Alan Johnston <[email-masked]>
Date: Fri, 17 Dec 2010 10:32:23 -0600

Mike,

Thanks for these pointers - I missed them.

Between 4566 and 3556 I think the text is clear - I just didn't find
them: media level overrides session level when b= is present in both.

So for my conflict case, the higher bandwidth b= in the media stream
overrides the lower bandwidth at the session level.

- Alan -

---

From: "Roni Even" <[email-masked]>
Date: Fri, 17 Dec 2010 20:04:15 +0200

Hi;
The session level is the total. All media levels together must be less than
session level.
Roni Even

> Sent: Friday, December 17, 2010 6:32 PM
> To: Severa, Michael J (Mike)
> Cc: [email-masked]
> Subject: Re: [MMUSIC] Bandwidth b= session and media conflicts
> 
> Mike,
> 
> > 4566 says "In general, session-level values are the default for all
> media unless overridden by an equivalent media-level value." The
> bandwidth modifier RFC 3556 also has a section called 'precedence' that
> makes this explict for the additional b= values, I guess in case it
> wasn't clear.
> >
> > Mike
> >
> > I could not seem to find the exact rules for dealing with bandwidth
> b= fields when they are present at both the session level and media

---

From: Alan Johnston <[email-masked]>
Date: Fri, 17 Dec 2010 12:27:04 -0600

Hi Roni,

Thanks for your comment.  This was my first thought, but where is this written?

It also seems to not agree with the text quoted below. 

- Alan -

---

From: "Charles Eckel (eckelcu)" <[email-masked]>
Date: Fri, 17 Dec 2010 11:09:48 -0800

For TIAS, this is described in RFC 3890, section 6.2.2:

   At the SDP session level, the TIAS value is the maximal amount of
   bandwidth needed when all declared media streams are used.  This MAY
   be less than the sum of all the individual media streams values.
   This is due to the possibility that not all streams have their
   maximum at the same point in time.  This can normally only be
   verified for stored media streams.

Cheers,
Charles

> Sent: Friday, December 17, 2010 10:27 AM
> To: Roni Even
> Cc: <[email-masked]>; Severa,Michael J(Mike)

---

From: Paul Kyzivat <[email-masked]>
Date: Fri, 17 Dec 2010 14:55:24 -0500

OK, live and learn. From this, and from section 5.8 of 4566, its evident 
that with b= you can specify total session bandwidth. That rules out 
using a session level b= as a default for a media b=.

	Thanks,
	Paul

On 12/17/2010 2:09 PM, Charles Eckel (eckelcu) wrote:
>> Cc:<[email-masked]>; Severa,Michael J(Mike)
>> On Dec 17, 2010, at 12:04 PM, "Roni Even"<[email-masked]>
> wrote:
>>
>>> Hi;

---

From: Alan Johnston <[email-masked]>
Date: Fri, 17 Dec 2010 16:58:01 -0600

Thanks, everyone for the feedback.  It seems I am not the only one a
little confused.

So it seems that the type of bandwidth (CT, AS, TIA - are there
others?) means more than whether the b= field is session-level or
media-level. This seems to make b= handling different from, say c=
handling in SDP.

RFC 3890 seems to have text explaining what TIA means at the session
and media level.  Is there text somewhere else explaining what CT
means at session and media level?  Can there be more than one CT b=
attribute?  If so, what if they conflict?

- Alan -

On Fri, Dec 17, 2010 at 1:55 PM, Paul Kyzivat <[email-masked]> wrote:
> that with b= you can specify total session bandwidth. That rules out using a
> session level b= as a default for a media b=.
>
>        Thanks,
>        Paul
>
>>> From: [email-masked] [mailto:[email-masked]] On
>>
>> Behalf Of Alan Johnston
>>>
>>> Thanks for your comment.  This was my first thought, but where is this
>>
>> written?
>>>
>>>> The session level is the total. All media levels together must be
>>
>> less than
>>>>
>>>> session level.
>>>> Roni Even
>>>>
>>>>> Between 4566 and 3556 I think the text is clear - I just didn't
>>
>> find
>>>>>
>>>>> them: media level overrides session level when b= is present in
>>
>> both.
>>>>>
>>>>> So for my conflict case, the higher bandwidth b= in the media
>>
>> stream
>>>>>
>>>>>> 4566 says "In general, session-level values are the default for
>>
>> all
>>>>>
>>>>> bandwidth modifier RFC 3556 also has a section called 'precedence'
>>
>> that
>>>>>
>>>>>> From: [email-masked] [mailto:[email-masked]] On
>>>>>
>>>>> Behalf Of Alan Johnston
>>>>>>
>>>>>> I could not seem to find the exact rules for dealing with
>>
>> bandwidth
>>>>>
>>>>>> Also, what if the session level b= is a lower bandwidth than a
>>
>> media
>>>>>

---

From: "Severa, Michael J (Mike)" <[email-masked]>
Date: Fri, 17 Dec 2010 17:45:30 -0600

There are some RTCP related ones as well in 3556. 

Not only is b= different from other attributes fields, but different b= fields are apparently handled differently, assuming the current text is intentional. For example. 4566 contains text to say that session level is the default for media level unless overridden. It then goes on to define AS and does not state a further restriction on session vs media level values. In contrast, 3890 wants to make TIAS additive, as does 3556.

Interestingly enough, both 3890 (TIAS) and 4566 (AS) reference the 'session bandwidth' value from section 6.2 of RFC3550.

To further complicate matters, if a session level value is not intended to be additive, then it could in fact still be used as a default for the media level, as unintuitive as that seems.

In any case, I believe some clarification is in order.  :-)

Live and learn is right, 

Mike

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On Behalf Of Alan Johnston
Sent: Friday, December 17, 2010 2:58 PM
To: [email-masked]
Subject: Re: [MMUSIC] Bandwidth b= session and media conflicts

Thanks, everyone for the feedback.  It seems I am not the only one a little confused.

So it seems that the type of bandwidth (CT, AS, TIA - are there
others?) means more than whether the b= field is session-level or media-level. This seems to make b= handling different from, say c= handling in SDP.

RFC 3890 seems to have text explaining what TIA means at the session and media level.  Is there text somewhere else explaining what CT means at session and media level?  Can there be more than one CT b= attribute?  If so, what if they conflict?

- Alan -

On Fri, Dec 17, 2010 at 1:55 PM, Paul Kyzivat <[email-masked]> wrote:
> OK, live and learn. From this, and from section 5.8 of 4566, its 
> evident that with b= you can specify total session bandwidth. That 
> rules out using a session level b= as a default for a media b=.
>
>        Thanks,
>        Paul
>
>>>>> makes this explict for the additional b= values, I guess in case 
>>>>> it wasn't clear.
>>>>>>
>>>>>> Mike
>>>>>>
>>>>> b= fields when they are present at both the session level and 
>>>>> media level.  I would assume the same rules as those defined for 
>>>>> c= lines apply, but I couldn't find text in RFC4566 that said this.
>>>>>>

---

From: "Roni Even" <[email-masked]>
Date: Sat, 18 Dec 2010 14:05:52 +0200

Alan,
It is also logical. 
Consider the case where there are a video and audio sessions. If you state
at the session level b= 1 Mbit/s and no media level b= does it mean that you
need to be able to support 2 mbit/s bandwidth. What it means is the you can
have for the video 1 Mbit/s minus the audio bandwidth.

This is what I understand from b=tias and CT. As far as I know this is how
the video conferencing systems are handling the b=

Roni Even

> Sent: Saturday, December 18, 2010 12:58 AM
> To: [email-masked]
> evident
> using a
> it