use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CreditControlClientSessionImpl method sendInitialCreditControlRequest.
/*
* (non-Javadoc)
*
* @seenet.java.slee.resource.diameter.cca.CreditControlClientSession#
* sendInitialCreditControlRequest
* (net.java.slee.resource.diameter.cca.events.CreditControlRequest)
*/
public void sendInitialCreditControlRequest(CreditControlRequest ccr) throws IOException {
// FIXME: should this affect FSM ?
ccr.setCcRequestType(CcRequestType.INITIAL_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);
}
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CreditControlClientSessionImpl method sendTerminationCreditControlRequest.
/*
* (non-Javadoc)
*
* @seenet.java.slee.resource.diameter.cca.CreditControlClientSession#
* sendTerminationCreditControlRequest
* (net.java.slee.resource.diameter.cca.events.CreditControlRequest)
*/
public void sendTerminationCreditControlRequest(CreditControlRequest ccr) throws IOException {
// This should not be used to terminate sub-sessions!
// FIXME: Should this come already in the CCR?
ccr.setCcRequestType(CcRequestType.TERMINATION_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);
}
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CCAFactoriesTest method testGettersAndSettersCCR.
@Test
public void testGettersAndSettersCCR() throws Exception {
CreditControlRequest ccr = ccaMessageFactory.createCreditControlRequest();
int nFailures = CCAAvpAssistant.INSTANCE.testMethods(ccr, CreditControlRequest.class);
assertEquals("Some methods have failed. See logs for more details.", 0, nFailures);
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CCAFactoriesTest method isRequestCCR.
@Test
public void isRequestCCR() throws Exception {
CreditControlRequest ccr = ccaMessageFactory.createCreditControlRequest();
assertTrue("Request Flag in Credit-Control-Request is not set.", ccr.getHeader().isRequest());
}
use of net.java.slee.resource.diameter.cca.events.CreditControlRequest in project jain-slee.diameter by RestComm.
the class CCAFactoriesTest method isProxiableCopiedCCA.
@Test
public void isProxiableCopiedCCA() throws Exception {
CreditControlRequest ccr = ccaMessageFactory.createCreditControlRequest();
CreditControlAnswer cca = ccaMessageFactory.createCreditControlAnswer(ccr);
assertEquals("The 'P' bit is not copied from request in Credit-Control-Answer, it should. [RFC3588/6.2]", ccr.getHeader().isProxiable(), cca.getHeader().isProxiable());
// Reverse 'P' bit ...
((DiameterMessageImpl) ccr).getGenericData().setProxiable(!ccr.getHeader().isProxiable());
assertTrue("The 'P' bit was not modified in Credit-Control-Request, it should.", ccr.getHeader().isProxiable() != cca.getHeader().isProxiable());
cca = ccaMessageFactory.createCreditControlAnswer(ccr);
assertEquals("The 'P' bit is not copied from request in Credit-Control-Answer, it should. [RFC3588/6.2]", ccr.getHeader().isProxiable(), cca.getHeader().isProxiable());
}
Aggregations