Subject: [Dime] Query - Processing of Unrecognized AVP

From: Himanshu Bahl <[email-masked]>
Date: Fri, 12 Jan 2007 20:44:58 +0530

Hi All,
I have a query.
If we send an AVP inside a diameter command/message which is not a part of 
that command as per diameter RFC/specification but part of another command 
in that application. What should be the behavior of diameter stack/node.

Case 1) When M bit is set in that AVP
        We supposed to return the error AVP unsupported (AVP_NOT_ALLOWED = 
5008)  to peer? 
        We should return an error AVP not allowed (AVP_NOT_ALLOWED = 5008) 
to peer?
        We should deliver the message to application along with the 
decoded AVP for that application.

Case 2) When M bit is not set in that AVP.
        We should discard the AVP and deliver the message to application 
with rest of decoded AVP's.
        We should return an error AVP not allowed to peer (AVP_NOT_ALLOWED 
= 5008)?

Our main concern in this case is to clarify whether the 
parsing/encoding/decoding of an AVP in a diameter node is associated with 
a command or a application.

In this case a AVPs associated with a command means all the AVPs that are 
defined optional and *required AVPs in the command description as per 
RFC/specification.
We have also not included this AVP as part of Custom AVP definition for 
that command.

* required AVP are the ones defined inside {} brackets in the 
specifications and optional are those which are defined inside {} 
brackets..

We can take the example of sending Result-Code-AVP in a UDR Request 
command for Sh application(with M bit set and reset option).

Hoping for a quick resolution .

Sincerely,
Himanshu.

***********************  Aricent-Private   ***********************
"DISCLAIMER: This message is proprietary to Aricent  and is intended solely for the use of 
the individual to whom it is addressed. It may contain privileged or confidential information and should not be 
circulated or used for any purpose other than for what it is intended. If you have received this message in error, 
please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly
prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for 
loss or damage arising from the use of the information transmitted by this email including damage from virus."
_______________________________________________
DiME mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dime

---

From: Rajith R <[email-masked]>
Date: Tue, 16 Jan 2007 11:03:26 +0530

For the example you have cited (Result-Code AVP in UDR):
Case 1:DIAMETER_AVP_NOT_ALLOWED           5008
unless the ABNF of UDR has *[AVP]
 
Case 2: DIAMETER_INVALID_AVP_BITS          3009
Result-Code AVP MUST have M bit set by definition [see RFC 3588, section
4.5].

  _____  

From: Himanshu Bahl [mailto:[email-masked]] 
Sent: Friday, January 12, 2007 8:45 PM
To: [email-masked]; [email-masked]; [email-masked]
Subject: [Dime] Query - Processing of Unrecognized AVP

Hi All,
I have a query. 

Case 1) When M bit is set in that AVP 
        We supposed to return the error AVP unsupported (AVP_NOT_ALLOWED =
5008)  to peer? 
        We should return an error AVP not allowed (AVP_NOT_ALLOWED = 5008)
to peer? 
        We should deliver the message to application along with the decoded
AVP for that application. 

Case 2) When M bit is not set in that AVP. 
        We should discard the AVP and deliver the message to application
with rest of decoded AVP's. 
        We should return an error AVP not allowed to peer (AVP_NOT_ALLOWED =
5008)? 

Our main concern in this case is to clarify whether the
parsing/encoding/decoding of an AVP in a diameter node is associated with a
command or a application. 

In this case a AVPs associated with a command means all the AVPs that are
defined optional and *required AVPs in the command description as per
RFC/specification. 
We have also not included this AVP as part of Custom AVP definition for that
command. 

* required AVP are the ones defined inside {} brackets in the specifications
and optional are those which are defined inside {} brackets.. 

We can take the example of sending Result-Code-AVP in a UDR Request command
for Sh application(with M bit set and reset option). 

Sincerely, 
Himanshu. 

"DISCLAIMER: This message is proprietary to Aricent  and is intended solely
for the use of 

the individual to whom it is addressed. It may contain privileged or
confidential information and should not be 

circulated or used for any purpose other than for what it is intended. If
you have received this message in error, 

please notify the originator immediately. If you are not the intended
recipient, you are notified that you are strictly

prohibited from using, copying, altering, or disclosing the contents of this
message. Aricent accepts no responsibility for 

loss or damage arising from the use of the information transmitted by this
email including damage from virus."