Revision: e0f9cabe4dc5
Author: [email protected] <[email protected]>
Date: Thu Jan 10 09:04:31 2013
Log: More Java Docs
http://code.google.com/p/jss7/source/detail?r=e0f9cabe4dc5
Modified:
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/As.java
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/ExchangeType.java
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/M3UAManagementEventListener.java
=======================================
--- /m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/As.java Wed
Dec 12 08:26:20 2012
+++ /m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/As.java Thu
Jan 10 09:04:31 2013
@@ -28,6 +28,15 @@
import org.mobicents.protocols.ss7.m3ua.parameter.TrafficModeType;
/**
+ * <p>
+ * Application Server (AS) is a logical entity serving a specific Routing
Key.
+ * An example of an Application Server is a virtual switch element
handling all
+ * call processing for a signalling relation, identified by an SS7 DPC/OPC.
+ * Another example is a virtual database element, handling all HLR
transactions
+ * for a particular SS7 SIO/DPC/OPC combination. The AS contains a set of
one or
+ * more unique Application Server Processes, of which one or more is
normally
+ * actively processing traffic
+ * </p>
*
* @author amit bhayani
*
@@ -35,30 +44,102 @@
public interface As {
+ /**
+ * Each As in M3UA stack is uniquely identified by its name
+ *
+ * @return name of this As
+ */
public String getName();
+ /**
+ * Returns true if atleast one {@link Asp} in this As is ACTIVE and
+ * exchanging payload
+ *
+ * @return
+ */
public boolean isConnected();
+ /**
+ * Returns true if state of this As is ACTIVE
+ *
+ * @return
+ */
public boolean isUp();
+ /**
+ * {@link RoutingContext} associated with this As. Configuring routing
+ * context is optional and can return null if not configured. Note that
+ * there is a 1:1 relationship between an AS and a Routing Key
+ *
+ * @return Routing Key
+ */
public RoutingContext getRoutingContext();
+ /**
+ * The {@link Functionality} of this As
+ *
+ * @return
+ */
public Functionality getFunctionality();
+ /**
+ * {@link ExchangeType} for this As
+ *
+ * @return
+ */
public ExchangeType getExchangeType();
+ /**
+ * {@link IPSPType} for this As. This is useful only if
+ * {@link Functionality} for this As is IPSP
+ *
+ * @return
+ */
public IPSPType getIpspType();
+ /**
+ * {@link NetworkAppearance} for this As
+ *
+ * @return
+ */
public NetworkAppearance getNetworkAppearance();
+ /**
+ * {@link TrafficModeType} for this As
+ *
+ * @return
+ */
public TrafficModeType getTrafficModeType();
+ /**
+ * Default {@link TrafficModeType} that this As will assume if
+ * TrafficModeType is not negotiated or not set when defining this As
+ *
+ * @return
+ */
public TrafficModeType getDefaultTrafficModeType();
+ /**
+ * The minimu number of {@link Asp} that should be ACTIVE before this As
+ * becomes ACTIVE. This value is useful only if {@link TrafficModeType}
is
+ * loadshare
+ *
+ * @return
+ */
public int getMinAspActiveForLb();
+ /**
+ * Number of {@link Asp} assigned to this As
+ *
+ * @return
+ */
public List<Asp> getAspList();
-
+
+ /**
+ * Current state of this As
+ *
+ * @return
+ */
public State getState();
}
=======================================
---
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/ExchangeType.java
Mon Oct 22 01:22:49 2012
+++
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/ExchangeType.java
Thu Jan 10 09:04:31 2013
@@ -22,9 +22,27 @@
package org.mobicents.protocols.ss7.m3ua;
/**
+ * <p>
+ * Two modes of handshake is defined
+ * </p>
+ * <ol>
+ * <li>
+ * Single Exchange (SE) model : Only a single exchange of ASP Traffic
+ * Maintenance (ASPTM) Messages and ASP State Maintenance (ASPSM) Messages
is
+ * needed to change the {@link As} states. This means that a set of
requests
+ * from one end and acknowledgements from the other will be enough.</li>
+ * <li>
+ * Double Exchange (DE) model : A double exchange of ASPTM and ASPSM
messages is
+ * normally needed. When using double exchanges for ASPSM messages, the
+ * management of the connection in the two directions is considered
independent.
+ * This means that connections from As-A to As-B is handled independently
of
+ * connections from As-B to As-A. Therefore, it could happen that only one
of
+ * the two directions is activated or closed, while the other remains in
the
+ * same state as it was.</li>
+ * </ol>
*
* @author amit bhayani
- *
+ *
*/
public enum ExchangeType {
SE("SE"), DE("DE");
@@ -47,7 +65,7 @@
return null;
}
}
-
+
public String getType() {
return this.type;
}
=======================================
---
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/M3UAManagementEventListener.java
Wed Dec 12 08:26:20 2012
+++
/m3ua/api/src/main/java/org/mobicents/protocols/ss7/m3ua/M3UAManagementEventListener.java
Thu Jan 10 09:04:31 2013
@@ -22,48 +22,172 @@
package org.mobicents.protocols.ss7.m3ua;
/**
+ * <p>
+ * The listener interface for receiving status update on M3UA resources.
The
+ * class that is interested in processing status update must implements
this
+ * interface and the object created with that class is registered with
+ * {@link M3UAManagement} using <code>addM3UAManagementEventListener</code>
+ * method.
+ * </p>
+ *
* @author amit bhayani
* @author sergey vetyutnev
- *
+ *
*/
public interface M3UAManagementEventListener {
+ /**
+ * Invoked when M3UA stack is started
+ */
public void onServiceStarted();
+ /**
+ * Invoked when M3UA stack is stopped
+ */
public void onServiceStopped();
+ /**
+ * Invoked when all the M3UA resources are successfully removed by
calling
+ * {@link M3UAManagement#removeAllResourses()}
+ */
public void onRemoveAllResources();
-
+ /**
+ * Invoked when new {@link As} is successfully created
+ *
+ * @param as
+ * newly created As
+ */
public void onAsCreated(As as);
+ /**
+ * Invoked when existing {@link As} is successfully destroyed
+ *
+ * @param as
+ * destroyed As
+ */
public void onAsDestroyed(As as);
+ /**
+ * Invoked when new {@link AspFactory} is successfully created
+ *
+ * @param aspFactory
+ * newly created AspFactory
+ */
public void onAspFactoryCreated(AspFactory aspFactory);
+ /**
+ * Invoked when existing {@link AspFactory} is destroyed
+ *
+ * @param aspFactory
+ * destroyed {@link AspFactory}
+ */
public void onAspFactoryDestroyed(AspFactory aspFactory);
+ /**
+ * Invoked when {@link Asp} is successfully assigned to {@link As}
+ *
+ * @param as
+ * As to which Asp is assigned
+ * @param asp
+ * Asp which is assigned to As
+ */
public void onAspAssignedToAs(As as, Asp asp);
+ /**
+ * Invoked when {@link Asp} is successfully unassigned from {@link As}
+ *
+ * @param as
+ * As from which Asp is unassigned
+ * @param asp
+ * Asp which is unassigned from As
+ */
public void onAspUnassignedFromAs(As as, Asp asp);
+ /**
+ * Invoked when {@link AspFactory} is successfully started
+ *
+ * @param aspFactory
+ * AspFactory that's started
+ */
public void onAspFactoryStarted(AspFactory aspFactory);
+ /**
+ * Invoked when {@link AspFactory} is successfully stopped
+ *
+ * @param aspFactory
+ * AspFactory that's stopped
+ */
public void onAspFactoryStopped(AspFactory aspFactory);
-
+ /**
+ * Invoked when {@link Asp} becomes ACTIVE
+ *
+ * @param asp
+ * Asp that changed state to ACTIVE
+ * @param oldState
+ * the old state of Asp from which it changed to ACTIVE
+ */
public void onAspActive(Asp asp, State oldState);
+ /**
+ * Invoked when {@link Asp} becomes INACTIVE
+ *
+ * @param asp
+ * Asp that changed state to INACTIVE
+ * @param oldState
+ * the old state of Asp from which it changed to INACTIVE
+ */
public void onAspInactive(Asp asp, State oldState);
+ /**
+ * Invoked when {@link Asp} becomes DOWN
+ *
+ * @param asp
+ * Asp that changed state to DOWN
+ * @param oldState
+ * the old state of Asp from which it changed to DOWN
+ */
public void onAspDown(Asp asp, State oldState);
+ /**
+ * Invoked when {@link As} becomes ACTIVE
+ *
+ * @param as
+ * As that changed state to ACTIVE
+ * @param oldState
+ * the old state of As from which it changed to ACTIVE
+ */
public void onAsActive(As as, State oldState);
+ /**
+ * Invoked when {@link As} becomes PENDING
+ *
+ * @param as
+ * As that changed state to PENDING
+ * @param oldState
+ * the old state of As from which it changed to PENDING
+ */
public void onAsPending(As as, State oldState);
+ /**
+ * Invoked when {@link As} becomes INACTIVE
+ *
+ * @param as
+ * As that changed state to INACTIVE
+ * @param oldState
+ * the old state of As from which it changed to INACTIVE
+ */
public void onAsInactive(As as, State oldState);
+ /**
+ * Invoked when {@link As} becomes DOWN
+ *
+ * @param as
+ * As that changed state to DOWN
+ * @param oldState
+ * the old state of As from which it changed to DOWN
+ */
public void onAsDown(As as, State oldState);
}