RE : : Using DIAMETER_MISSING_AVP for optional AVP
"MORAND Lionel RD-CORE-ISS" <[email protected]>
| Newsgroups | gmane.ietf.aaa |
|---|---|
| Message-ID | <7DBAFEC6A76F3E42817DF1EBE64CB026018B33F4@FTRDMEL2.rd.francetelecom.fr> |
Hi Mikko, > > Based on this definition, it is only applicable to AVP > > "required by the command code definition". It is not clear if > > we could reuse the same result code for an optional AVP. > > In my opinion here "command code definition" refers to the > whole definition of the command, not just the ABNF. Some > parts of the definition are often presented in "free" text. > For example, Diameter Application command definition might > state that Pet-Poodle AVP must be present in the message in > case it is Friday the 13th. :) [LM] Maybe but it is not clear in the RFC3588 > > My assumption was that a "SHOULD" was possible here because > you could > > have relyed on the command code ABNF descritpion to find > the missing > > AVP. > > So if the command-code ABNF definition defines three required > AVPs and you receive DIAMETER_MISSING_AVP without Failed-AVP > how do you know which one was missing? You need to know the > message contents and the command-code definition (including > the rules for "conditional" AVPs) if you want to know what > AVP was missing. It doesn't matter at all whether the missing > AVP is required or optional. [LM] Based on the RFC 3588: 6.1.2. Sending a Request When sending a request, originated either locally, or as the result of a forwarding or routing operation, the following procedures MUST be followed: - the Hop-by-Hop Identifier should be set to a locally unique value - The message should be saved in the list of pending requests. Receivig DIAMETER_MISSING_AVP without any Failed_AVP AVP, I'm able to know what AVP is missing just by comparing the pending request with the command code ABNF description. I don't need extra information if this error message is only sent for missing "required" AVP. By the way, this is not a discussion about 'conditional AVPs'. This concept doesn't exist in the base protocol! We should only deal with optional AVPs, whatever the use of these optional AVPs. BR, Lionel