|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface MultipleServicesCreditControlAvp
Defines an interface representing the Multiple-Services-Credit-Control grouped AVP type. From the Diameter Credit-Control Application (rfc4006.txt) specification:
8.16. Multiple-Services-Credit-Control AVP
Multiple-Services-Credit-Control AVP (AVP Code 456) is of type
Grouped and contains the AVPs related to the independent credit-
control of multiple services feature. Note that each instance of
this AVP carries units related to one or more services or related to
a single rating group.
The Service-Identifier and the Rating-Group AVPs are used to
associate the granted units to a given service or rating group. If
both the Service-Identifier and the Rating-Group AVPs are included,
the target of the service units is always the service(s) indicated by
the value of the Service-Identifier AVP(s). If only the Rating-
Group-Id AVP is present, the Multiple-Services-Credit-Control AVP
relates to all the services that belong to the specified rating
group.
The G-S-U-Pool-Reference AVP allows the server to specify a G-S-U-
Pool-Identifier identifying a credit pool within which the units of
the specified type are considered pooled. If a G-S-U-Pool-Reference
AVP is present, then actual service units of the specified type MUST
also be present. For example, if the G-S-U-Pool-Reference AVP
specifies Unit-Type TIME, then the CC-Time AVP MUST be present.
The Requested-Service-Unit AVP MAY contain the amount of requested
service units or the requested monetary value. It MUST be present in
the initial interrogation and within the intermediate interrogations
in which new quota is requested. If the credit-control client does
not include the Requested-Service-Unit AVP in a request command,
because for instance, it has determined that the end-user terminated
the service, the server MUST debit the used amount from the user's
account but MUST NOT return a new quota in the corresponding answer.
The Validity-Time, Result-Code, and Final-Unit-Indication AVPs MAY be
present in an answer command as defined in sections 5.1.2 and 5.6 for
the graceful service termination.
When both the Tariff-Time-Change and Tariff-Change-Usage AVPs are
present, the server MUST include two separate instances of the
Multiple-Services-Credit-Control AVP with the Granted-Service-Unit
AVP associated to the same service-identifier and/or rating-group.
Where the two quotas are associated to the same pool or to different
pools, the credit pooling mechanism defined in section 5.1.2 applies.
The Tariff-Change-Usage AVP MUST NOT be included in request commands
to report used units before, and after tariff time change the Used-
Service-Unit AVP MUST be used.
A server not implementing the independent credit-control of multiple
services functionality MUST treat the Multiple-Services-Credit-
Control AVP as an invalid AVP.
The Multiple-Services-Control AVP is defined as follows (per the
grouped-avp-def of RFC 3588 [DIAMBASE]):
Multiple-Services-Credit-Control ::= < AVP Header: 456 >
[ Granted-Service-Unit ]
[ Requested-Service-Unit ]
*[ Used-Service-Unit ]
[ Tariff-Change-Usage ]
*[ Service-Identifier ]
[ Rating-Group ]
*[ G-S-U-Pool-Reference ]
[ Validity-Time ]
[ Result-Code ]
[ Final-Unit-Indication ]
*[ AVP ]
| Field Summary |
|---|
| Fields inherited from interface net.java.slee.resource.diameter.base.events.avp.DiameterAvp |
|---|
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT |
| Method Summary | |
|---|---|
FinalUnitIndicationAvp |
getFinalUnitIndication()
Returns the value of the Final-Unit-Indication AVP, of type Grouped. |
GrantedServiceUnitAvp |
getGrantedServiceUnit()
Returns the value of the Granted-Service-Unit AVP, of type Grouped.Return value of null indicates that AVP has not been set. |
GSUPoolReferenceAvp[] |
getGsuPoolReferences()
Returns the set of G-S-U-Pool-Reference AVPs.Return value of null indicates that AVP has not been set. |
long |
getRatingGroup()
Returns the value of the Rating-Group AVP, of type Unsigned32. |
RequestedServiceUnitAvp |
getRequestedServiceUnit()
Returns the value of the Requested-Service-Unit AVP, of type Grouped.Return value of null indicates that AVP has not been set. |
long |
getResultCode()
Returns the value of the Result-Code AVP, of type Unsigned32. |
long[] |
getServiceIdentifiers()
Returns the set of Service-Identifier AVPs. |
TariffChangeUsageType |
getTariffChangeUsage()
Returns the value of the Tariff-Change-Usage AVP, of type Enumerated. |
UsedServiceUnitAvp[] |
getUsedServiceUnits()
Returns the set of Used-Service-Unit AVPs. |
long |
getValidityTime()
Returns the value of the Validity-Time AVP, of type Unsigned32. |
boolean |
hasFinalUnitIndication()
Returns the value of the Validity-Time AVP, of type Unsigned32. |
boolean |
hasGrantedServiceUnit()
Returns true if the Granted-Service-Unit AVP is present in the message. |
boolean |
hasRatingGroup()
|
boolean |
hasRequestedServiceUnit()
Returns true if the Rating-Group AVP is present in the message. |
boolean |
hasResultCode()
Returns true if the Requested-Service-Unit AVP is present in the message. |
boolean |
hasTariffChangeUsage()
Returns true if the Result-Code AVP is present in the message. |
boolean |
hasValidityTime()
Returns true if the Validity-Time AVP is present in the message. |
void |
setFinalUnitIndication(FinalUnitIndicationAvp finalUnitIndication)
Sets the value of the Final-Unit-Indication AVP, of type Grouped. |
void |
setGrantedServiceUnit(GrantedServiceUnitAvp grantedServiceUnit)
Sets the value of the Granted-Service-Unit AVP, of type Grouped. |
void |
setGsuPoolReference(GSUPoolReferenceAvp gsuPoolReference)
Sets a single G-S-U-Pool-Reference AVP in the message, of type Grouped. |
void |
setGsuPoolReferences(GSUPoolReferenceAvp[] gsuPoolReferences)
Sets the set of G-S-U-Pool-Reference AVPs, with all the values in the given array. |
void |
setRatingGroup(long ratingGroup)
Sets the value of the Rating-Group AVP, of type Unsigned32. |
void |
setRequestedServiceUnit(RequestedServiceUnitAvp requestedServiceUnit)
Sets the value of the Requested-Service-Unit AVP, of type Grouped. |
void |
setResultCode(long resultCode)
Sets the value of the Result-Code AVP, of type Unsigned32. |
void |
setServiceIdentifier(long serviceIdentifier)
Sets a single Service-Identifier AVP in the message, of type Unsigned32. |
void |
setServiceIdentifiers(long[] serviceIdentifiers)
Sets the set of Service-Identifier AVPs, with all the values in the given array. |
void |
setTariffChangeUsage(TariffChangeUsageType tariffChangeUsage)
Sets the value of the Tariff-Change-Usage AVP, of type Enumerated. |
void |
setUsedServiceUnit(UsedServiceUnitAvp usedServiceUnit)
Sets a single Used-Service-Unit AVP in the message, of type Grouped. |
void |
setUsedServiceUnits(UsedServiceUnitAvp[] usedServiceUnits)
Sets the set of Used-Service-Unit AVPs, with all the values in the given array. |
void |
setValidityTime(long validityTime)
Sets the value of the Validity-Time AVP, of type Unsigned32. |
| Methods inherited from interface net.java.slee.resource.diameter.base.events.avp.GroupedAvp |
|---|
getExtensionAvps, setExtensionAvps |
| Methods inherited from interface net.java.slee.resource.diameter.base.events.avp.DiameterAvp |
|---|
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorId, intValue, longValue, octetStringValue, stringValue |
| Method Detail |
|---|
FinalUnitIndicationAvp getFinalUnitIndication()
FinalUnitIndicationAvp
GrantedServiceUnitAvp getGrantedServiceUnit()
GrantedServiceUnitAvp
GSUPoolReferenceAvp[] getGsuPoolReferences()
GSUPoolReferenceAvp
long getRatingGroup()
RequestedServiceUnitAvp getRequestedServiceUnit()
RequestedServiceUnitAvp
long getResultCode()
long[] getServiceIdentifiers()
TariffChangeUsageType getTariffChangeUsage()
TariffChangeUsageType.
UsedServiceUnitAvp[] getUsedServiceUnits()
UsedServiceUnitAvp.
long getValidityTime()
boolean hasFinalUnitIndication()
boolean hasGrantedServiceUnit()
boolean hasRatingGroup()
boolean hasRequestedServiceUnit()
boolean hasResultCode()
boolean hasTariffChangeUsage()
boolean hasValidityTime()
void setFinalUnitIndication(FinalUnitIndicationAvp finalUnitIndication)
FinalUnitIndicationAvp
void setGrantedServiceUnit(GrantedServiceUnitAvp grantedServiceUnit)
GrantedServiceUnitAvp
grantedServiceUnit - void setGsuPoolReference(GSUPoolReferenceAvp gsuPoolReference)
GSUPoolReferenceAvp
gsuPoolReference - void setGsuPoolReferences(GSUPoolReferenceAvp[] gsuPoolReferences)
GSUPoolReferenceAvp
gsuPoolReferences - void setRatingGroup(long ratingGroup)
ratingGroup - void setRequestedServiceUnit(RequestedServiceUnitAvp requestedServiceUnit)
requestedServiceUnit - void setResultCode(long resultCode)
resultCode - void setServiceIdentifier(long serviceIdentifier)
serviceIdentifier - void setServiceIdentifiers(long[] serviceIdentifiers)
serviceIdentifiers - void setTariffChangeUsage(TariffChangeUsageType tariffChangeUsage)
tariffChangeUsage - void setUsedServiceUnit(UsedServiceUnitAvp usedServiceUnit)
TariffChangeUsageType
usedServiceUnit - void setUsedServiceUnits(UsedServiceUnitAvp[] usedServiceUnits)
UsedServiceUnitAvp
usedServiceUnits - void setValidityTime(long validityTime)
validityTime -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||