public interface ChargingRuleInstall extends GroupedAvp
5.3.2 Charging-Rule-Install The Charging-Rule-Install AVP (AVP code 1001) is of type Grouped, and it is used to activate, install or modify PCC rules as instructed from the PCRF to the PCEF. For installing a new PCC rule or modifying a PCC rule already installed, Charging-Rule-Definition AVP shall be used. For activating a specific PCC rule predefined at the PCEF, Charging-Rule-Name AVP shall be used as a reference for that PCC rule. The Charging-Rule-Base-Name AVP is a reference that may be used for activating a group of PCC rules predefined at the PCEF. For GPRS scenarios where the bearer binding is performed by the PCRF, the Bearer Identifier AVP shall be included as part of Charging-Rule-Install AVP. If present within Charging-Rule-Install AVP, the Bearer-Identifier AVP indicates that the PCC rules within this Charging-Rule-Install AVP shall be installed or activated within the IP CAN bearer identified by the Bearer-Identifier AVP. If no Bearer-Identifier AVP is included within the Charging-Rule-Install AVP, the PCEF shall select an IP CAN bearer for each of the PCC rules within this Charging-Rule-Install AVP, were the PCC rule is installed or activated. If Rule-Activation-Time or Rule-Deactivation-Time is specified then it applies to all the PCC rules within the Charging-Rule-Install AVP. If Resource-Allocation-Notification AVP is included then it applies to all the rules within the Charging-Rule-Install AVP. If a Charging-Rule-Install AVP does not include the Resource-Allocation-Notification AVP, the resource allocation shall not be notified by the PCEF even if this AVP was present in previous installations of the same rule. If the Charging-Correlation-Indicator AVP is included within the Charging-Rule-Install AVP, it indicates that the PCEF shall provide the assigned access network charging identifier for the dynamic PCC Rules that are provided in the Charging-Rule-Definition AVP(s) within the Access-Network-Charging-Identifier-Gx AVP. It has the following ABNF grammar: <Charging-Rule-Install> ::= < AVP Header: 1001 > *[ Charging-Rule-Definition ] *[ Charging-Rule-Name ] *[ Charging-Rule-Base-Name ] [ Bearer-Identifier ] [ Rule-Activation-Time ] [ Rule-Deactivation-Time ] [ Resource-Allocation-Notification ] [ Charging-Correlation-Indicator ] *[ AVP ]
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.
|
ChargingCorrelationIndicator |
getChargingCorrelationIndicator()
Returns the value of the Charging-Correlation-Indicator AVP, of type Enumerated.
|
java.lang.String[] |
getChargingRuleBaseNames()
Returns the set of Charging-Rule-Base-Name AVPs.
|
ChargingRuleDefinition[] |
getChargingRuleDefinitions()
Returns the set of Charging-Rule-Definition AVPs.
|
byte[][] |
getChargingRuleNames()
Returns the set of Charging-Rule-Name AVPs.
|
DiameterAvp[] |
getExtensionAvps()
Returns the set of extension AVPs.
|
ResourceAllocationNotification |
getResourceAllocationNotification()
Returns the value of the Resource-Allocation-Notification AVP, of type Enumerated.
|
java.util.Date |
getRuleActivationTime()
Returns the value of the Rule-Activation-Time AVP, of type Time.
|
java.util.Date |
getRuleDeactivationTime()
Returns the value of the Rule-Deactivation-Time AVP, of type Time.
|
boolean |
hasBearerIdentifier()
Returns true if the Bearer-Identifier AVP is present in the Charging-Rule-Install AVP.
|
boolean |
hasChargingCorrelationIndicator()
Returns true if the Charging-Correlation-Indicator AVP is present in the Charging-Rule-Install AVP.
|
boolean |
hasResourceAllocationNotification()
Returns true if the Resource-Allocation-Notification AVP is present in the Charging-Rule-Install AVP.
|
boolean |
hasRuleActivationTime()
Returns true if the Rule-Activation-Time AVP is present in the Charging-Rule-Install AVP.
|
boolean |
hasRuleDeactivationTime()
Returns true if the Rule-Deactivation-Time AVP is present in the Charging-Rule-Install AVP.
|
void |
removeBearerIdentifier()
Removes the Bearer-Identifier AVP from the Charging-Rule-Install AVP.
|
void |
removeChargingCorrelationIndicator()
Removes the Charging-Correlation-Indicator AVP from the Charging-Rule-Install AVP.
|
void |
removeChargingRuleBaseNames()
Removes all Charging-Rule-Base-Name AVPs from the Charging-Rule-Install AVP.
|
void |
removeChargingRuleDefinitions()
Removes all Charging-Rule-Definition AVPs from the Charging-Rule-Install AVP.
|
void |
removeChargingRuleNames()
Removes all Charging-Rule-Name AVPs from the Charging-Rule-Install AVP.
|
void |
removeExtensionAvps()
Removes all extension AVPs from the Charging-Rule-Install AVP.
|
void |
removeResourceAllocationNotification()
Removes the Resource-Allocation-Notification AVP from the Charging-Rule-Install AVP.
|
void |
removeRuleActivationTime()
Removes the Rule-Activation-Time AVP from the Charging-Rule-Install AVP.
|
void |
removeRuleDeactivationTime()
Removes the Rule-Deactivation-Time AVP from the Charging-Rule-Install AVP.
|
void |
setBearerIdentifier(byte[] bearerIdentifier)
Sets the value of the Bearer-Identifier AVP, of type OctetString.
|
void |
setChargingCorrelationIndicator(ChargingCorrelationIndicator chargingCorrelationIndicator)
Sets the value of the Charging-Correlation-Indicator AVP, of type Enumerated.
|
void |
setChargingRuleBaseName(java.lang.String chargingRuleBaseName)
Sets a single Charging-Rule-Base-Name AVP in the Charging-Rule-Install 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 |
setChargingRuleDefinition(ChargingRuleDefinition chargingRuleDefinition)
Sets a single Charging-Rule-Definition AVP in the Charging-Rule-Install AVP, of type Grouped.
|
void |
setChargingRuleDefinitions(ChargingRuleDefinition[] chargingRuleDefinitions)
Sets the set of Charging-Rule-Definition AVPs, with all the values in the given array.
|
void |
setChargingRuleName(byte[] chargingRuleName)
Sets a single Charging-Rule-Name AVP in the Charging-Rule-Install 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 |
setResourceAllocationNotification(ResourceAllocationNotification resourceAllocationNotification)
Sets the value of the Resource-Allocation-Notification AVP, of type Enumerated.
|
void |
setRuleActivationTime(java.util.Date ruleActivationTime)
Sets the value of the Rule-Activation-Time AVP, of type Time.
|
void |
setRuleDeactivationTime(java.util.Date ruleDeactivationTime)
Sets the value of the Rule-Deactivation-Time AVP, of type Time.
|
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
ChargingRuleDefinition[] getChargingRuleDefinitions()
void setChargingRuleDefinition(ChargingRuleDefinition chargingRuleDefinition)
java.lang.NullPointerException
- if chargingRuleDefinition
is null
.void setChargingRuleDefinitions(ChargingRuleDefinition[] chargingRuleDefinitions)
java.lang.NullPointerException
- if chargingRuleDefinitions
is null
.void removeChargingRuleDefinitions()
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 hasRuleActivationTime()
java.util.Date getRuleActivationTime()
void setRuleActivationTime(java.util.Date ruleActivationTime)
java.lang.NullPointerException
- if ruleActivationTime
is null
.void removeRuleActivationTime()
boolean hasRuleDeactivationTime()
java.util.Date getRuleDeactivationTime()
void setRuleDeactivationTime(java.util.Date ruleDeactivationTime)
java.lang.NullPointerException
- if ruleDeactivationTime
is null
.void removeRuleDeactivationTime()
boolean hasResourceAllocationNotification()
ResourceAllocationNotification getResourceAllocationNotification()
void setResourceAllocationNotification(ResourceAllocationNotification resourceAllocationNotification)
java.lang.NullPointerException
- if resourceAllocationNotification
is null
.void removeResourceAllocationNotification()
boolean hasChargingCorrelationIndicator()
ChargingCorrelationIndicator getChargingCorrelationIndicator()
void setChargingCorrelationIndicator(ChargingCorrelationIndicator chargingCorrelationIndicator)
java.lang.NullPointerException
- if chargingCorrelationIndicator
is null
.void removeChargingCorrelationIndicator()
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()