Subject: Re: [MMUSIC] Draft-ietf-mmusic-rfc4566bis-05: session-level attributes

From: "Ali C. Begen (abegen)" <[email-masked]>
Date: Sun, 10 Mar 2013 08:43:42 +0000

Hi Paul,

Reviving this old thread as I am planning to submit another update for 4566bis. I reviewed your text changes. Comments below.

On Jan 3, 2013, at 7:31 PM, Paul Kyzivat <[email-masked]> wrote:

> On 1/3/13 9:14 PM, Ali C. Begen (abegen) wrote:
> 
>> Are you saying we don't change the text or remove it altogether?
> 
> Major change.
> 
> OLD:
> 
>   The connection ("c=") and attribute ("a=") information in the
>   session-level section applies to all the media of that session unless
>   overridden by connection information or an attribute of the same name
>   in the media description.  For instance, in the example below, each
>   media behaves as if it were given a "recvonly" attribute.
> 
>   An example SDP description is:
> 
>      v=0
>      o=jdoe 2890844526 2890842807 IN IP4 198.51.100.1
>      s=SDP Seminar
>      i=A Seminar on the session description protocol
>      u=http://www.example.com/seminars/sdp.pdf
>      e=[email-masked] (Jane Doe)
>      c=IN IP4 233.252.0.1/127
>      t=2873397496 2873404696
>      a=recvonly
>      m=audio 49170 RTP/AVP 0
>      m=video 51372 RTP/AVP 99
>      a=rtpmap:99 h263-1998/90000
> 
> NEW:
> 
>   The connection ("c=") information in the
>   session-level section applies to all the media of that session unless
>   overridden by connection information
>   in the media description.  For instance, in the example below, each
>   audio media behaves as if it were given a "c=IN IP4 192.0.2.3".
> 
>   An example SDP description is:
> 
>      v=0
>      o=jdoe 2890844526 2890842807 IN IP4 198.51.100.1
>      s=SDP Seminar
>      i=A Seminar on the session description protocol
>      u=http://www.example.com/seminars/sdp.pdf
>      e=[email-masked] (Jane Doe)
>      c=IN IP4 192.0.2.3
>      t=2873397496 2873404696
>      a=recvonly
>      m=audio 49170 RTP/AVP 0
>      m=audio 49180 RTP/AVP 0
>      m=video 51372 RTP/AVP 99
>      c=IN IP4 233.252.0.1/127
>      a=rtpmap:99 h263-1998/90000
> 
> This drops all discussion of attributes and just describes the behavior for c-lines.
> 

Yes, it does.

>>> And at the same time we should polish up the definitions of the attributes defined in this document so that they are very clear how session and media level interact.
>> 
>> Could you provide an example of what you have in mind?
> 
> I'll try. (But please review this carefully!) In section 6:
> 
> OLD:
> 
>      a=recvonly
> 
>         This specifies that the tools should be started in receive-only
>         mode where applicable.  It can be either a session- or media-
>         level attribute, and it is not dependent on charset.  Note that
>         recvonly applies to the media only, not to any associated
>         control protocol (e.g., an RTP-based system in recvonly mode
>         SHOULD still send RTCP packets).
> 
>      a=sendrecv
> 
>         This specifies that the tools should be started in send and
>         receive mode.  This is necessary for interactive conferences
>         with tools that default to receive-only mode.  It can be either
>         a session or media-level attribute, and it is not dependent on
>         charset.
> 
>         If none of the attributes "sendonly", "recvonly", "inactive",
>         and "sendrecv" is present, "sendrecv" SHOULD be assumed as the
>         default for sessions that are not of the conference type
>         "broadcast" or "H332" (see below).
> 
>      a=sendonly
> 
>         This specifies that the tools should be started in send-only
>         mode.  An example may be where a different unicast address is
>         to be used for a traffic destination than for a traffic source.
>         In such a case, two media descriptions may be used, one
>         sendonly and one recvonly.  It can be either a session- or
>         media-level attribute, but would normally only be used as a
>         media attribute.  It is not dependent on charset.  Note that
>         sendonly applies only to the media, and any associated control
>         protocol (e.g., RTCP) SHOULD still be received and processed as
>         normal.
> 
>      a=inactive
> 
>         This specifies that the tools should be started in inactive
>         mode.  This is necessary for interactive conferences where
>         users can put other users on hold.  No media is sent over an
>         inactive media stream.  Note that an RTP-based system SHOULD
>         still send RTCP, even if started inactive.  It can be either a
>         session or media-level attribute, and it is not dependent on
>         charset.
> 
> NEW:
> 
>      a=recvonly, a=sendrecv, a=sendonly, a=inactive
> 
>         At most one of recvonly/sendrecv/sendonly/inactive MAY appear
>         at session level, and at most one MAY appear in each media
>         section.
> 
>         If any one of these appears in a media section then it
>         applies for that media section. If none appear in a media
>         section then the one from session level, if any, applies
>         to that media section.
> 
>         If none of the attributes "sendonly", "recvonly", "inactive",
>         and "sendrecv" is present at either session level or media
>         level, "sendrecv" SHOULD be assumed as the
>         default for sessions that are not of the conference type
>         "broadcast" or "H332" (see below).
> 
>      For instance, in the
>      example below, each media behaves as if it were given a
>      "recvonly" attribute.
> 
>      An example SDP description is:
> 
>         v=0
>         o=jdoe 2890844526 2890842807 IN IP4 198.51.100.1
>         s=SDP Seminar
>         i=A Seminar on the session description protocol
>         u=http://www.example.com/seminars/sdp.pdf
>         e=[email-masked] (Jane Doe)
>         c=IN IP4 233.252.0.1/127
>         t=2873397496 2873404696
>         a=recvonly
>         m=audio 49170 RTP/AVP 0
>         m=video 51372 RTP/AVP 99
>         a=rtpmap:99 h263-1998/90000
>         a=recvonly
> 

Is not the last/second "recvonly" redundant?

>      a=recvonly
> 
>         This specifies that the tools should be started in receive-only
>         mode where applicable.  It can be either a session- or media-
>         level attribute, and it is not dependent on charset.  Note that
>         recvonly applies to the media only, not to any associated
>         control protocol (e.g., an RTP-based system in recvonly mode
>         SHOULD still send RTCP packets).
> 
>      a=sendrecv
> 
>         This specifies that the tools should be started in send and
>         receive mode.  This is necessary for interactive conferences
>         with tools that default to receive-only mode.  It can be either
>         a session or media-level attribute, and it is not dependent on
>         charset.
> 
>      a=sendonly
> 
>         This specifies that the tools should be started in send-only
>         mode.  An example may be where a different unicast address is
>         to be used for a traffic destination than for a traffic source.
>         In such a case, two media descriptions may be used, one
>         sendonly and one recvonly.  It can be either a session- or
>         media-level attribute.  It is not dependent on charset.
>         Note that
>         sendonly applies only to the media, and any associated control
>         protocol (e.g., RTCP) SHOULD still be received and processed as
>         normal.
> 
>      a=inactive
> 
>         This specifies that the tools should be started in inactive
>         mode.  This is necessary for interactive conferences where
>         users can put other users on hold.  No media is sent over an
>         inactive media stream.  Note that an RTP-based system SHOULD
>         still send RTCP, even if started inactive.  It can be either a
>         session or media-level attribute, and it is not dependent on
>         charset.
> 

All good. 

> Also in section 6:
> 
> OLD:
> 
>      a=sdplang:<language tag>
> 
>         This can be a session-level attribute or a media-level
>         attribute.  As a session-level attribute, it specifies the
>         language for the session description.  As a media-level
>         attribute, it specifies the language for any media-level SDP
>         information field associated with that media.  Multiple sdplang
>         attributes can be provided either at session or media level if
>         the session description or media use multiple languages.
> 
> NEW:
> 
>      a=sdplang:<language tag>
> 
>         This can be a session-level attribute or a media-level
>         attribute. Multiple sdplang attributes can be provided
>         either at session or media level if the session description
>         or media use multiple languages.
> 
>         As a session-level attribute, it specifies the
>         language for the session description. As a media-level
>         attribute, it specifies the language for any media-level SDP
>         information field associated with that media, overriding any
>         sdplang attributes specified at session-level.
> 
> OLD:
> 
>      a=lang:<language tag>
> 
>         This can be a session-level attribute or a media-level
>         attribute.  As a session-level attribute, it specifies the
>         default language for the session being described.  As a media-
>         level attribute, it specifies the language for that media,
>         overriding any session-level language specified.  Multiple lang
>         attributes can be provided either at session or media level if
>         the session or media use multiple languages, in which case the
>         order of the attributes indicates the order of importance of
>         the various languages in the session or media, from most
>         important to least important.
> 
> NEW:
> 
>      a=lang:<language tag>
> 
>         This can be a session-level attribute or a media-level
>         attribute. Multiple lang
>         attributes can be provided either at session or media level if
>         the session or media use multiple languages, in which case the
>         order of the attributes indicates the order of importance of
>         the various languages in the session or media, from most
>         important to least important.
> 
>         As a session-level attribute, it specifies the
>         default language for the session being described.
>         As a media-level attribute, it specifies the language for
>         that media, overriding any session-level languages specified.
> 

This is also good.

Thanks.
-acbegen

> That's all.
> 	Thanks,
> 	Paul

---

From: Brett Tate <[email-masked]>
Date: Sun, 10 Mar 2013 14:27:53 +0000

> >>> And at the same time we should polish up the definitions of the
> attributes defined in this document so that they are very clear how
> session and media level interact.
> >>

Yes; although is simplifies the example.  The following example/description adjustment reflects a potential change to the session level attribute.

Within the following SDP example, the "inactive" attribute applies to audio media and the "recvonly" attribute applies to video media.

       v=0

---

From: Paul Kyzivat <[email-masked]>
Date: Mon, 11 Mar 2013 09:30:16 +0800

> Is not the last/second "recvonly" redundant?

Yes it is, though it shows the use of session and media level.

It would probably be better to give a slightly more complex example. For 
instance, make the media level attribute for video be sendonly, and then 
explain that the result is audio recvonly and video sendonly.

	Thanks,
	Paul

---

From: "Ali C. Begen (abegen)" <[email-masked]>
Date: Mon, 11 Mar 2013 03:32:17 +0000

Hi Brett,

>       a=rtpmap:99 h263-1998/90000

Yes, I like this example better. I will put this instead. 

Paul, I think this also satisfies the "more complex" example you considered.

-acbegen

---

From: "Ali C. Begen (abegen)" <[email-masked]>
Date: Mon, 11 Mar 2013 03:32:30 +0000

Hi Brett,

-acbegen

---

From: Paul Kyzivat <[email-masked]>
Date: Mon, 11 Mar 2013 19:26:06 +0800

> Paul, I think this also satisfies the "more complex" example you considered.

Yes it does.

	Thanks,
	Paul