use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CCAFactoriesTest method hasTFlagSetCCA.
@Test
public void hasTFlagSetCCA() throws Exception {
CreditControlRequest ccr = ccaMessageFactory.createCreditControlRequest();
((DiameterMessageImpl) ccr).getGenericData().setReTransmitted(true);
assertTrue("The 'T' flag should be set in Credit-Control-Request", ccr.getHeader().isPotentiallyRetransmitted());
CreditControlAnswer cca = ccaMessageFactory.createCreditControlAnswer(ccr);
assertFalse("The 'T' flag should not be set in Credit-Control-Answer", cca.getHeader().isPotentiallyRetransmitted());
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CCAFactoriesTest method isProxiableCCR.
@Test
public void isProxiableCCR() throws Exception {
CreditControlRequest ccr = ccaMessageFactory.createCreditControlRequest();
assertTrue("The 'P' bit is not set by default in Credit-Control-Request, it should.", ccr.getHeader().isProxiable());
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CCAFactoriesTest method isAnswerCCA.
@Test
public void isAnswerCCA() throws Exception {
CreditControlRequest ccr = ccaMessageFactory.createCreditControlRequest();
CreditControlAnswer cca = ccaMessageFactory.createCreditControlAnswer(ccr);
assertFalse("Request Flag in Credit-Control-Answer is set.", cca.getHeader().isRequest());
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CreditControlClientSessionImpl method sendCreditControlRequest.
/*
* (non-Javadoc)
*
* @seenet.java.slee.resource.diameter.cca.CreditControlClientSession#
* sendCreditControlRequest
* (net.java.slee.resource.diameter.cca.events.CreditControlRequest)
*/
public void sendCreditControlRequest(CreditControlRequest ccr) throws IOException {
// fetchCurrentState(ccr);
DiameterMessageImpl msg = (DiameterMessageImpl) ccr;
validateState(ccr);
try {
session.sendCreditControlRequest(new JCreditControlRequestImpl((Request) msg.getGenericData()));
} catch (org.jdiameter.api.validation.AvpNotAllowedException e) {
throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId());
} catch (Exception e) {
if (logger.isDebugEnabled()) {
logger.debug("Failed to send message.", e);
}
throw new IOException("Failed to send message, due to: " + e);
}
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CreditControlClientSessionImpl method sendUpdateCreditControlRequest.
/*
* (non-Javadoc)
*
* @seenet.java.slee.resource.diameter.cca.CreditControlClientSession#
* sendUpdateCreditControlRequest
* (net.java.slee.resource.diameter.cca.events.CreditControlRequest)
*/
public void sendUpdateCreditControlRequest(CreditControlRequest ccr) throws IOException {
// FIXME: Should this come already in the CCR?
ccr.setCcRequestType(CcRequestType.UPDATE_REQUEST);
validateState(ccr);
DiameterMessageImpl msg = (DiameterMessageImpl) ccr;
try {
session.sendCreditControlRequest(new JCreditControlRequestImpl((Request) msg.getGenericData()));
} catch (org.jdiameter.api.validation.AvpNotAllowedException e) {
throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId());
} catch (Exception e) {
throw new IOException("Failed to send message, due to: " + e);
}
}
Aggregations