/**
* Start time:11:17:31 2009-08-19<br>
* Project: diameter-parent-release<br>
*
* @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski </a>
*/
package org.mobicents.slee.resource.diameter.cxdx.handlers;
import org.jdiameter.api.Answer;
import org.jdiameter.api.ApplicationId;
import org.jdiameter.api.Request;
import org.jdiameter.api.Session;
import org.jdiameter.api.cxdx.ClientCxDxSession;
import org.jdiameter.api.cxdx.ServerCxDxSession;
/**
* Start time:11:17:31 2009-08-19<br>
* Project: diameter-parent-release<br>
*
* @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski </a>
*/
public interface CxDxSessionCreationListener {
// Some static to improve perf, we have maps with it, but thats only for
// setup.
public static final String _UserAuthorizationRequest = "net.java.slee.resource.diameter.cxdx.events.UserAuthorizationRequest";
public static final String _ServerAssignmentRequest = "net.java.slee.resource.diameter.cxdx.events.ServerAssignmentRequest";
public static final String _LocationInfoRequest = "net.java.slee.resource.diameter.cxdx.events.LocationInfoRequest";
public static final String _MultimediaAuthenticationRequest = "net.java.slee.resource.diameter.cxdx.events.MultimediaAuthenticationRequest";
public static final String _RegistrationTerminationRequest = "net.java.slee.resource.diameter.cxdx.events.RegistrationTerminationRequest";
public static final String _PushProfileRequest = "net.java.slee.resource.diameter.cxdx.events.PushProfileRequest";
public static final String _UserAuthorizationAnswer = "net.java.slee.resource.diameter.cxdx.events.UserAuthorizationAnswer";
public static final String _ServerAssignmentAnswer = "net.java.slee.resource.diameter.cxdx.events.ServerAssignmentAnswer";
public static final String _LocationInfoAnswer = "net.java.slee.resource.diameter.cxdx.events.LocationInfoAnswer";
public static final String _MultimediaAuthenticationAnswer = "net.java.slee.resource.diameter.cxdx.events.MultimediaAuthenticationAnswer";
public static final String _RegistrationTerminationAnswer = "net.java.slee.resource.diameter.cxdx.events.RegistrationTerminationAnswer";
public static final String _PushProfileAnswer = "net.java.slee.resource.diameter.cxdx.events.PushProfileAnswer";
public static final String _ExtensionDiameterMessage = "net.java.slee.resource.diameter.base.events.ExtensionDiameterMessage";
public static final String _ErrorAnswer = "net.java.slee.resource.diameter.base.events.ErrorAnswer";
/**
*
* @param sessionId
* @param appSession
*/
public void sessionDestroyed(String sessionId, Object appSession);
/**
*
* @param session
*/
public void sessionCreated(ServerCxDxSession session);
/**
*
* @param session
*/
public void sessionCreated(ClientCxDxSession session);
/**
*
* @param session
*/
public void sessionCreated(Session session);
/**
*
* @param sessionId
* @return
*/
public boolean sessionExists(String sessionId);
/**
* Makes RA fire event with certain name.
*
* @param sessionId
* @param name
* @param request
* @param answer
*/
public void fireEvent(String sessionId, String name, Request request, Answer answer);
/**
*
* @return
*/
public ApplicationId[] getSupportedApplications();
}