private String makeRoutingKey(Message message) { String sessionId = message.getSessionId(); return new StringBuilder(sessionId != null ? sessionId : "null").append(message.getEndToEndIdentifier()) .append(message.getHopByHopIdentifier()).toString(); }
private DiameterActivity createActivity(Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); if (activity == null) { if (message.isRequest()) { switch(message.getCommandCode()) { case UpdateLocationRequest.COMMAND_CODE: case AuthenticationInformationRequest.COMMAND_CODE: case PurgeUERequest.COMMAND_CODE: case NotifyRequest.COMMAND_CODE: return createS6aServerSessionActivity((Request) message); case CancelLocationRequest.COMMAND_CODE: case InsertSubscriberDataRequest.COMMAND_CODE: case DeleteSubscriberDataRequest.COMMAND_CODE: case ResetRequest.COMMAND_CODE: return createS6aClientSessionActivity((Request) message); } } else { throw new IllegalStateException("Got answer, there should already be activity."); } } return activity; }
private DiameterActivity createActivity(Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); if(activity == null) { if (message.isRequest()) { if(message.getCommandCode() == PushProfileRequest.COMMAND_CODE || message.getCommandCode() == RegistrationTerminationRequest.COMMAND_CODE) { return createCxDxClientSessionActivity((Request) message, false); } else { return createCxDxServerSessionActivity((Request) message); } } else { throw new IllegalStateException("Got answer, there should already be activity."); } } return activity; }
/** * This method is for internal use only, it creates activities for requests that * do not fall in certain app range or no activities were found <br> * It should distinguish between initial requests, requests with different domains etc. * Answer for creating XXXServerSession or basic diameter activity lies in this method * * @param message * @return */ DiameterActivity createActivity(Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); if (activity == null) { //FIXME: baranowb: here we can receive only (valid) PNR, other message are errors? if(message.getCommandCode() != PushNotificationRequestImpl.commandCode) { throw new CreateActivityException("Cant create activity for unexpected message:\r\n" + message); } return (ShClientSubscriptionActivityImpl) this.createShClientSubscriptionActivity(new PushNotificationRequestImpl( message)); } return activity; }
DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); return this.createActivity(destinationHost, destinationRealm, message.getSessionId());
DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); return this.createActivity(destinationHost, destinationRealm, message.getSessionId());
private DiameterActivity createActivity(Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId()));
private DiameterActivity createActivity(Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId()));
private DiameterActivity createActivity(final Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); if (activity == null) { if (message.isRequest()) { return createGxServerSessionActivity((Request) message); } else { final AvpSet avps = message.getAvps(); Avp avp = null; DiameterIdentity destinationHost = null; DiameterIdentity destinationRealm = null; if ((avp = avps.getAvp(Avp.DESTINATION_HOST)) != null) { try { destinationHost = new DiameterIdentity(avp.getDiameterIdentity()); } catch (AvpDataException e) { tracer.severe("Failed to extract Destination-Host from Message.", e); } } if ((avp = avps.getAvp(Avp.DESTINATION_REALM)) != null) { try { destinationRealm = new DiameterIdentity(avp.getDiameterIdentity()); } catch (AvpDataException e) { tracer.severe("Failed to extract Destination-Realm from Message.", e); } } return (DiameterActivity) createGxClientSessionActivity(destinationHost, destinationRealm); } } return activity; }
private DiameterActivity createActivity(final Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId())); if (activity == null) { if (message.isRequest()) {
private DiameterActivity createActivity(Message message) throws CreateActivityException { DiameterActivity activity = activities.get(getActivityHandle(message.getSessionId()));
private DiameterActivity createActivity(Message message) throws CreateActivityException { String sessionId = message.getSessionId(); DiameterActivityHandle handle = new DiameterActivityHandle(sessionId);