public interface OfflineCharging extends GroupedAvp
7.2.121 Offline-Charging AVP The Offline-Charging AVP (AVP code 1278) is a grouped AVP, which is used to set the parameters required to control offline charging. It has the following ABNF grammar: Offline-Charging ::= < AVP Header: 1278> [ Quota-Consumption-Time ] [ Time-Quota-Mechanism ] [ Envelope-Reporting ] *[ Multiple-Services-Credit-Control ] *[ AVP ] At most one of Quota-Consumption-Time AVP or Time-Quota-Mechanism AVP shall be present, if individual instances are not included within the Multiple-Services-Credit-Control AVP. The Multiple-Services-Credit-Control AVPs, if present, shall contain the Rating-Group AVP to identify the category, optionally one of Quota-Consumption-Time AVP and Time-Quota-Mechanism AVP, and optionally the Envelope- Reporting AVP. Any values specified in the Offline-Charging AVP take precedence over the configured defaults. The values of the parameters specified at Multiple-Services-Credit-Control level take precedence over the values specified directly at Offline-Charging level. If neither Quota-Consumption-Time AVP nor Time-Quota-Mechanism AVP is included in the Multiple-Services-Credit-Control AVP, then the general reporting requirements dictated by the Quota-Consumption- Time AVP or Time-Quota-Mechanism AVP and Envelope-Reporting AVP directly within the Offline-Charging AVP shall apply.
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
Modifier and Type | Method and Description |
---|---|
EnvelopeReporting |
getEnvelopeReporting()
Returns the value of the Envelope-Reporting AVP, of type Enumerated.
|
DiameterAvp[] |
getExtensionAvps()
Returns the set of extension AVPs.
|
MultipleServicesCreditControl[] |
getMultipleServicesCreditControls()
Returns the set of Multiple-Services-Credit-Control AVPs.
|
long |
getQuotaConsumptionTime()
Returns the value of the Quota-Consumption-Time AVP, of type Unsigned32.
|
TimeQuotaMechanism |
getTimeQuotaMechanism()
Returns the value of the Time-Quota-Mechanism AVP, of type Grouped.
|
boolean |
hasEnvelopeReporting()
Returns true if the Envelope-Reporting AVP is present in the Offline-Charging AVP.
|
boolean |
hasQuotaConsumptionTime()
Returns true if the Quota-Consumption-Time AVP is present in the Offline-Charging AVP.
|
boolean |
hasTimeQuotaMechanism()
Returns true if the Time-Quota-Mechanism AVP is present in the Offline-Charging AVP.
|
void |
removeEnvelopeReporting()
Removes the Envelope-Reporting AVP from the Offline-Charging AVP.
|
void |
removeExtensionAvps()
Removes all extension AVPs from the Offline-Charging AVP.
|
void |
removeMultipleServicesCreditControls()
Removes all Multiple-Services-Credit-Control AVPs from the Offline-Charging AVP.
|
void |
removeQuotaConsumptionTime()
Removes the Quota-Consumption-Time AVP from the Offline-Charging AVP.
|
void |
removeTimeQuotaMechanism()
Removes the Time-Quota-Mechanism AVP from the Offline-Charging AVP.
|
void |
setEnvelopeReporting(EnvelopeReporting envelopeReporting)
Sets the value of the Envelope-Reporting AVP, of type Enumerated.
|
void |
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.
|
void |
setMultipleServicesCreditControl(MultipleServicesCreditControl multipleServicesCreditControl)
Sets a single Multiple-Services-Credit-Control AVP in the Offline-Charging AVP, of type Grouped.
|
void |
setMultipleServicesCreditControls(MultipleServicesCreditControl[] multipleServicesCreditControls)
Sets the set of Multiple-Services-Credit-Control AVPs, with all the values in the given array.
|
void |
setQuotaConsumptionTime(long quotaConsumptionTime)
Sets the value of the Quota-Consumption-Time AVP, of type Unsigned32.
|
void |
setTimeQuotaMechanism(TimeQuotaMechanism timeQuotaMechanism)
Sets the value of the Time-Quota-Mechanism AVP, of type Grouped.
|
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
boolean hasQuotaConsumptionTime()
long getQuotaConsumptionTime()
hasQuotaConsumptionTime()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Quota-Consumption-Time AVP has not been set.void setQuotaConsumptionTime(long quotaConsumptionTime)
void removeQuotaConsumptionTime()
boolean hasTimeQuotaMechanism()
TimeQuotaMechanism getTimeQuotaMechanism()
void setTimeQuotaMechanism(TimeQuotaMechanism timeQuotaMechanism)
java.lang.NullPointerException
- if timeQuotaMechanism
is null
.void removeTimeQuotaMechanism()
boolean hasEnvelopeReporting()
EnvelopeReporting getEnvelopeReporting()
void setEnvelopeReporting(EnvelopeReporting envelopeReporting)
java.lang.NullPointerException
- if envelopeReporting
is null
.void removeEnvelopeReporting()
MultipleServicesCreditControl[] getMultipleServicesCreditControls()
void setMultipleServicesCreditControl(MultipleServicesCreditControl multipleServicesCreditControl)
java.lang.NullPointerException
- if multipleServicesCreditControl
is null
.void setMultipleServicesCreditControls(MultipleServicesCreditControl[] multipleServicesCreditControls)
java.lang.NullPointerException
- if multipleServicesCreditControls
is null
.void removeMultipleServicesCreditControls()
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()