Subject: Re: [MMUSIC] AD review: draft-ietf-mmusic-image-attributes-06

From: Kyunghun Jung <[email-masked]>
Date: Mon, 27 Sep 2010 06:49:07 +0000 (GMT)

Hi,

I am afraid for this late reply. Here in Korea we had a seven-day holidays last week.

My answers to your kind (and second set of) comments (shown in blue) are shown below (in red).

Kyunghun Jung

Samsung Electronics Co., Ltd.

The problem is that without that definition, you have normative requirements in this draft that are ambiguous.

Saying that a "high end" device MUST do something without characterizing the device does not help interoperability.

If you are not willing to provide something an implementer can use to unambiguously know the requirement applies

to his implementation, you need to change all of these requirements to MAY.

-> O.k. "high end" might be removed in several locations in the draft without affecting the intention of the document:

a high end device which sees no reason to use the image attribute -> a device which sees no reason to use the image attribute.

The draft needs to say when this will happen. I think you missed an important part of my comment.

What prevents this "longer" renegotiation from being infinite?

-> We believe that such an infinite negotiation can happen but this new attribute shall not be responsible for such an event.

Use of "a=imageattr" in fact can delay the negotiation procedure at the cost of a more refined codec configurations. However,

imageattr is not the only source of possible infinite delay. Such an infinite exchange of SDP offers and answers originate from

the basic design principles of SIP and SDP.

If the state machine inside a device is poorly programmed such that it rejects any offer even only slightly different from its preferred

configuration, the negotiation will continue until the answerer finds the one. This way, the level of refined negotiation is traded for the

delay to reach the configuration.

For example, RFC4867 defines RTP payload types for AMR and AMR-WB speech codec, which have 8 and 9 pre-defined bit-rates

called "mode." A SDP parameter defined in this RFC, "mode-set," enables a reduced set of modes to be negotiated but the answer

can either accept or reject the offer. To reach an absolutely intended configurations, a significant number of negotiations may be necessary.

Whether to use this feature or not is left as the discretion of the implementation and no mechanisms against infinite negotiation is defined

for "mode-set." 3GPP recommends the use of this attribute only by the multimedia gateway and the handset is required to supporte

all modes.

If you are concerned about the possibility that no size specified by the imageattr attribute can be supported by the answerer, please note

that typical codec specifications does not require any image size to be mandated or supported at a given level, with the possible exception of

the smallest sizes such as QCIF. Therefore such a possibility is out of the scope of this draft.

Support of more image sizes will reduce the setup delay of course. In MPEG-4 or H.264, the codec standards only specify the maximum image

sizes supported at a level and most codec implementations are developed with this in mind. In other words, there exist many methods to exit

an infinite negotiation by falling back to a basic configuration.

------- Original Message -------
Sender : Robert Sparks<[email-masked]>
Date : 2010-09-18 04:58 (GMT+09:00)
Title : Re: [MMUSIC] AD review: draft-ietf-mmusic-image-attributes-06

inline

On Aug 20, 2010, at 8:07 AM, Kyunghun Jung wrote:

Hi,

Let me answer some of your questions.

Kyunghun Jung

Samsung Electronics Co., Ltd.

------- Original Message -------
Sender : Robert Sparks<[email-masked]>
Date : 2010-08-20 03:06 (GMT+09:00)
Title : [MMUSIC] AD review: draft-ietf-mmusic-image-attributes-06

(There is a copy of these comments at http://www.nostrum.com/~rjsparks/mmusic-image-attributes.txt
for awhile in case any mail clients re-wrap the lines in a way that makes this too hard to read).

The document places requirements on "high end" devices without defining them or characterizing
them beyond what you can take away from the name. Without a more objective definition, these
requirements effectively reduce to "Some implemantation MAY" do these things. If that's what you
mean, please say it that way. If you really are trying to inflict SHOULDs and MUSTs on something,
please reduce the ambiguity in what they are.

-> This attribute is initially designed with handsets supporting 4G mobile video telephony in mind

where media is transported over very expensive bandwidth but its nenefits can be enjoyed by other

devices if quality loss and unnecessary computation from rsizing is to be avoided.

Although we at 3GPP consider "high end" as the description of mobile communications devices with

high computational power with high resolution display (but smaller dot picth), supporting mutiple radio

frequency bands or roaming capability, we did not find enough reason to introduce such device specifications

or classifications of a specific inductry or product in the Internet draft.

The problem is that without that definition, you have normative requirements in this draft that are ambiguous.

Saying that a "high end" device MUST do something without characterizing the device does not help

interoperability. If you are not willing to provide something an implementer can use to unambiguously know

the requirement applies to his implementation, you need to change all of these requirements to MAY.

I'm surprised that there hasn't been more discussion around the message size bloat
associated with including an imageattr line with "send * recv *" in offers where the offerrer
isn't planning to use this document's extension. Have I missed that searching the archives?
If so, please provide a pointer. Were other negotiation mechanisms considered?

Since the problem was initially discussed at 3GPP in June 2007 and informed to IETF MMUSIC,

hundreds of emails containing comments and answers were exchanged. The negotiation mechanisms

were designed here based on the received suggestions and corrections. In fact, initial idea was to

recycle (extend the usage of) existing SDP attributes, not defining a new one.

It might be difficult to zip the hundreds of e-mails exchanged here and send it to you or release in the

mailing list but let me introduce key documents which might be used to understand the background

of asking IETF to solve this problems.

http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_44/Docs/S4-070408.zip

http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_47/Docs/S4-080083.zip

The document should better capture the motivation for allowing the answerer to create attribute
value entries that aren't covered by the offer's proposal. It should better describe _when_ additional
offer/answer exchanges would be induced (informing the operator as well as the implementor), and show
that this can't result in the infinite ping-pong loop that the general pattern of answering with a
subset of the offer was created to avoid in the first place.
-> It is not forbidden to add new sizes in the SDP answer and delay from additional negotiation is

left as the discretion of the implementation. Those intending to use their bit-rate in a more favourable

way need to take the risk of longer negotiation.

The draft needs to say when this will happen. I think you missed an important part of my comment.

What prevents this "longer" renegotiation from being infinite?

In section 3.1.1, the document should call out where to find the definition of
WSP and DIGIT you are intending to use.  The last two lines of comments at the
end of key-value's ABNF need to start with semicolons

3.1.1.2: second bullet (o), last sub-bullet (*): It's not clear what "should not on its own include"
means. Are you trying to say that if an offer doesn't include an a=imageattr for a stream, then the
offer MUST NOT include one?

3.1.1.2: third bullet (o), first sub-bullet (*): This use of SHOULD is unclear. When would the
offer _not_ resort to other methods? I think you're trying to say that if the image attribute
is not included in the answer, then the offerer knows the answerer does not support this mechanism
and continues to process the answer as if this mechanism had not been offered.

3.1.1.2: second bullet (o), second sub-bullet (*): This has the same issue as the first sub-bullet.
Assuming I understand the intent, this would be clearer if you wrote along these lines:
* If the image attribute is included in the SDP answer, but none of the entries are usable or
acceptable, the offer MUST initiate a new offer/answer exchange without using the image attribute.
The draft should also indicate what to do with any media packets that might arrive before that second
offer/answer completes.

3.2.1: first paragraph - This MUST NOT belongs in 3.1.1.2, (at the last sub-bullet of the second bullet
if I've understood you), and it applies to _all_ answers, not just those to initial invites. I suggest
changing this sentence to something along these lines: "When the initial offer does not contain the
'imageattr' attribute, the rules in section 3.1.1.2 require the attribute to be absent in the answer."

3.2.6 : It's not clear what the purpose of this section is. If it's only to call out the problem and
capture the discussion of some possible solutions (but not specify a solution), that should be stated
more clearly. Right now, the text could be read to be recommending the solution in the 3rd bullet of
3.2.6.4, but it's not well specified. Either way, the document should note that using port 0 this way
may defeat the return of any information about image attributes from the answerer in the first
offer/answer round. Per 3264:
A port number of zero in the offer indicates that the
stream is offered but MUST NOT be used.  This has no useful semantics
in an initial offer, but is allowed for reasons of completeness,
since the answer can contain a zero port indicating a rejected stream
(Section 6).
In section 6, it notes that media formats for rejected streams are ignored. Devices wishing to save
bandwidth may surpress any attributes associated with that m-line.  Also, be very careful with the
semantics - when a slot for a rejected stream is reused, it is adding a new media stream, not
modifying/updating an existing stream.

4.2.3: The example claims it is presenting a complete SDP offer - it isn't. It would be more
accurate to say "more of the SDP offer is shown"

The draft needs to note that the coupling between the attributes in the offer and answer is associated
with the codec, not the payload type number. It's possible to negotiate different payload type numbers
for the same codec in the pair of unidirectional streams assocated with an m line. The offer can
indicate a PT number of 101 and the answer can use PT 102, for example. If that happens, the offerer
will be sending RTP with payload frames labeled 102 and the answerer will be sending frames labeled 101.
(But the answerer's SDP would have contained a=imageaddr:102).

It would also be good to call out what's allowed with this parameter when an m-line has more than one
payload type number mapped to the same codec.

Nits:

Introduction: last paragraph first sentence : This sentence doesn't parse for me.
Is it trying to say "This document is limited to point-to-point unicast communication scenarios"?

3.1.1.2: first bullet (o), second sub-bullet (*): Should "recommended" be in upper case?

3.2.9 : first paragraph: The MUST requirement in the 2nd sentence misrepresents what the answer is.
There are no unknown parameters to remove from the answer - the answer is not a copy of the offer,
it is content that the answerer generates. It would be better to say the answerer MUST ignore
any unknown parameters in the offer and MUST NOT include them in the answer it generates.

4.1 : The last part of this example is confusing. Instead of "If Bob does not support any x and y
resolution in any of of (sic) the X and Y ranges", perhaps you could say "If Bob does not support
any x and y resolution in one of the provided send or recv ranges". Then instead of starting the
next sentence as "In this case", start it as "For instance, if Bob doesn't support any of the offered
alternatives in the recv attr-list in the offer", and delete the sentence starting "In the above example".

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

---

From: Ingemar Johansson S <[email-masked]>
Date: Wed, 29 Sep 2010 08:06:23 +0200

Hi

Just as a (late) followup

3.1.1.2 (Answerer receiving the offer and sending the answer ) says

* The answerer may also, for its receive and send direction,

replace the entries with a complete new set of entries

different from the original proposed by the offerer. The

implementor of this feature should however be aware that this

may cause extra offer/answer exchanges.

Moreover (Offerer receiving the answer)

* If the image attribute is included in the SDP answer but none

of the entries are usablel or acceptable, the offerer SHOULD

resort to other methods to determine the appropriate image

size. In this case the offerer must also issue a new offer/

answer without the image attribute to avoid misunderstandings

between offerer and answerer.

In my opinion this should not lead to inifinite offer answers.

I would say that this should protect against infinte renegotiations. Alternatively I can consider a change from SHOULD to MUST to make things more strict.

Regards
/Ingemar

________________________________
From: Kyunghun Jung [mailto:[email-masked]]
Sent: den 27 september 2010 08:49
To: Robert Sparks
Cc: [email-masked]; [email-masked]
Subject: Re: Re: [MMUSIC] AD review: draft-ietf-mmusic-image-attributes-06

Hi,

Kyunghun Jung

all modes.