public interface ChargingRuleReport extends GroupedAvp
5.3.18 Charging-Rule-Report The Charging-Rule-Report AVP (AVP code 1018) is of types Grouped, and it is used to report the status of PCC rules. Charging-Rule-Name AVP is a reference for a specific PCC rule at the PCEF that has been successfully installed, modified or removed (for dynamic PCC rules), or activated or deactivated (for predefined PCC rules) because of trigger from the MS. Charging-Rule-Base-Name AVP is a reference for a group of PCC rules predefined at the PCEF that has been successfully activated or deactivated because of trigger from the MS. The Charging-Rule-Report AVP can also be used to report the status of the PCC rules which cannot be installed/activated or enforced at the PCEF. In this condition, the Charging-Rule-Name AVP is used to indicate a specific PCC rule which cannot be installed/activated or enforced, and the Charging-Rule-Base-Name AVP is used to indicate a group of PCC rules which cannot be activated. The Rule-Failure-Code indicates the reason that the PCC rules cannot be successfully installed/activated or enforced. The Charging-Rule-Report AVP can also be used to report the status of the PCC rules for which credit is no longer available or credit has been reallocated after the former out of credit indication. When reporting an out of credit condition, the Final-Unit-Indication AVP indicates the termination action the PCEF applies to the PCC rules as instructed by the OCS. If the PCRF performs the bearer binding and the PCRF activates a pre-defined rule the PCEF may include the Bearer-Identifier AVP within the Charging-Rule-Report AVP in order to indicate to the PCRF the IP-CAN bearer affected by the failed PCC rule activation. It has the following ABNF grammar: Charging-Rule-Report ::= < AVP Header: 1018 > *[ Charging-Rule-Name ] *[ Charging-Rule-Base-Name ] [ Bearer-Identifier ] [ PCC-Rule-Status ] [ Rule-Failure-Code ] [ Final-Unit-Indication ] *[ AVP ] Multiple instances of Charging-Rule-Report AVPs shall be used in the case it is required to report different PCC-Rule-Status or Rule-Failure-Code values for different groups of rules within the same Diameter command
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
Modifier and Type | Method and Description |
---|---|
byte[] |
getBearerIdentifier()
Returns the value of the Bearer-Identifier AVP, of type OctetString.
|
java.lang.String[] |
getChargingRuleBaseNames()
Returns the set of Charging-Rule-Base-Name AVPs.
|
byte[][] |
getChargingRuleNames()
Returns the set of Charging-Rule-Name AVPs.
|
DiameterAvp[] |
getExtensionAvps()
Returns the set of extension AVPs.
|
FinalUnitIndication |
getFinalUnitIndication()
Returns the value of the Final-Unit-Indication AVP, of type Grouped.
|
PccRuleStatus |
getPccRuleStatus()
Returns the value of the PCC-Rule-Status AVP, of type Enumerated.
|
RuleFailureCode |
getRuleFailureCode()
Returns the value of the Rule-Failure-Code AVP, of type Enumerated.
|
boolean |
hasBearerIdentifier()
Returns true if the Bearer-Identifier AVP is present in the Charging-Rule-Report AVP.
|
boolean |
hasFinalUnitIndication()
Returns true if the Final-Unit-Indication AVP is present in the Charging-Rule-Report AVP.
|
boolean |
hasPccRuleStatus()
Returns true if the PCC-Rule-Status AVP is present in the Charging-Rule-Report AVP.
|
boolean |
hasRuleFailureCode()
Returns true if the Rule-Failure-Code AVP is present in the Charging-Rule-Report AVP.
|
void |
removeBearerIdentifier()
Removes the Bearer-Identifier AVP from the Charging-Rule-Report AVP.
|
void |
removeChargingRuleBaseNames()
Removes all Charging-Rule-Base-Name AVPs from the Charging-Rule-Report AVP.
|
void |
removeChargingRuleNames()
Removes all Charging-Rule-Name AVPs from the Charging-Rule-Report AVP.
|
void |
removeExtensionAvps()
Removes all extension AVPs from the Charging-Rule-Report AVP.
|
void |
removeFinalUnitIndication()
Removes the Final-Unit-Indication AVP from the Charging-Rule-Report AVP.
|
void |
removePccRuleStatus()
Removes the PCC-Rule-Status AVP from the Charging-Rule-Report AVP.
|
void |
removeRuleFailureCode()
Removes the Rule-Failure-Code AVP from the Charging-Rule-Report AVP.
|
void |
setBearerIdentifier(byte[] bearerIdentifier)
Sets the value of the Bearer-Identifier AVP, of type OctetString.
|
void |
setChargingRuleBaseName(java.lang.String chargingRuleBaseName)
Sets a single Charging-Rule-Base-Name AVP in the Charging-Rule-Report AVP, of type UTF8String.
|
void |
setChargingRuleBaseNames(java.lang.String[] chargingRuleBaseNames)
Sets the set of Charging-Rule-Base-Name AVPs, with all the values in the given array.
|
void |
setChargingRuleName(byte[] chargingRuleName)
Sets a single Charging-Rule-Name AVP in the Charging-Rule-Report AVP, of type OctetString.
|
void |
setChargingRuleNames(byte[][] chargingRuleNames)
Sets the set of Charging-Rule-Name AVPs, with all the values in the given array.
|
void |
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.
|
void |
setFinalUnitIndication(FinalUnitIndication finalUnitIndication)
Sets the value of the Final-Unit-Indication AVP, of type Grouped.
|
void |
setPccRuleStatus(PccRuleStatus pccRuleStatus)
Sets the value of the PCC-Rule-Status AVP, of type Enumerated.
|
void |
setRuleFailureCode(RuleFailureCode ruleFailureCode)
Sets the value of the Rule-Failure-Code AVP, of type Enumerated.
|
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
byte[][] getChargingRuleNames()
void setChargingRuleName(byte[] chargingRuleName)
java.lang.NullPointerException
- if chargingRuleName
is null
.void setChargingRuleNames(byte[][] chargingRuleNames)
java.lang.NullPointerException
- if chargingRuleNames
is null
.void removeChargingRuleNames()
java.lang.String[] getChargingRuleBaseNames()
void setChargingRuleBaseName(java.lang.String chargingRuleBaseName)
java.lang.NullPointerException
- if chargingRuleBaseName
is null
.void setChargingRuleBaseNames(java.lang.String[] chargingRuleBaseNames)
java.lang.NullPointerException
- if chargingRuleBaseNames
is null
.void removeChargingRuleBaseNames()
boolean hasBearerIdentifier()
byte[] getBearerIdentifier()
void setBearerIdentifier(byte[] bearerIdentifier)
java.lang.NullPointerException
- if bearerIdentifier
is null
.void removeBearerIdentifier()
boolean hasPccRuleStatus()
PccRuleStatus getPccRuleStatus()
void setPccRuleStatus(PccRuleStatus pccRuleStatus)
java.lang.NullPointerException
- if pccRuleStatus
is null
.void removePccRuleStatus()
boolean hasRuleFailureCode()
RuleFailureCode getRuleFailureCode()
void setRuleFailureCode(RuleFailureCode ruleFailureCode)
java.lang.NullPointerException
- if ruleFailureCode
is null
.void removeRuleFailureCode()
boolean hasFinalUnitIndication()
FinalUnitIndication getFinalUnitIndication()
void setFinalUnitIndication(FinalUnitIndication finalUnitIndication)
java.lang.NullPointerException
- if finalUnitIndication
is null
.void removeFinalUnitIndication()
DiameterAvp[] getExtensionAvps()
void setExtensionAvps(DiameterAvp[] avps) throws AvpNotAllowedException
AvpNotAllowedException
- if an AVP is encountered of a type already known to this class
(i.e. an AVP for which get/set methods already appear in this class)java.lang.NullPointerException
- if avps
is null
.void removeExtensionAvps()