public void timeoutExpired(Request request) { // No timeout should make it here, session should exist. It's an error, report it. tracer.severe("Diameter CCA RA :: Received Timeout Message - RA should not get this, session should exist to handle it. Command-Code: " + request.getCommandCode() + ", Session-Id: " + request.getSessionId()); }
public Answer processRequest(Request request) { if(logger.isInfoEnabled()) { logger.info("Diameter Stack Mux :: processRequest :: Command-Code [" + request.getCommandCode() + "]"); } DiameterListener listener = findListener(request); if(listener != null) { return listener.processRequest(request); } else { try { Answer answer = request.createAnswer(ResultCode.APPLICATION_UNSUPPORTED); //this.stack.getSessionFactory().getNewRawSession().send(answer); return answer; } catch (Exception e) { logger.error("Failed to create APPLICATION UNSUPPORTED answer.", e); } } return null; }
@Override public void timeoutExpired(Request request) { if (request.getCommandCode() == JCreditControlAnswer.code) { try { handleSendFailure(null, null, request); } catch (Exception e) { logger.debug("Failure processing timeout message for request", e); } } }
private DiameterActivity createRoServerSessionActivity(Request message) throws CreateActivityException { try { ServerRoSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(message.getSessionId(), authApplicationIds.get(0), ServerRoSession.class, new Object[]{}); sessionCreated(session); if (session == null) { tracer.severe("Failure creating Ro Server Session (null)."); return null; } return (DiameterActivity) getActivity(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (Exception e) { throw new CreateActivityException(e); } }
String sessionId = request == null ? null : request.getSessionId(); ApplicationId appId = request.getApplicationIdAvps().isEmpty() ? null : request.getApplicationIdAvps().iterator().next(); switch (request.getCommandCode()) { case CancelLocationRequest.COMMAND_CODE: activity.fetchSessionData(new CancelLocationRequestImpl(request));
public AccountingServerSessionActivity createAccountingServerActivity(Request req) throws CreateActivityException { ServerAccSession session = null; try { ApplicationId appId = req.getApplicationIdAvps().isEmpty() ? null : req.getApplicationIdAvps().iterator().next(); session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(req.getSessionId(), appId, ServerAccSession.class, req); if (session == null) { throw new CreateActivityException("Got NULL Session while creating Server Accounting Activity"); } sessionCreated(session); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Server Accounting Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Server Accounting Activity", e); } return (AccountingServerSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); }
@Override public void timeoutExpired(Request request) { try { sendAndStateLock.lock(); if (request.getApplicationId() == appId) { if (request.getCommandCode() == PushNotificationRequest.code) { handleEvent(new Event(Event.Type.TIMEOUT_EXPIRES, factory.createPushNotificationRequest(request), null)); return; } } } catch (Exception e) { logger.debug("Failed to process timeout message", e); } finally { sendAndStateLock.unlock(); } }
/** * * @param request * @param resultCode */ public JPurgeUEAnswerImpl(Request request, long resultCode) { super(request.createAnswer(resultCode)); }
protected Answer createEventAnswer(Request request) { Answer answer = request.createAnswer(ResultCode.SUCCESS); answer.getAvps().addAvp(Avp.ACC_RECORD_TYPE, 2); answer.getAvps().addAvp(request.getAvps().getAvp(Avp.ACC_RECORD_NUMBER)); return answer; }
@Override public void timeoutExpired(Request request) { if (request.getCommandCode() == RoCreditControlAnswer.code) { try { sendAndStateLock.lock(); handleSendFailure(null, null, request); } catch (Exception e) { logger.debug("Failure processing timeout message for request", e); } finally { sendAndStateLock.unlock(); } } }
private DiameterActivity createGxServerSessionActivity(final Request message) throws CreateActivityException { try { final ServerGxSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(message.getSessionId(), authApplicationIds.get(0), ServerGxSession.class, new Object[]{}); sessionCreated(session); if (session == null) { tracer.severe("Failure creating Gx Server Session (null)."); return null; } return (DiameterActivity) getActivity(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (Exception e) { throw new CreateActivityException(e); } }
String sessionId = request == null ? null : request.getSessionId(); ApplicationId appId = request.getApplicationIdAvps().isEmpty() ? null : request.getApplicationIdAvps().iterator().next(); switch (request.getCommandCode()) { case AuthenticationInformationRequest.COMMAND_CODE: activity.fetchSessionData(new AuthenticationInformationRequestImpl(request));
public AccountingServerSessionActivity createAccountingServerActivity(Request req) throws CreateActivityException { ServerAccSession session = null; try { ApplicationId appId = req.getApplicationIdAvps().isEmpty() ? null : req.getApplicationIdAvps().iterator().next(); session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(req.getSessionId(), appId, ServerAccSession.class, req); if (session == null) { throw new CreateActivityException("Got NULL Session while creating Server Accounting Activity"); } sessionCreated(session); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Server Accounting Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Server Accounting Activity", e); } return (AccountingServerSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); }
@Override public void run() { try { if (request.getApplicationId() == factory.getApplicationId()) { if (request.getCommandCode() == PushNotificationRequest.code) { handleEvent(new Event(Event.Type.RECEIVE_PUSH_NOTIFICATION_REQUEST, factory.createPushNotificationRequest(request), null)); return; } } listener.doOtherEvent(session, new AppRequestEventImpl(request), null); } catch (Exception e) { logger.debug("Failed to process request {}", request, e); } } }
/** * * @param request * @param resultCode */ public JNotifyAnswerImpl(Request request, long resultCode) { super(request.createAnswer(resultCode)); }
protected Answer createStartAnswer(Request request) { Answer answer = request.createAnswer(ResultCode.SUCCESS); answer.getAvps().addAvp(Avp.ACC_RECORD_TYPE, 1); answer.getAvps().addAvp(request.getAvps().getAvp(Avp.ACC_RECORD_NUMBER)); return answer; }
if(request.getCommandCode() == CreditControlRequest.commandCode) { DiameterActivity activity; tracer.severe("Diameter CCA RA :: Failed to create session, Command-Code: " + request.getCommandCode() + ", Session-Id: " + request.getSessionId()); tracer.severe("Diameter CCA RA :: Received unexpected Request. Either its not CCR or session should exist to handle this, Command-Code: "+request.getCommandCode()+", Session-Id: "+request.getSessionId());
@Override public void timeoutExpired(Request request) { if (request.getCommandCode() == GxCreditControlAnswer.code) { try { sendAndStateLock.lock(); handleSendFailure(null, null, request); } catch (Exception e) { logger.debug("Failure processing timeout message for request", e); } finally { sendAndStateLock.unlock(); } } }
private DiameterActivity createRoServerSessionActivity(Request message) throws CreateActivityException { try { ServerRoSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(message.getSessionId(), authApplicationIds.get(0), ServerRoSession.class, new Object[]{}); sessionCreated(session); if (session == null) { tracer.severe("Failure creating Ro Server Session (null)."); return null; } return (DiameterActivity) getActivity(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (Exception e) { throw new CreateActivityException(e); } }
private DiameterActivity createRfServerSessionActivity(Request request) throws CreateActivityException { ServerRfSession session = null; try { ApplicationId appId = request.getApplicationIdAvps().isEmpty() ? null : request.getApplicationIdAvps().iterator().next(); session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(request.getSessionId(), appId, ServerRfSession.class, request); if (session == null) { throw new CreateActivityException("Got NULL Session while creating Server Accounting Activity"); } sessionCreated(session); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Server Accounting Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Server Accounting Activity", e); } return (RfServerSessionActivityImpl) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); }