net.java.slee.resource.diameter.cca.events.avp
Interface MultipleServicesCreditControlAvp

All Superinterfaces:
java.lang.Cloneable, net.java.slee.resource.diameter.base.events.avp.DiameterAvp, net.java.slee.resource.diameter.base.events.avp.GroupedAvp
All Known Implementing Classes:
MultipleServicesCreditControlAvpImpl

public interface MultipleServicesCreditControlAvp
extends net.java.slee.resource.diameter.base.events.avp.GroupedAvp

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 ]
 

Author:
Bartosz Baranowski , Alexandre Mendonca

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

getFinalUnitIndication

FinalUnitIndicationAvp getFinalUnitIndication()
Returns the value of the Final-Unit-Indication AVP, of type Grouped. Return value of null indicates that AVP has not been set.
See: FinalUnitIndicationAvp

Returns:

getGrantedServiceUnit

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.
See: GrantedServiceUnitAvp

Returns:

getGsuPoolReferences

GSUPoolReferenceAvp[] getGsuPoolReferences()
Returns the set of G-S-U-Pool-Reference AVPs.Return value of null indicates that AVP has not been set.
See: GSUPoolReferenceAvp

Returns:

getRatingGroup

long getRatingGroup()
Returns the value of the Rating-Group AVP, of type Unsigned32.

Returns:

getRequestedServiceUnit

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.
See: RequestedServiceUnitAvp

Returns:

getResultCode

long getResultCode()
Returns the value of the Result-Code AVP, of type Unsigned32.

Returns:

getServiceIdentifiers

long[] getServiceIdentifiers()
Returns the set of Service-Identifier AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Service-Identifier AVPs have been set. The elements in the given array are long objects.

Returns:

getTariffChangeUsage

TariffChangeUsageType getTariffChangeUsage()
Returns the value of the Tariff-Change-Usage AVP, of type Enumerated. A return value of null implies that the AVP has not been set.
See: TariffChangeUsageType.

Returns:

getUsedServiceUnits

UsedServiceUnitAvp[] getUsedServiceUnits()
Returns the set of Used-Service-Unit AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Used-Service-Unit AVPs have been set.
See: UsedServiceUnitAvp.

Returns:

getValidityTime

long getValidityTime()
Returns the value of the Validity-Time AVP, of type Unsigned32.

Returns:

hasFinalUnitIndication

boolean hasFinalUnitIndication()
Returns the value of the Validity-Time AVP, of type Unsigned32.

Returns:

hasGrantedServiceUnit

boolean hasGrantedServiceUnit()
Returns true if the Granted-Service-Unit AVP is present in the message.

Returns:

hasRatingGroup

boolean hasRatingGroup()

hasRequestedServiceUnit

boolean hasRequestedServiceUnit()
Returns true if the Rating-Group AVP is present in the message.

Returns:

hasResultCode

boolean hasResultCode()
Returns true if the Requested-Service-Unit AVP is present in the message.

Returns:

hasTariffChangeUsage

boolean hasTariffChangeUsage()
Returns true if the Result-Code AVP is present in the message.

Returns:

hasValidityTime

boolean hasValidityTime()
Returns true if the Validity-Time AVP is present in the message.

Returns:

setFinalUnitIndication

void setFinalUnitIndication(FinalUnitIndicationAvp finalUnitIndication)
Sets the value of the Final-Unit-Indication AVP, of type Grouped.
See: FinalUnitIndicationAvp


setGrantedServiceUnit

void setGrantedServiceUnit(GrantedServiceUnitAvp grantedServiceUnit)
Sets the value of the Granted-Service-Unit AVP, of type Grouped.
See: GrantedServiceUnitAvp

Parameters:
grantedServiceUnit -

setGsuPoolReference

void setGsuPoolReference(GSUPoolReferenceAvp gsuPoolReference)
Sets a single G-S-U-Pool-Reference AVP in the message, of type Grouped.
See: GSUPoolReferenceAvp

Parameters:
gsuPoolReference -

setGsuPoolReferences

void setGsuPoolReferences(GSUPoolReferenceAvp[] gsuPoolReferences)
Sets the set of G-S-U-Pool-Reference AVPs, with all the values in the given array.
See: GSUPoolReferenceAvp

Parameters:
gsuPoolReferences -

setRatingGroup

void setRatingGroup(long ratingGroup)
Sets the value of the Rating-Group AVP, of type Unsigned32.

Parameters:
ratingGroup -

setRequestedServiceUnit

void setRequestedServiceUnit(RequestedServiceUnitAvp requestedServiceUnit)
Sets the value of the Requested-Service-Unit AVP, of type Grouped.

Parameters:
requestedServiceUnit -

setResultCode

void setResultCode(long resultCode)
Sets the value of the Result-Code AVP, of type Unsigned32.

Parameters:
resultCode -

setServiceIdentifier

void setServiceIdentifier(long serviceIdentifier)
Sets a single Service-Identifier AVP in the message, of type Unsigned32.

Parameters:
serviceIdentifier -

setServiceIdentifiers

void setServiceIdentifiers(long[] serviceIdentifiers)
Sets the set of Service-Identifier AVPs, with all the values in the given array.

Parameters:
serviceIdentifiers -

setTariffChangeUsage

void setTariffChangeUsage(TariffChangeUsageType tariffChangeUsage)
Sets the value of the Tariff-Change-Usage AVP, of type Enumerated.

Parameters:
tariffChangeUsage -

setUsedServiceUnit

void setUsedServiceUnit(UsedServiceUnitAvp usedServiceUnit)
Sets a single Used-Service-Unit AVP in the message, of type Grouped.
See: TariffChangeUsageType

Parameters:
usedServiceUnit -

setUsedServiceUnits

void setUsedServiceUnits(UsedServiceUnitAvp[] usedServiceUnits)
Sets the set of Used-Service-Unit AVPs, with all the values in the given array.
See: UsedServiceUnitAvp

Parameters:
usedServiceUnits -

setValidityTime

void setValidityTime(long validityTime)
Sets the value of the Validity-Time AVP, of type Unsigned32.

Parameters:
validityTime -


Copyright © 2012. All Rights Reserved.