public void dataRemoved(String arg0) { this.activities.remove(getActivityHandle(arg0)); }
public void dataRemoved(String arg0) { this.activities.remove(getActivityHandle(arg0)); }
public void stateChanged(AppSession source, Enum oldState, Enum newState) { if(source instanceof ServerAuthSession || source instanceof ClientAuthSession) { AuthSessionActivityImpl activity = (AuthSessionActivityImpl) this.getActivity(this.getActivityHandle(source.getSessionId())); activity.stateChanged(source, oldState, newState); } else if (source instanceof ServerAccSession || source instanceof ClientAccSession) { AccountingSessionActivityImpl activity = (AccountingSessionActivityImpl) this.getActivity(this.getActivityHandle(source.getSessionId())); activity.stateChanged(source, oldState, newState); } else { //error? } }
public void stateChanged(AppSession source, Enum oldState, Enum newState) { if(source instanceof ServerAuthSession || source instanceof ClientAuthSession) { AuthSessionActivityImpl activity = (AuthSessionActivityImpl) this.getActivity(this.getActivityHandle(source.getSessionId())); activity.stateChanged(source, oldState, newState); } else if (source instanceof ServerAccSession || source instanceof ClientAccSession) { AccountingSessionActivityImpl activity = (AccountingSessionActivityImpl) this.getActivity(this.getActivityHandle(source.getSessionId())); activity.stateChanged(source, oldState, newState); } else { //error? } }
public void fireEvent(String sessionId, Message message) { DiameterMessage event = (DiameterMessage) createEvent(message); FireableEventType eventId = eventIdCache.getEventId(eventLookup, message); this.fireEvent(event, getActivityHandle(sessionId), eventId, null, true, message.isRequest()); }
public void fireEvent(String sessionId, Message message) { DiameterMessage event = (DiameterMessage) createEvent(message); FireableEventType eventId = eventIdCache.getEventId(eventLookup, message); this.fireEvent(event, getActivityHandle(sessionId), eventId, null, true, message.isRequest()); }
public AuthClientSessionActivity createAuthenticationClientSessionActivity(DiameterIdentity destinationHost, DiameterIdentity destinationRealm) throws CreateActivityException { try { ClientAuthSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(null, authApplicationIds.get(0), ClientAuthSession.class); sessionCreated(session); return (AuthClientSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Authentication Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Authentication Activity", e); } }
public AuthClientSessionActivity createAuthenticationClientSessionActivity(DiameterIdentity destinationHost, DiameterIdentity destinationRealm) throws CreateActivityException { try { ClientAuthSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(null, authApplicationIds.get(0), ClientAuthSession.class); sessionCreated(session); return (AuthClientSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Authentication Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Authentication Activity", e); } }
public AccountingClientSessionActivity createAccountingClientSessionActivity(DiameterIdentity destinationHost, DiameterIdentity destinationRealm) throws CreateActivityException { try { // FIXME: alexandre: This must be fixed, we need way to specify Application-Id! ClientAccSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(null, acctApplicationIds.get(0), ClientAccSession.class); sessionCreated(session); return (AccountingClientSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Client Accounting Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Client Accounting Activity", e); } }
public AuthServerSessionActivity createAuthenticationServerActivity(Request request) throws CreateActivityException { ServerAuthSession session = null; try { session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(null, authApplicationIds.get(0), ServerAuthSession.class, new Object[]{request}); sessionCreated(session); return (AuthServerSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Server Authentication Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Server Authentication Activity", e); } }
public AccountingClientSessionActivity createAccountingClientSessionActivity(DiameterIdentity destinationHost, DiameterIdentity destinationRealm) throws CreateActivityException { try { // FIXME: alexandre: This must be fixed, we need way to specify Application-Id! ClientAccSession session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(null, acctApplicationIds.get(0), ClientAccSession.class); sessionCreated(session); return (AccountingClientSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Client Accounting Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Client Accounting Activity", e); } }
public AuthServerSessionActivity createAuthenticationServerActivity(Request request) throws CreateActivityException { ServerAuthSession session = null; try { session = ((ISessionFactory) stack.getSessionFactory()).getNewAppSession(null, authApplicationIds.get(0), ServerAuthSession.class, new Object[]{request}); sessionCreated(session); return (AuthServerSessionActivity) activities.get(getActivityHandle(session.getSessions().get(0).getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Internal exception while creating Server Authentication Activity", e); } catch (IllegalDiameterStateException e) { throw new CreateActivityException("Illegal Diameter State exception while creating Server Authentication Activity", e); } }
public DiameterMessage sendSyncRequest(DiameterMessage message) throws IOException { try { if (message instanceof DiameterMessageImpl) { DiameterMessageImpl msg = (DiameterMessageImpl) message; String sessionId = message.getSessionId(); DiameterActivityHandle handle = getActivityHandle(sessionId); DiameterActivityImpl activity = (DiameterActivityImpl) getActivity(handle); if (activity == null) { activity = (DiameterActivityImpl) createActivity(msg.getGenericData()); } return activity.sendSyncMessage(message); } } catch (org.jdiameter.api.validation.AvpNotAllowedException e) { throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId()); } catch (Exception e) { throw new IOException("Failed to send message, due to: " + e.getMessage()); } return null; }
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())); }
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())); }
public DiameterMessage sendSyncRequest(DiameterMessage message) throws IOException { try { if (message instanceof DiameterMessageImpl) { DiameterMessageImpl msg = (DiameterMessageImpl) message; String sessionId = message.getSessionId(); DiameterActivityHandle handle = getActivityHandle(sessionId); DiameterActivityImpl activity = (DiameterActivityImpl) getActivity(handle); if (activity == null) { activity = (DiameterActivityImpl) createActivity(msg.getGenericData()); } return activity.sendSyncMessage(message); } } catch (org.jdiameter.api.validation.AvpNotAllowedException e) { throw new AvpNotAllowedException("Message validation failed.", e, e.getAvpCode(), e.getVendorId()); } catch (Exception e) { throw new IOException("Failed to send message, due to: " + e.getMessage()); } return null; }
public void timeoutExpired(Request req) { if (tracer.isFineEnabled()) { tracer.fine("Diameter Base RA :: timeoutExpired :: " + "Request[" + req + "]."); } // Message delivery timed out - we have to remove activity try { activities.get(getActivityHandle(req.getSessionId())).endActivity(); } catch (Exception e) { tracer.severe("Failure processing timeout message.", e); } }
public void timeoutExpired(Request req) { if (tracer.isFineEnabled()) { tracer.fine("Diameter Base RA :: timeoutExpired :: " + "Request[" + req + "]."); } // Message delivery timed out - we have to remove activity try { activities.get(getActivityHandle(req.getSessionId())).endActivity(); } catch (Exception e) { tracer.severe("Failure processing timeout message.", e); } }
/** * * @param destinationHost * @param destinationRealm * @param sessionId * @return * @throws CreateActivityException */ public DiameterActivity createActivity(DiameterIdentity destinationHost, DiameterIdentity destinationRealm, String sessionId) throws CreateActivityException { try { Session session = sessionId != null ? proxySessionFactory.getNewSession(sessionId) : proxySessionFactory.getNewSession(); sessionCreated(session); return activities.get(getActivityHandle(session.getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Failure obtaining session for creating activity.", e); } }
/** * * @param destinationHost * @param destinationRealm * @param sessionId * @return * @throws CreateActivityException */ public DiameterActivity createActivity(DiameterIdentity destinationHost, DiameterIdentity destinationRealm, String sessionId) throws CreateActivityException { try { Session session = sessionId != null ? proxySessionFactory.getNewSession(sessionId) : proxySessionFactory.getNewSession(); sessionCreated(session); return activities.get(getActivityHandle(session.getSessionId())); } catch (InternalException e) { throw new CreateActivityException("Failure obtaining session for creating activity.", e); } }