Search in sources :

Example 36 with ActivityContextInterface

use of javax.slee.ActivityContextInterface in project jain-slee.diameter by RestComm.

the class HSSClientChildSbb method getShClientActivity.

private ShClientActivity getShClientActivity() throws IOException {
    try {
        ShClientActivity activity = diameterShClientSbbInterface.createShClientActivity();
        ActivityContextInterface aci = diameterShClientACIF.getActivityContextInterface(activity);
        aci.attach(sbbContext.getSbbLocalObject());
        return activity;
    } catch (Exception e) {
        throw new IOException(e.getMessage(), e);
    }
}
Also used : ShClientActivity(net.java.slee.resource.diameter.sh.client.ShClientActivity) ActivityContextInterface(javax.slee.ActivityContextInterface) IOException(java.io.IOException) NamingException(javax.naming.NamingException) CreateException(javax.slee.CreateException) IOException(java.io.IOException)

Example 37 with ActivityContextInterface

use of javax.slee.ActivityContextInterface in project jain-slee.diameter by RestComm.

the class HSSClientChildSbb method storeRequestInACI.

private void storeRequestInACI(ShClientActivity activity, DiameterShMessage message) {
    ActivityContextInterface aci = diameterShClientACIF.getActivityContextInterface(activity);
    RequestMappingACI rmACI = asSbbActivityContextInterface(aci);
    rmACI.setRequestData(new MessageData(message));
}
Also used : ActivityContextInterface(javax.slee.ActivityContextInterface)

Example 38 with ActivityContextInterface

use of javax.slee.ActivityContextInterface in project charging-server by RestComm.

the class HTTPClientSbb method getRateForServiceAsync.

public RatingInfo getRateForServiceAsync(HashMap params) {
    String sessionIdFromRequest = params.get("SessionId").toString();
    HttpClientActivity clientActivity = null;
    try {
        clientActivity = raSbbInterface.createHttpClientActivity(true, null);
    } catch (StartActivityException e) {
        tracer.severe("[xx] Failed creating HTTP Client Activity to send HTTP Request to Rating Engine.");
        return new RatingInfo(-1, sessionIdFromRequest);
    }
    ActivityContextInterface clientAci = httpClientAci.getActivityContextInterface(clientActivity);
    clientAci.attach(sbbContext.getSbbLocalObject());
    params.put("startTime", System.currentTimeMillis());
    HttpPost httpPost = buildHTTPRequest(params);
    // Asynchronous call
    clientActivity.execute(httpPost, params);
    tracer.info("[>>] Sent HTTP Request to Rating Client in asynchronous mode.");
    return null;
}
Also used : HttpPost(org.apache.http.client.methods.HttpPost) RatingInfo(org.mobicents.charging.server.ratingengine.RatingInfo) ActivityContextInterface(javax.slee.ActivityContextInterface) HttpClientActivity(net.java.client.slee.resource.http.HttpClientActivity) StartActivityException(javax.slee.resource.StartActivityException)

Example 39 with ActivityContextInterface

use of javax.slee.ActivityContextInterface in project charging-server by RestComm.

the class DiameterChargingServerSbb method resumeOnCreditControlRequest.

// private String storedEndUserId;
// private long storedRequestedUnits;
// private long[] storedServiceIds;
// private ArrayList<UnitReservation> storedReservations = new ArrayList<UnitReservation>();
@Override
public void resumeOnCreditControlRequest(CreditControlInfo ccInfo) {
    UserSessionInfo sessionInfo = getSessionInfo();
    RoCreditControlRequest storedCCR = sessionInfo.getCcr();
    if (tracer.isInfoEnabled()) {
        tracer.info("[<<] " + sidString + " Resuming Handling of Credit-Control-Request [" + storedCCR.getCcRequestType().toString() + "]");
    }
    if (tracer.isFineEnabled()) {
        tracer.fine("[<<] \" + sidString + \" " + ccInfo);
    }
    sessionInfo.getReservations().add(ccInfo);
    setSessionInfo(sessionInfo);
    long resultCode = DiameterResultCode.DIAMETER_SUCCESS;
    if (ccInfo.isSuccessful()) {
        if (tracer.isInfoEnabled()) {
            tracer.info("[>>] " + sidString + " '" + sessionInfo.getEndUserId() + "' GRANTED for '" + Arrays.toString(sessionInfo.getServiceIds()) + "'.");
        }
    } else {
        if (tracer.isInfoEnabled()) {
            tracer.info("[>>] " + sidString + " '" + sessionInfo.getEndUserId() + "' DENIED for '" + Arrays.toString(sessionInfo.getServiceIds()) + "'.");
        }
        // If we can't determine error, say UNABLE_TO_COMPLY
        resultCode = ccInfo.getErrorCodeType() != null ? getResultCode(ccInfo.getErrorCodeType()) : DiameterResultCode.DIAMETER_UNABLE_TO_COMPLY;
    }
    try {
        ActivityContextInterface[] acis = this.sbbContextExt.getActivities();
        ActivityContextInterface aci = null;
        RoServerSessionActivity activity = null;
        for (ActivityContextInterface curAci : acis) {
            if (curAci.getActivity() instanceof RoServerSessionActivity) {
                aci = curAci;
                activity = (RoServerSessionActivity) curAci.getActivity();
                break;
            }
        }
        RoCreditControlAnswer cca = sessionInfo.getReservations().size() > 0 ? createCCA(activity, storedCCR, sessionInfo.getReservations(), resultCode) : createCCA(activity, storedCCR, null, DiameterResultCode.DIAMETER_MISSING_AVP);
        sendCCA(cca, aci, storedCCR.getCcRequestType() == CcRequestType.TERMINATION_REQUEST || storedCCR.getCcRequestType() == CcRequestType.EVENT_REQUEST);
        // Output the user session details.
        if (tracer.isInfoEnabled()) {
            tracer.info("[--] " + sidString + " CCA successfully sent.");
        }
        if (tracer.isFineEnabled()) {
            tracer.fine("[--] " + sidString + "Dumping session info...\n" + sessionInfo);
        }
    } catch (Exception e) {
        tracer.severe("[xx] " + sidString + " Unable to send Credit-Control-Answer.", e);
    }
    if (generateCDR && cdrGenerator != null && storedCCR.getCcRequestType() == CcRequestType.TERMINATION_REQUEST) {
        if (tracer.isInfoEnabled()) {
            tracer.info("[><] " + sidString + " Generating CDR.");
        }
        try {
            cdrGenerator.writeCDR(sessionInfo);
        } catch (Exception e) {
            tracer.severe("[xx] " + sidString + " Unable to generate CDR", e);
        }
    }
}
Also used : RoServerSessionActivity(net.java.slee.resource.diameter.ro.RoServerSessionActivity) ActivityContextInterface(javax.slee.ActivityContextInterface) RoCreditControlAnswer(net.java.slee.resource.diameter.ro.events.RoCreditControlAnswer) RoCreditControlRequest(net.java.slee.resource.diameter.ro.events.RoCreditControlRequest) CreateException(javax.slee.CreateException) IOException(java.io.IOException) SLEEException(javax.slee.SLEEException) UserSessionInfo(org.mobicents.charging.server.data.UserSessionInfo)

Example 40 with ActivityContextInterface

use of javax.slee.ActivityContextInterface in project smscgateway by RestComm.

the class RxSmppServerSbb method onRecoverablePduExceptionLocal.

private void onRecoverablePduExceptionLocal(final RxSmppServerSbbUsage anSbbUsage, final RecoverablePduException event, final ActivityContextInterface aci) {
    if (logger.isFineEnabled())
        logger.fine("onRecoverablePduException - refire to RxSmppServerChildSbb : activity=" + aci.getActivity());
    RxSmppServerChildLocalObject rxSmppServerSbbLocalObject = this.getRxSmppServerChildSbbObject();
    if (rxSmppServerSbbLocalObject != null) {
        ActivityContextInterface act = getSchedulerActivityContextInterface();
        if (act != null) {
            try {
                act.attach(rxSmppServerSbbLocalObject);
                fireRecoverablePduExceptionChild(event, act, null);
            } catch (IllegalStateException e) {
                if (logger.isInfoEnabled())
                    logger.info("onRecoverablePduException - IllegalStateException (activity is ending - dropping a SLEE event because it is not needed) : new activity=" + act.getActivity() + ", event=" + event);
            }
        }
    }
}
Also used : ActivityContextInterface(javax.slee.ActivityContextInterface)

Aggregations

ActivityContextInterface (javax.slee.ActivityContextInterface)67 Test (org.testng.annotations.Test)45 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)33 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)33 SmsSet (org.mobicents.smsc.library.SmsSet)11 Date (java.util.Date)9 Esme (org.restcomm.smpp.Esme)9 PreparedStatementCollection (org.mobicents.smsc.cassandra.PreparedStatementCollection)8 SmppSessionsProxy (org.mobicents.smsc.slee.resources.persistence.SmppSessionsProxy)8 Sms (org.mobicents.smsc.library.Sms)7 SubmitSm (com.cloudhopper.smpp.pdu.SubmitSm)6 ArrayList (java.util.ArrayList)6 PduResponse (com.cloudhopper.smpp.pdu.PduResponse)5 DeliverSmResp (com.cloudhopper.smpp.pdu.DeliverSmResp)4 EventContext (javax.slee.EventContext)4 SmscProcessingException (org.mobicents.smsc.library.SmscProcessingException)4 SmsSetEvent (org.mobicents.smsc.slee.services.smpp.server.events.SmsSetEvent)4 MAPException (org.restcomm.protocols.ss7.map.api.MAPException)4 ISDNAddressString (org.restcomm.protocols.ss7.map.api.primitives.ISDNAddressString)4 Tlv (com.cloudhopper.smpp.tlv.Tlv)3