Search in sources :

Example 1 with DataReferenceType

use of net.java.slee.resource.diameter.sh.events.avp.DataReferenceType in project jain-slee.diameter by RestComm.

the class HSSClientChildSbb method onProfileUpdateAnswer.

public void onProfileUpdateAnswer(ProfileUpdateAnswer event, RequestMappingACI aci) {
    MessageData purData = aci.getRequestData();
    aci.detach(sbbContext.getSbbLocalObject());
    DataReferenceType dataRef = purData.getDataReference();
    long resultCode = event.getResultCode();
    switch(dataRef.getValue()) {
        case DataReferenceType._REPOSITORY_DATA:
            getParent().updateRepositoryDataResponse(purData.getPublicIdentity(), resultCode);
            break;
        case DataReferenceType._PSI_ACTIVATION:
            getParent().updatePSIActivationResponse(purData.getPublicIdentity(), resultCode);
            break;
        default:
    }
}
Also used : DataReferenceType(net.java.slee.resource.diameter.sh.events.avp.DataReferenceType)

Example 2 with DataReferenceType

use of net.java.slee.resource.diameter.sh.events.avp.DataReferenceType in project jain-slee.diameter by RestComm.

the class HSSClientChildSbb method onSubscriptionNotificationsAnswer.

// -- EVENT HANDLERS FOR DIAMETER REQUESTS ----------------------------------
public void onSubscriptionNotificationsAnswer(SubscribeNotificationsAnswer event, RequestMappingACI aci) {
    MessageData snrData = aci.getRequestData();
    aci.detach(sbbContext.getSbbLocalObject());
    SubsReqType subsReqType = snrData.getSubsReqType();
    long resultCode = event.getResultCode();
    // only one data ref should be present.. but at least one must!
    DataReferenceType dataRef = snrData.getDataReferences()[0];
    switch(dataRef.getValue()) {
        case DataReferenceType._REPOSITORY_DATA:
            byte[][] serviceIndications = snrData.getServiceIndications();
            getParent().subscribeRepositoryDataResponse(snrData.getPublicIdentity(), serviceIndications, subsReqType.getValue(), resultCode);
            break;
        case DataReferenceType._IMS_USER_STATE:
            getParent().subscribeIMSUserStateResponse(snrData.getPublicIdentity(), subsReqType.getValue(), resultCode);
            break;
        case DataReferenceType._S_CSCFNAME:
            getParent().subscribeSCSCFNameResponse(snrData.getPublicIdentity(), subsReqType.getValue(), resultCode);
            break;
        case DataReferenceType._INITIAL_FILTER_CRITERIA:
            getParent().subscribeInitialFilterCriteriaResponse(snrData.getPublicIdentity(), snrData.getServerName(), subsReqType.getValue(), resultCode);
            break;
        case DataReferenceType._PSI_ACTIVATION:
            getParent().subscribePSIActivationResponse(snrData.getPublicIdentity(), subsReqType.getValue(), resultCode);
            break;
        default:
    }
}
Also used : SubsReqType(net.java.slee.resource.diameter.sh.events.avp.SubsReqType) DataReferenceType(net.java.slee.resource.diameter.sh.events.avp.DataReferenceType)

Example 3 with DataReferenceType

use of net.java.slee.resource.diameter.sh.events.avp.DataReferenceType in project jain-slee.diameter by RestComm.

the class HSSClientChildSbb method onUserDataAnswer.

public void onUserDataAnswer(UserDataAnswer event, RequestMappingACI aci) {
    MessageData udrData = aci.getRequestData();
    String data = new String(event.getUserData());
    long resultCode = event.getResultCode();
    // only one data ref should be present.. but at least one must!
    DataReferenceType dataRef = udrData.getDataReferences()[0];
    switch(dataRef.getValue()) {
        case DataReferenceType._REPOSITORY_DATA:
            getParent().deliverRepositoryData(udrData.getPublicIdentity(), udrData.getServiceIndications(), resultCode, data);
            break;
        case DataReferenceType._IMS_PUBLIC_IDENTITY:
            IdentitySetType[] identitySets = udrData.getIdentitySets();
            int[] intIdentitySets = new int[identitySets.length];
            for (int i = 0; i < identitySets.length; i++) {
                intIdentitySets[i] = identitySets[i].getValue();
            }
            getParent().deliverIMSPublicIdentity(udrData.getPublicIdentity(), udrData.getMsisdn(), intIdentitySets, resultCode, data);
            break;
        case DataReferenceType._IMS_USER_STATE:
            getParent().deliverIMSUserState(udrData.getPublicIdentity(), resultCode, data);
            break;
        case DataReferenceType._S_CSCFNAME:
            getParent().deliverSCSCFName(udrData.getPublicIdentity(), resultCode, data);
            break;
        case DataReferenceType._INITIAL_FILTER_CRITERIA:
            getParent().deliverInitialFilterCriteria(udrData.getPublicIdentity(), udrData.getServerName(), resultCode, data);
            break;
        case DataReferenceType._LOCATION_INFORMATION:
            RequestedDomainType requestedDomain = udrData.getRequestedDomain();
            getParent().deliverLocationInformation(udrData.getMsisdn(), requestedDomain != null ? requestedDomain.getValue() : null, resultCode, data);
            break;
        case DataReferenceType._USER_STATE:
            requestedDomain = udrData.getRequestedDomain();
            getParent().deliverUserState(udrData.getMsisdn(), requestedDomain != null ? requestedDomain.getValue() : null, resultCode, data);
            break;
        case DataReferenceType._CHARGING_INFORMATION:
            getParent().deliverChargingInformation(udrData.getPublicIdentity(), udrData.getMsisdn(), resultCode, data);
            break;
        case DataReferenceType._MSISDN:
            getParent().deliverMSISDN(udrData.getPublicIdentity(), udrData.getMsisdn(), resultCode, data);
            break;
        case DataReferenceType._PSI_ACTIVATION:
            getParent().deliverPSIActivation(udrData.getPublicIdentity(), resultCode, data);
            break;
        default:
    }
    aci.detach(sbbContext.getSbbLocalObject());
}
Also used : IdentitySetType(net.java.slee.resource.diameter.sh.events.avp.IdentitySetType) DataReferenceType(net.java.slee.resource.diameter.sh.events.avp.DataReferenceType) RequestedDomainType(net.java.slee.resource.diameter.sh.events.avp.RequestedDomainType)

Aggregations

DataReferenceType (net.java.slee.resource.diameter.sh.events.avp.DataReferenceType)3 IdentitySetType (net.java.slee.resource.diameter.sh.events.avp.IdentitySetType)1 RequestedDomainType (net.java.slee.resource.diameter.sh.events.avp.RequestedDomainType)1 SubsReqType (net.java.slee.resource.diameter.sh.events.avp.SubsReqType)1