public AccountingRequest createAccountingRequest(DiameterAvp[] avps) throws AvpNotAllowedException { ApplicationId appId = getApplicationId(avps); AccountingRequest msg = (AccountingRequest) this.createDiameterMessage(null, avps, Message.ACCOUNTING_REQUEST, appId != null ? appId : BASE_ACCT_APP_ID); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public AbortSessionRequest createAbortSessionRequest(DiameterAvp[] avps) throws AvpNotAllowedException { ApplicationId appId = getApplicationId(avps); AbortSessionRequest msg = (AbortSessionRequest) this.createDiameterMessage(null, avps, Message.ABORT_SESSION_REQUEST, appId != null ? appId : BASE_AUTH_APP_ID); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public DiameterMessage createMessage(DiameterHeader header, DiameterAvp[] avps) throws AvpNotAllowedException { return this.createDiameterMessage(header, avps, header.getCommandCode(), getApplicationId(avps)); }
public DisconnectPeerAnswer createDisconnectPeerAnswer(DisconnectPeerRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { DisconnectPeerAnswer msg = (DisconnectPeerAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.DISCONNECT_PEER_ANSWER, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public AccountingAnswer createAccountingAnswer(AccountingRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { AccountingAnswer msg = (AccountingAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.ACCOUNTING_ANSWER, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public DeviceWatchdogAnswer createDeviceWatchdogAnswer(DeviceWatchdogRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { DeviceWatchdogAnswer msg = (DeviceWatchdogAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.DEVICE_WATCHDOG_ANSWER, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public ReAuthAnswer createReAuthAnswer(ReAuthRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { ReAuthAnswer msg = (ReAuthAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.RE_AUTH_ANSWER, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public SessionTerminationAnswer createSessionTerminationAnswer(SessionTerminationRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { SessionTerminationAnswer msg = (SessionTerminationAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.SESSION_TERMINATION_REQUEST, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public AbortSessionAnswer createAbortSessionAnswer(AbortSessionRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { AbortSessionAnswer msg = (AbortSessionAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.ABORT_SESSION_ANSWER, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
public CapabilitiesExchangeAnswer createCapabilitiesExchangeAnswer(CapabilitiesExchangeRequest request, DiameterAvp[] avps) throws AvpNotAllowedException { CapabilitiesExchangeAnswer msg = (CapabilitiesExchangeAnswer) this.createDiameterMessage(request.getHeader(), avps, Message.CAPABILITIES_EXCHANGE_ANSWER, getApplicationId(request)); // Add Session-Id AVP if not present addSessionIdAvp(msg); return msg; }
private ApplicationId getApplicationId(DiameterMessage msg) { ApplicationId applicationId = getApplicationId(msg.getAvps()); if (applicationId == null) { applicationId = msg.getCommand().getCode() == AccountingRequest.commandCode ? ApplicationId.createByAccAppId(ApplicationId.Standard.DIAMETER_COMMON_MESSAGE) : ApplicationId.createByAuthAppId(ApplicationId.Standard.DIAMETER_COMMON_MESSAGE); } return applicationId; }
private ApplicationId getApplicationId(DiameterAvp[] avps) { ApplicationId applicationId = null; long vendorId = 0L; // Try to get Application-Id from Message AVPs if (avps != null) { for (DiameterAvp avp : avps) { if(avp.getCode() == DiameterAvpCodes.VENDOR_ID) { vendorId = avp.intValue(); } if(avp.getCode() == DiameterAvpCodes.VENDOR_SPECIFIC_APPLICATION_ID) { applicationId = getApplicationId(((GroupedAvp)avp).getExtensionAvps()); break; } if (avp.getCode() == DiameterAvpCodes.ACCT_APPLICATION_ID) { applicationId = ApplicationId.createByAccAppId(vendorId, avp.intValue()); break; } else if (avp.getCode() == DiameterAvpCodes.AUTH_APPLICATION_ID) { applicationId = ApplicationId.createByAuthAppId(vendorId, avp.intValue()); break; } } } return applicationId; }