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:
}
}
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:
}
}
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());
}
Aggregations