All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.java.slee.resource.diameter.cca.events.CreditControlAnswer Maven / Gradle / Ivy

/*
 * JBoss, Home of Professional Open Source
 * Copyright 2011, Red Hat, Inc. and individual contributors
 * by the @authors tag. See the copyright.txt in the distribution for a
 * full listing of individual contributors.
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */

package net.java.slee.resource.diameter.cca.events;


import net.java.slee.resource.diameter.base.events.avp.DiameterURI;
import net.java.slee.resource.diameter.base.events.avp.FailedAvp;
import net.java.slee.resource.diameter.base.events.avp.RedirectHostUsageType;
import net.java.slee.resource.diameter.cca.events.avp.CcSessionFailoverType;
import net.java.slee.resource.diameter.cca.events.avp.CheckBalanceResultType;
import net.java.slee.resource.diameter.cca.events.avp.CostInformationAvp;
import net.java.slee.resource.diameter.cca.events.avp.CreditControlFailureHandlingType;
import net.java.slee.resource.diameter.cca.events.avp.DirectDebitingFailureHandlingType;
import net.java.slee.resource.diameter.cca.events.avp.FinalUnitIndicationAvp;
import net.java.slee.resource.diameter.cca.events.avp.GrantedServiceUnitAvp;

/**
 * 
 3.2.  Credit-Control-Answer (CCA) Command
 *   The Credit-Control-Answer message (CCA) is indicated by the command-
 *   code field being set to 272 and the �R� bit being cleared in the
 *   Command Flags field.  It is used between the credit-control server
 *   and the Diameter credit-control client to acknowledge a Credit-
 *   Control-Request command.
 *   Message Format
 *       ::= < Diameter Header: 272, PXY >
 *                                  < Session-Id >
 *                                  { Result-Code }
 *                                  { Origin-Host }
 *                                  { Origin-Realm }
 *                                  { Auth-Application-Id }
 *                                  { CC-Request-Type }
 *                                  { CC-Request-Number }
 *                                  [ User-Name ]
 *                                  [ CC-Session-Failover ]
 *                                  [ CC-Sub-Session-Id ]
 *                                  [ Acct-Multi-Session-Id ]
 *                                  [ Origin-State-Id ]
 *                                  [ Event-Timestamp ]
 *                                  [ Granted-Service-Unit ]
 *                                 *[ Multiple-Services-Credit-Control ]
 *                                  [ Cost-Information]
 *                                  [ Final-Unit-Indication ]
 *                                  [ Check-Balance-Result ]
 *                                  [ Credit-Control-Failure-Handling ]
 *                                  [ Direct-Debiting-Failure-Handling ]
 *                                  [ Validity-Time]
 *                                 *[ Redirect-Host]
 *                                  [ Redirect-Host-Usage ]
 *                                  [ Redirect-Max-Cache-Time ]
 *                                 *[ Proxy-Info ]
 *                                 *[ Route-Record ]
 *                                 *[ Failed-AVP ]
 *                                 *[ AVP ]
 * 
* @author Alexandre Mendon�a * */ public interface CreditControlAnswer extends CreditControlMessage { /** * Returns the value of the CC-Session-Failover AVP, of type Enumerated. * * @return */ CcSessionFailoverType getCcSessionFailover(); /** * Sets the value of the CC-Session-Failover AVP, of type Enumerated. * * @param ccSessionFailover * @throws IllegalStateException */ void setCcSessionFailover(CcSessionFailoverType ccSessionFailover) throws IllegalStateException; /** * Returns true if the CC-Session-Failover AVP is present in the message. * * @return */ boolean hasCcSessionFailover(); /** * Returns the value of the Check-Balance-Result AVP, of type Enumerated. * * @return */ CheckBalanceResultType getCheckBalanceResult(); /** * Sets the value of the Check-Balance-Result AVP, of type Enumerated. * * @param checkBalanceResult * @throws IllegalStateException */ void setCheckBalanceResult(CheckBalanceResultType checkBalanceResult) throws IllegalStateException; /** * Returns true if the Check-Balance-Result AVP is present in the message. * * @return */ boolean hasCheckBalanceResult(); /** * Returns the value of the Cost-Information AVP, of type Grouped. * * @return */ CostInformationAvp getCostInformation(); /** * Sets the value of the Cost-Information AVP, of type Grouped. * * @param costInformation * @throws IllegalStateException */ void setCostInformation(CostInformationAvp costInformation) throws IllegalStateException; /** * Returns true if the Cost-Information AVP is present in the message. * * @return */ boolean hasCostInformation(); /** * Returns the value of the Credit-Control-Failure-Handling AVP, of type Enumerated. * * @return */ CreditControlFailureHandlingType getCreditControlFailureHandling(); /** * Sets the value of the Credit-Control-Failure-Handling AVP, of type Enumerated. * * @param creditControlFailureHandling * @throws IllegalStateException */ void setCreditControlFailureHandling(CreditControlFailureHandlingType creditControlFailureHandling) throws IllegalStateException; /** * Returns true if the Credit-Control-Failure-Handling AVP is present in the message. * * @return */ boolean hasCreditControlFailureHandling(); /** * Returns the value of the Direct-Debiting-Failure-Handling AVP, of type Enumerated. * * @return */ DirectDebitingFailureHandlingType getDirectDebitingFailureHandling(); /** * Sets the value of the Direct-Debiting-Failure-Handling AVP, of type Enumerated. * * @param directDebitingFailureHandling * @throws IllegalStateException */ void setDirectDebitingFailureHandling(DirectDebitingFailureHandlingType directDebitingFailureHandling) throws IllegalStateException; /** * Returns true if the Direct-Debiting-Failure-Handling AVP is present in the message. * * @return */ boolean hasDirectDebitingFailureHandling(); /** * Returns the set of Failed-AVP AVPs. * * @return */ FailedAvp[] getFailedAvps(); /** * Sets a single Failed-AVP AVP in the message, of type Grouped. * * @param failedAvp * @throws IllegalStateException */ void setFailedAvp(FailedAvp failedAvp) throws IllegalStateException; /** * Sets the set of Failed-AVP AVPs, with all the values in the given array. * * @param failedAvps * @throws IllegalStateException */ void setFailedAvps(FailedAvp[] failedAvps) throws IllegalStateException; /** * Returns the value of the Final-Unit-Indication AVP, of type Grouped. * * @return */ FinalUnitIndicationAvp getFinalUnitIndication(); /** * Sets the value of the Final-Unit-Indication AVP, of type Grouped. * * @param finalUnitIndication * @throws IllegalStateException */ void setFinalUnitIndication(FinalUnitIndicationAvp finalUnitIndication) throws IllegalStateException; /** * Returns true if the Final-Unit-Indication AVP is present in the message. * * @return */ boolean hasFinalUnitIndication(); /** * Returns the value of the Granted-Service-Unit AVP, of type Grouped. * * @return */ GrantedServiceUnitAvp getGrantedServiceUnit(); /** * Sets the value of the Granted-Service-Unit AVP, of type Grouped. * * @param grantedServiceUnit * @throws IllegalStateException */ void setGrantedServiceUnit(GrantedServiceUnitAvp grantedServiceUnit) throws IllegalStateException; /** * Returns true if the Granted-Service-Unit AVP is present in the message. * * @return */ boolean hasGrantedServiceUnit(); /** * Returns the set of Redirect-Host AVPs. * * @return */ DiameterURI[] getRedirectHosts(); /** * Sets a single Redirect-Host AVP in the message, of type DiameterURI. * * @param redirectHost * @throws IllegalStateException */ void setRedirectHost(DiameterURI redirectHost) throws IllegalStateException; /** * Sets the set of Redirect-Host AVPs, with all the values in the given array. * * @param redirectHosts * @throws IllegalStateException */ void setRedirectHosts(DiameterURI[] redirectHosts) throws IllegalStateException; /** * Returns the value of the Redirect-Host-Usage AVP, of type Enumerated. * * @return */ RedirectHostUsageType getRedirectHostUsage(); /** * Sets the value of the Redirect-Host-Usage AVP, of type Enumerated. * * @param redirectHostUsage * @throws IllegalStateException */ void setRedirectHostUsage(RedirectHostUsageType redirectHostUsage) throws IllegalStateException; /** * Returns true if the Redirect-Host-Usage AVP is present in the message. * * @return */ boolean hasRedirectHostUsage(); /** * Returns the value of the Redirect-Max-Cache-Time AVP, of type Unsigned32. * * @return */ long getRedirectMaxCacheTime(); /** * Sets the value of the Redirect-Max-Cache-Time AVP, of type Unsigned32. * * @param redirectMaxCacheTime * @throws IllegalStateException */ void setRedirectMaxCacheTime(long redirectMaxCacheTime) throws IllegalStateException; /** * Returns true if the Redirect-Max-Cache-Time AVP is present in the message. * * @return */ boolean hasRedirectMaxCacheTime(); /** * Returns the value of the Result-Code AVP, of type Unsigned32. * * @return */ long getResultCode(); /** * Sets the value of the Result-Code AVP, of type Unsigned32. * * @param resultCode * @throws IllegalStateException */ void setResultCode(long resultCode) throws IllegalStateException; /** * Returns true if the Result-Code AVP is present in the message. * * @return */ boolean hasResultCode(); /** * Returns the value of the Validity-Time AVP, of type Unsigned32. * * @return */ long getValidityTime(); /** * Sets the value of the Validity-Time AVP, of type Unsigned32. * * @param validityTime * @throws IllegalStateException */ void setValidityTime(long validityTime) throws IllegalStateException; /** * Returns true if the Validity-Time AVP is present in the message. * * @return */ boolean hasValidityTime(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy