[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "route_replica" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Sun Apr 24 17:16:55 CDT 2011
branch "route_replica" has been updated
via 53a31c75334fc80dc0d96b8160f2204000c1799b (commit)
from 882257f26b18efc7d6b5f074fc82e13e8a30745e (commit)
Summary of changes:
.../SessionCommunicationsIf.ice | 1030 ++++++++++----------
1 files changed, 517 insertions(+), 513 deletions(-)
- Log -----------------------------------------------------------------
commit 53a31c75334fc80dc0d96b8160f2204000c1799b
Author: Ken Hunt <ken.hunt at digium.com>
Date: Sun Apr 24 17:16:18 2011 -0500
Added an operationId parameter to session router operations.
diff --git a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
index f81f94c..c95eadf 100644
--- a/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
+++ b/AsteriskSCF/SessionCommunications/SessionCommunicationsIf.ice
@@ -38,13 +38,6 @@ module V1
const string Version = "V1";
/**
- * Context entry key for transactional operations.
- * An item with this key will be placed in the Ice context
- * of certain operaions.
- */
- const string TransactionKey = "TransactionId";
-
- /**
* Forward declaration for the Session interface.
*/
interface Session;
@@ -69,10 +62,10 @@ module V1
*/
class ResponseCode
{
- /**
- * ISDN cause code @see http://tools.ietf.org/html/rfc3398
- */
- int isdnCode;
+ /**
+ * ISDN cause code @see http://tools.ietf.org/html/rfc3398
+ */
+ int isdnCode;
};
/**
@@ -85,37 +78,37 @@ module V1
*/
class SessionInfo
{
- /**
- * A proxy to the endpoint that initiated the current session.
- */
- SessionEndpoint* caller;
-
- /**
- * The duration of the 'connected' time for this session.
- */
- long connectedTime = 0;
-
- /**
- * A textual description of the current state of the session. For
- * example: pending, connected, hanging up.
- */
- string currentState;
-
- /**
- * A proxy to the endpoint handling the destination session.
- */
- SessionEndpoint* destination;
-
- /**
- * A textual description of this Session's role in the
- * current communications.
- */
- string role;
-
- /**
- * When the session was initiated.
- */
- AsteriskSCF::System::Time::V1::TimeMarker startTime;
+ /**
+ * A proxy to the endpoint that initiated the current session.
+ */
+ SessionEndpoint* caller;
+
+ /**
+ * The duration of the 'connected' time for this session.
+ */
+ long connectedTime = 0;
+
+ /**
+ * A textual description of the current state of the session. For
+ * example: pending, connected, hanging up.
+ */
+ string currentState;
+
+ /**
+ * A proxy to the endpoint handling the destination session.
+ */
+ SessionEndpoint* destination;
+
+ /**
+ * A textual description of this Session's role in the
+ * current communications.
+ */
+ string role;
+
+ /**
+ * When the session was initiated.
+ */
+ AsteriskSCF::System::Time::V1::TimeMarker startTime;
};
/**
@@ -131,58 +124,58 @@ module V1
*/
interface SessionListener
{
- /**
- * Notification that a session has reached a known connected state.
- *
- * @param source The session the event occurred on.
- */
- void connected(Session* source);
-
- /**
- * Notification that a "flash" has occurred on a session.
- *
- * @param source The session the event occurred on.
- */
- void flashed(Session* source);
-
- /**
- * Notification that a session has entered a "held" state.
- *
- * @param source The session the event occurred on.
- */
- void held(Session* source);
-
- /**
- * Notification that a session is in a transitional state.
- *
- * @param source The session the event occurred on.
- *
- * @param response An code indentifying the details of the ongoing progress.
- */
- void progressing(Session* source, ResponseCode response);
-
- /**
- * Notification that a ring "event" has occurred.
- *
- * @param source The session the event occurred on.
- */
- void ringing(Session* source);
-
- /**
- * Notification that a session has completed.
- *
- * @param source The session the event occurred on.
- *
- * @param response An code describing the why the session stopped.
- */
- void stopped(Session* source, ResponseCode response);
-
- /**
- * Notification that a session has left the "held" state.
- *
- * @param source The session the event occurred on.
- */
- void unheld(Session* source);
+ /**
+ * Notification that a session has reached a known connected state.
+ *
+ * @param source The session the event occurred on.
+ */
+ void connected(Session* source);
+
+ /**
+ * Notification that a "flash" has occurred on a session.
+ *
+ * @param source The session the event occurred on.
+ */
+ void flashed(Session* source);
+
+ /**
+ * Notification that a session has entered a "held" state.
+ *
+ * @param source The session the event occurred on.
+ */
+ void held(Session* source);
+
+ /**
+ * Notification that a session is in a transitional state.
+ *
+ * @param source The session the event occurred on.
+ *
+ * @param response An code indentifying the details of the ongoing progress.
+ */
+ void progressing(Session* source, ResponseCode response);
+
+ /**
+ * Notification that a ring "event" has occurred.
+ *
+ * @param source The session the event occurred on.
+ */
+ void ringing(Session* source);
+
+ /**
+ * Notification that a session has completed.
+ *
+ * @param source The session the event occurred on.
+ *
+ * @param response An code describing the why the session stopped.
+ */
+ void stopped(Session* source, ResponseCode response);
+
+ /**
+ * Notification that a session has left the "held" state.
+ *
+ * @param source The session the event occurred on.
+ */
+ void unheld(Session* source);
};
/**
@@ -199,133 +192,133 @@ module V1
*/
interface Session
{
- /**
- * Registers an instance of SessionListener with the current
- * session.
- *
- * @param listener an instance of a SessionListener object.
- *
- * @return a SessionInfo object containing the current state of the session.
- * This allows "listeners" to be configured with a some initial state
- * to give context to future notifications.
- *
- * @see SessionListener
- *
- * @see SessionInfo
- */
- SessionInfo addListener(SessionListener* listener);
-
- /**
- * Method which requests that the session send a connect message.
- */
- void connect();
-
- /**
- * Method which requests that the session send a flash message.
- */
- void flash();
-
- /**
- * Method which retrieves a proxy to the endpoint object that created the current session.
- *
- * @return The endpoint object that created the current session.
- *
- * @see SessionEndpoint
- */
- SessionEndpoint* getEndpoint();
-
- /**
- * Method which retrieves information about the current session's state.
- *
- * @return A SessionInfo instance with up to date information.
- *
- * @see SessionInfo
- */
- SessionInfo getInfo();
-
- /**
- * Retrieve a media session instance, if available, for the current session.
- * A media session object may not be available at the time this is called.
- * For example, in SIP before media details are known.
- *
- * @return An AsteriskSCF media session for the current session. May be a
- * nil reference if the media part of the session has not been initialized.
- */
- AsteriskSCF::Media::V1::Session* getMediaSession();
-
- /**
- * Sends a hold notification to the peer.
- */
- void hold();
-
- /**
- * Sends a progress notification to the peer
- *
- * @param response A code detailing the current progress.
- *
- * @see ResponseCode
- */
- void progress(ResponseCode response);
-
- /**
- * Removes a listener from the current list. Once removed, a listener
- * no longer is notified of changes to the session.
- *
- * @param listener A proxy to the listener to the remove.
- */
- void removeListener(SessionListener* listener);
-
- /**
- * Send a ring notification to the peer.
- */
- void ring();
-
- /**
- * Start a session dialogue with a peer.
- */
- void start();
-
- /**
- * End the dialogue with the peer, sending the
- * provided response code if appropriate.
- *
- * @param response Code identifying the reason the dialog stopped.
- */
- void stop(ResponseCode response);
-
- /**
- * Send a request to a connected endpoint to remove a "hold".
- */
- void unhold();
-
- /**
- * Gets the bridge object this Session is associated with.
- *
- * @return A proxy to the bridge the session is presently in.
- *
- * @throws NotBridged if the session is not currently in a bridge.
- */
- Bridge* getBridge() throws NotBridged;
-
- /**
- * Set the Bridge for this session.
- *
- * @param bridge A proxy to the Bridge object this Session should be associated with.
- *
- * @param listener A proxy to the Listener to add to the Session.
- *
- * @return A current copy of the session information.
- */
- SessionInfo setBridge(Bridge* newBridge, SessionListener* listener);
-
- /**
- * Removes this Session from it's associated Bridge.
- *
- * @param listener Removes the specified listener from the Session.
- *
- * @throws NotBridged if the session is not currently in a bridge.
- */
- void removeBridge(SessionListener* listener) throws NotBridged;
+ /**
+ * Registers an instance of SessionListener with the current
+ * session.
+ *
+ * @param listener an instance of a SessionListener object.
+ *
+ * @return a SessionInfo object containing the current state of the session.
+ * This allows "listeners" to be configured with a some initial state
+ * to give context to future notifications.
+ *
+ * @see SessionListener
+ *
+ * @see SessionInfo
+ */
+ SessionInfo addListener(SessionListener* listener);
+
+ /**
+ * Method which requests that the session send a connect message.
+ */
+ void connect();
+
+ /**
+ * Method which requests that the session send a flash message.
+ */
+ void flash();
+
+ /**
+ * Method which retrieves a proxy to the endpoint object that created the current session.
+ *
+ * @return The endpoint object that created the current session.
+ *
+ * @see SessionEndpoint
+ */
+ SessionEndpoint* getEndpoint();
+
+ /**
+ * Method which retrieves information about the current session's state.
+ *
+ * @return A SessionInfo instance with up to date information.
+ *
+ * @see SessionInfo
+ */
+ SessionInfo getInfo();
+
+ /**
+ * Retrieve a media session instance, if available, for the current session.
+ * A media session object may not be available at the time this is called.
+ * For example, in SIP before media details are known.
+ *
+ * @return An AsteriskSCF media session for the current session. May be a
+ * nil reference if the media part of the session has not been initialized.
+ */
+ AsteriskSCF::Media::V1::Session* getMediaSession();
+
+ /**
+ * Sends a hold notification to the peer.
+ */
+ void hold();
+
+ /**
+ * Sends a progress notification to the peer
+ *
+ * @param response A code detailing the current progress.
+ *
+ * @see ResponseCode
+ */
+ void progress(ResponseCode response);
+
+ /**
+ * Removes a listener from the current list. Once removed, a listener
+ * no longer is notified of changes to the session.
+ *
+ * @param listener A proxy to the listener to the remove.
+ */
+ void removeListener(SessionListener* listener);
+
+ /**
+ * Send a ring notification to the peer.
+ */
+ void ring();
+
+ /**
+ * Start a session dialogue with a peer.
+ */
+ void start();
+
+ /**
+ * End the dialogue with the peer, sending the
+ * provided response code if appropriate.
+ *
+ * @param response Code identifying the reason the dialog stopped.
+ */
+ void stop(ResponseCode response);
+
+ /**
+ * Send a request to a connected endpoint to remove a "hold".
+ */
+ void unhold();
+
+ /**
+ * Gets the bridge object this Session is associated with.
+ *
+ * @return A proxy to the bridge the session is presently in.
+ *
+ * @throws NotBridged if the session is not currently in a bridge.
+ */
+ Bridge* getBridge() throws NotBridged;
+
+ /**
+ * Set the Bridge for this session.
+ *
+ * @param bridge A proxy to the Bridge object this Session should be associated with.
+ *
+ * @param listener A proxy to the Listener to add to the Session.
+ *
+ * @return A current copy of the session information.
+ */
+ SessionInfo setBridge(Bridge* newBridge, SessionListener* listener);
+
+ /**
+ * Removes this Session from it's associated Bridge.
+ *
+ * @param listener Removes the specified listener from the Session.
+ *
+ * @throws NotBridged if the session is not currently in a bridge.
+ */
+ void removeBridge(SessionListener* listener) throws NotBridged;
};
/**
@@ -334,8 +327,8 @@ module V1
exception EndpointUnreachableException
{
/**
- * String containing the destination endpoint that is unreachable.
- */
+ * String containing the destination endpoint that is unreachable.
+ */
string destination;
};
@@ -345,8 +338,8 @@ module V1
exception SessionCreationException
{
/**
- * String containing the endpoint that could not create the session.
- */
+ * String containing the endpoint that could not create the session.
+ */
string destination;
};
@@ -356,8 +349,8 @@ module V1
exception SourceTerminatedPreBridgingException
{
/**
- * String containing the endpoint that was terminated.
- */
+ * String containing the endpoint that was terminated.
+ */
string sourceEndpointId;
};
@@ -367,13 +360,13 @@ module V1
exception BridgingException
{
/**
- * String containing the endpoint of the incoming session.
- */
+ * String containing the endpoint of the incoming session.
+ */
string sourceEndpointId;
/**
- * String containing the endpoint of the outgoing session.
- */
+ * String containing the endpoint of the outgoing session.
+ */
string destination;
};
@@ -395,82 +388,87 @@ module V1
*/
interface SessionRouter
{
- /**
- * Attempts to establish an end-to-end communication between an
- * existing session and destination identified by an address or ID.
- *
- * @param source The initiating session.
- *
- * @param destination The identifier for the destination.
- *
- * @throws DestinationNotFoundException if the given destination could not be found.
- *
- * @throws EndpointUnreachableException if the destination endpoint could not be reached.
- *
- * @throws SessionCreationException if the destination endpoint could not create a session.
- *
- * @throws SourceTerminatedPreBridgingException if the source session was terminated early.
- *
- * @throws BridgingException if the bridge could not be setup properly.
- */
- ["amd"]
- void routeSession(Session* source, string destination)
- throws AsteriskSCF::Core::Routing::V1::DestinationNotFoundException,
- EndpointUnreachableException, SessionCreationException,
- SourceTerminatedPreBridgingException, BridgingException ;
-
- /**
- * Replace one session in a Bridge with a new
- * session routable by the destination param.
- *
- * @param sessionToReplace The session that is to be replaced in a
- * bridge. The bridge obejct is obtained from the accessor on this
- * proxy.
- *
- * @param destination The identifier for the destination to be added to
- * the bridge in place of sessionToReplace.
- *
- * @throws DestinationNotFoundException if the given destination could not be found.
- *
- * @throws SessionCreationException if the destination endpoint could not create a session.
- *
- * @throws SourceTerminatedPreBridgingException if the source session was terminated early.
- *
- * @throws BridgingException if the bridge could not be setup properly.
- *
- * @throws NotBridged if the provided session is not currently in a bridge.
- */
- ["amd"]
- void connectBridgedSessionsWithDestination(Session* sessionToReplace, string destination)
- throws AsteriskSCF::Core::Routing::V1::DestinationNotFoundException,
- SessionCreationException,
- SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
-
- /**
- * Replace one session in a Bridge with sessions from another bridge.
- * No routing is actually performed. This operation exists here for consistency,
- * since connectBridgedSessionsWithDestination(...) is implemented by this interface.
- *
- * @param sessionToReplace The session that is to be replaced in a
- * bridge. The bridge obejct associated with this session will survive, and
- * all sessions bridged to this session will be kept in the bridge.
- *
- * @param bridgedSession This session is assumed to be bridged to the sessions
- * that are to be moved to another bridge. The bridgedSession itself will not
- * be connected to the other bridge. The sessions being moved will be removed from
- * their current bridge before being added to the bridge currenltly attached to
- * sessionToReplace.
- *
- *
- * @throws SourceTerminatedPreBridgingException if the source session was terminated early.
- *
- * @throws BridgingException if the bridge could not be setup properly.
- *
- * @throws NotBridged if the session provided in sessionToReplace is not currently in a bridge.
- */
- ["amd"]
- void connectBridgedSessions(Session* sessionToReplace, Session* bridgedSession)
- throws SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
+ /**
+ * Attempts to establish an end-to-end communication between an
+ * existing session and destination identified by an address or ID.
+ *
+ * @param operationId Unique id for this operation.
+ *
+ * @param source The initiating session.
+ *
+ * @param destination The identifier for the destination.
+ *
+ * @throws DestinationNotFoundException if the given destination could not be found.
+ *
+ * @throws EndpointUnreachableException if the destination endpoint could not be reached.
+ *
+ * @throws SessionCreationException if the destination endpoint could not create a session.
+ *
+ * @throws SourceTerminatedPreBridgingException if the source session was terminated early.
+ *
+ * @throws BridgingException if the bridge could not be setup properly.
+ */
+ ["amd"]
+ void routeSession(string operationId, Session* source, string destination)
+ throws AsteriskSCF::Core::Routing::V1::DestinationNotFoundException,
+ EndpointUnreachableException, SessionCreationException,
+ SourceTerminatedPreBridgingException, BridgingException ;
+
+ /**
+ * Replace one session in a Bridge with a new
+ * session routable by the destination param.
+ *
+ * @param operationId Unique id for this operation.
+ *
+ * @param sessionToReplace The session that is to be replaced in a
+ * bridge. The bridge obejct is obtained from the accessor on this
+ * proxy.
+ *
+ * @param destination The identifier for the destination to be added to
+ * the bridge in place of sessionToReplace.
+ *
+ * @throws DestinationNotFoundException if the given destination could not be found.
+ *
+ * @throws SessionCreationException if the destination endpoint could not create a session.
+ *
+ * @throws SourceTerminatedPreBridgingException if the source session was terminated early.
+ *
+ * @throws BridgingException if the bridge could not be setup properly.
+ *
+ * @throws NotBridged if the provided session is not currently in a bridge.
+ */
+ ["amd"]
+ void connectBridgedSessionsWithDestination(string operationId, Session* sessionToReplace, string destination)
+ throws AsteriskSCF::Core::Routing::V1::DestinationNotFoundException,
+ SessionCreationException,
+ SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
+
+ /**
+ * Replace one session in a Bridge with sessions from another bridge.
+ * No routing is actually performed. This operation exists here for consistency,
+ * since connectBridgedSessionsWithDestination(...) is implemented by this interface.
+ *
+ * @param operationId Unique id for this operation.
+ *
+ * @param sessionToReplace The session that is to be replaced in a
+ * bridge. The bridge obejct associated with this session will survive, and
+ * all sessions bridged to this session will be kept in the bridge.
+ *
+ * @param bridgedSession This session is assumed to be bridged to the sessions
+ * that are to be moved to another bridge. The bridgedSession itself will not
+ * be connected to the other bridge. The sessions being moved will be removed from
+ * their current bridge before being added to the bridge currenltly attached to
+ * sessionToReplace.
+ *
+ * @throws SourceTerminatedPreBridgingException if the source session was terminated early.
+ *
+ * @throws BridgingException if the bridge could not be setup properly.
+ *
+ * @throws NotBridged if the session provided in sessionToReplace is not currently in a bridge.
+ */
+ ["amd"]
+ void connectBridgedSessions(string operationId, Session* sessionToReplace, Session* bridgedSession)
+ throws SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
};
/**
@@ -479,27 +477,27 @@ module V1
*/
interface SessionEndpoint extends AsteriskSCF::Core::Endpoint::V1::BaseEndpoint
{
- /**
- * Creates a session for the specified destination, optionally registering
- * a SessionListener object for notification of changes to the session.
- *
- * @param destination A stringified identifier or address for the destination.
- *
- * @param callback A SessionListener object to be registered as a listener on the
- * newly created session. May be a nil reference if an initial listener is not
- * required.
- *
- * @return A newly created session object for the destination.
- *
- */
- Session* createSession(string destination, SessionListener* callback);
-
- /**
- * Returns the active sessions for this session endpoint.
- *
- * @return a sequence of Session proxies.
- */
- idempotent SessionSeq getSessions();
+ /**
+ * Creates a session for the specified destination, optionally registering
+ * a SessionListener object for notification of changes to the session.
+ *
+ * @param destination A stringified identifier or address for the destination.
+ *
+ * @param callback A SessionListener object to be registered as a listener on the
+ * newly created session. May be a nil reference if an initial listener is not
+ * required.
+ *
+ * @return A newly created session object for the destination.
+ *
+ */
+ Session* createSession(string destination, SessionListener* callback);
+
+ /**
+ * Returns the active sessions for this session endpoint.
+ *
+ * @return a sequence of Session proxies.
+ */
+ idempotent SessionSeq getSessions();
};
/**
@@ -515,7 +513,7 @@ module V1
*/
exception InvalidSessions
{
- Ice::LongSeq indexes;
+ Ice::LongSeq indexes;
};
/**
@@ -530,84 +528,84 @@ module V1
interface Bridge
{
/**
- * Add a sequence of session proxies to the bridge. Sessions are started
- * if necessary.
- *
- * @param session A sequence of session proxies.
- *
- * @throws InvalidSessions if any of the provided sessions are invalid.
- *
- * @see Session
- * @see InvalidSessions
- */
+ * Add a sequence of session proxies to the bridge. Sessions are started
+ * if necessary.
+ *
+ * @param session A sequence of session proxies.
+ *
+ * @throws InvalidSessions if any of the provided sessions are invalid.
+ *
+ * @see Session
+ * @see InvalidSessions
+ */
void addSessions(SessionSeq session)
- throws InvalidSessions;
+ throws InvalidSessions;
/**
- * Abruptly destroy the bridge. Sessions will not be stopped.
- */
+ * Abruptly destroy the bridge. Sessions will not be stopped.
+ */
void destroy();
/**
- * List the sessions currently on the bridge.
- *
- * @return a sequence of session proxies participating in the bridge.
- */
+ * List the sessions currently on the bridge.
+ *
+ * @return a sequence of session proxies participating in the bridge.
+ */
idempotent SessionSeq listSessions();
/**
- * Removes one or more sessions from the bridge. Sessions are not stopped
- * as they are removed.
- *
- * @param sessions A sequence of session proxies.
- *
- * @throws InvalidSessions if any of the provided sessions are invalid.
- *
- * @see Session
- * @see InvalidSessions
- */
+ * Removes one or more sessions from the bridge. Sessions are not stopped
+ * as they are removed.
+ *
+ * @param sessions A sequence of session proxies.
+ *
+ * @throws InvalidSessions if any of the provided sessions are invalid.
+ *
+ * @see Session
+ * @see InvalidSessions
+ */
void removeSessions(SessionSeq sessions)
- throws InvalidSessions;
+ throws InvalidSessions;
/**
- * Nicely shutdown the bridge. Participating sessions are disconnected.
- */
+ * Nicely shutdown the bridge. Participating sessions are disconnected.
+ */
void shutdown();
/**
- * Adds a listener object to the bridge. The listener will receive notification
- * of future changes to the bridge as they occur.
- *
- * @param listener A reference to a BridgeListener object.
- *
- * @see BridgeListener
- */
+ * Adds a listener object to the bridge. The listener will receive notification
+ * of future changes to the bridge as they occur.
+ *
+ * @param listener A reference to a BridgeListener object.
+ *
+ * @see BridgeListener
+ */
void addListener(BridgeListener* listener);
/**
- * Removes a listener object from the bridge. The listen will cease receiving
- * notifications of changes to the bridge.
- *
- * @param listener A reference to the listener object to be removed.
- *
- * @see BridgeListener
- */
+ * Removes a listener object from the bridge. The listen will cease receiving
+ * notifications of changes to the bridge.
+ *
+ * @param listener A reference to the listener object to be removed.
+ *
+ * @see BridgeListener
+ */
void removeListener(BridgeListener* listener);
/**
- * Replaces a session that is on the bridge with another session. Useful for transfers, etc.
- * where a participant is replaced as part of the code flow.
- *
- * @param sessionToReplace The session being replaced. The bridge associated with this
- * session is used for the newSessions.
- *
- * @param newSessions The sessions to add to the bridge. The sessions are assumed to not
- * be already participating in another bridge.
- *
- * @throws InvalidSessions if any of the provided sessions are invalid.
- */
+ * Replaces a session that is on the bridge with another session. Useful for transfers, etc.
+ * where a participant is replaced as part of the code flow.
+ *
+ * @param sessionToReplace The session being replaced. The bridge associated with this
+ * session is used for the newSessions.
+ *
+ * @param newSessions The sessions to add to the bridge. The sessions are assumed to not
+ * be already participating in another bridge.
+ *
+ * @throws InvalidSessions if any of the provided sessions are invalid.
+ */
void replaceSession(Session* sessionToReplace, SessionSeq newSessions)
- throws InvalidSessions;
+ throws InvalidSessions;
};
/**
@@ -620,36 +618,36 @@ module V1
interface BridgeListener
{
/**
- * Called when sessions have been added to a bridge.
- *
- * @param sessionBridge The bridge object the sessions were added to.
- *
- * @param sessions A sequence of session proxies that were added to the bridge.
- */
+ * Called when sessions have been added to a bridge.
+ *
+ * @param sessionBridge The bridge object the sessions were added to.
+ *
+ * @param sessions A sequence of session proxies that were added to the bridge.
+ */
void sessionsAdded(Bridge* sessionBridge, SessionSeq sessions);
/**
- * Called when sessions have been removed from a bridge.
- *
- * @param sessionBridge The bridge object the sessions were removed from.
- *
- * @param sessions A sequence of session proxies that were removed from
- * the bridge.
- */
+ * Called when sessions have been removed from a bridge.
+ *
+ * @param sessionBridge The bridge object the sessions were removed from.
+ *
+ * @param sessions A sequence of session proxies that were removed from
+ * the bridge.
+ */
void sessionsRemoved(Bridge* sessionBridge, SessionSeq sessions);
/**
- * Called when a bridge has completed shutdown/destruction.
- *
- * @param sessionBridge The bridge that was stopped.
- */
+ * Called when a bridge has completed shutdown/destruction.
+ *
+ * @param sessionBridge The bridge that was stopped.
+ */
void stopped(Bridge* sessionBridge);
/**
- * Called when a bridge has started shutdown/destruction operations.
- *
- * @param sessionBrdige The bridge that is stopping.
- */
+ * Called when a bridge has started shutdown/destruction operations.
+ *
+ * @param sessionBrdige The bridge that is stopping.
+ */
void stopping(Bridge* sessionBridge);
};
@@ -669,65 +667,65 @@ module V1
interface BridgeManager
{
/**
- * Method called to add a listener to the bridge manager.
- *
- * @param listener A proxy to the bridge manager listener to add.
- */
- void addListener(BridgeManagerListener* listener);
-
- /**
- * Method called to create a bridge.
- *
- * @param sessions A sequence of session proxies to be placed into the newly created bridge.
- *
- * @param listener A proxy to a bridge listener to be added to the newly created ridge.
- *
- * @return Bridge* Returns a proxy to the newly created bridge.
- */
- Bridge* createBridge(SessionSeq sessions, BridgeListener* listener);
-
- /**
- * Method called to remove a listener from the bridge manager.
- *
- * @param listener A proxy to the bridge manager listener to remove.
- */
- void removeListener(BridgeManagerListener* listener);
+ * Method called to add a listener to the bridge manager.
+ *
+ * @param listener A proxy to the bridge manager listener to add.
+ */
+ void addListener(BridgeManagerListener* listener);
+
+ /**
+ * Method called to create a bridge.
+ *
+ * @param sessions A sequence of session proxies to be placed into the newly created bridge.
+ *
+ * @param listener A proxy to a bridge listener to be added to the newly created ridge.
+ *
+ * @return Bridge* Returns a proxy to the newly created bridge.
+ */
+ Bridge* createBridge(SessionSeq sessions, BridgeListener* listener);
+
+ /**
+ * Method called to remove a listener from the bridge manager.
+ *
+ * @param listener A proxy to the bridge manager listener to remove.
+ */
+ void removeListener(BridgeManagerListener* listener);
/**
* Method called to add a listener to the list of bridge listeners that
* will automatically be added to every bridge that is created.
- *
- * @param listener A proxy to the bridge listener to add.
+ *
+ * @param listener A proxy to the bridge listener to add.
*
* @throws NullProxyException if the listener proxy is a null proxy.
*
- */
+ */
void addDefaultBridgeListener(BridgeListener* listener)
throws AsteriskSCF::System::V1::NullProxyException;
/**
* Method called to remove a listener to the list of bridge listeners that
* will automatically be added to every bridge that is created.
- *
- * @param listener A proxy to the bridge listener to remove.
+ *
+ * @param listener A proxy to the bridge listener to remove.
*
* @throws NullProxyException if the listener proxy is a null proxy.
*
- */
+ */
void removeDefaultBridgeListener(BridgeListener* listener)
throws AsteriskSCF::System::V1::NullProxyException;
- /**
- * Method called to get a list of bridges currently active in the bridge manager.
- *
- * @return BridgeSeq a sequence of proxies to the bridges that are active.
- */
- idempotent BridgeSeq listBridges();
-
- /**
- * Method called to shut down the bridge manager.
- */
- void shutdown();
+ /**
+ * Method called to get a list of bridges currently active in the bridge manager.
+ *
+ * @return BridgeSeq a sequence of proxies to the bridges that are active.
+ */
+ idempotent BridgeSeq listBridges();
+
+ /**
+ * Method called to shut down the bridge manager.
+ */
+ void shutdown();
};
/**
@@ -736,88 +734,94 @@ module V1
interface BridgeManagerListener
{
/**
- * Notice that a bridge was created.
- *
- * @param manager A proxy to the bridge manager that created the bridge.
- *
- * @param newBridge A proxy to the newly created bridge.
- */
- void bridgeCreated(BridgeManager* manager, Bridge* newBridge);
-
- /**
- * Notice that a bridge manager has stopped.
- *
- * @param manager The bridge manager that has stopped.
- */
- void stopped(BridgeManager* manager);
-
- /**
- * Notice that a bridge manager is stopping.
- *
- * @param manager The bridge manager that is stopping.
- */
- void stopping(BridgeManager* manager);
+ * Notice that a bridge was created.
+ *
+ * @param manager A proxy to the bridge manager that created the bridge.
+ *
+ * @param newBridge A proxy to the newly created bridge.
+ */
+ void bridgeCreated(BridgeManager* manager, Bridge* newBridge);
+
+ /**
+ * Notice that a bridge manager has stopped.
+ *
+ * @param manager The bridge manager that has stopped.
+ */
+ void stopped(BridgeManager* manager);
+
+ /**
+ * Notice that a bridge manager is stopping.
+ *
+ * @param manager The bridge manager that is stopping.
+ */
+ void stopping(BridgeManager* manager);
};
module Event
{
/**
- * String name of the IceStorm topic used for session router related events.
- */
+ * String name of the IceStorm topic used for session router related events.
+ */
const string TopicId = "::asteriskscf::session::sessionrouter::event";
/**
- * An enum for whether the result of an operation was successful or not
- */
+ * An enum for whether the result of an operation was successful or not
+ */
enum OperationResult
{
- SUCCESS,
- FAILURE
+ SUCCESS,
+ FAILURE
};
/**
- * Interface for monitoring session router events.
- */
+ * Interface for monitoring session router events.
+ */
interface SessionRouterEvents
{
- /**
- * Notice that routeSession operation was called.
- *
- * @param source The initiating session.
- *
- * @param destination The identifier for the destination.
- *
- * @param result Operation outcome.
- */
- void routeSessionEvent(Session* source, string destination, OperationResult result);
-
- /**
- * Notice that connectBridgedSessionsWithDestinationEvent operation was called.
- *
- * @param sessionToReplace The session that is to be replaced in the
- * bridge. The bridge obejct is obtained from the accessor on this
- * proxy.
- *
- * @param destination The identifier for the destination.
- *
- * @param result Operation outcome.
- */
- void connectBridgedSessionsWithDestinationEvent(Session* sessionToReplace, string destination, OperationResult result);
-
- /**
- * Notice that connectBridgedSessionsEvent operation was called.
- *
- * @param sessionToReplace The session that is to be replaced in the
- * bridge. The bridge obejct is obtained from the accessor on this
- * proxy.
- *
- * @param bridgedSession This session is assumed to be bridged to the sessions
- * that are to be moved to another bridge. The bridgedSession itself will not
- * be connected to the other bridge.
- *
- * @param result Operation outcome.
- */
- void connectBridgedSessionsEvent(Session* sessionToReplace, Session* bridgedSession, OperationResult result);
+ /**
+ * Notice that routeSession operation was called.
+ *
+ * @param operationId Unique id for this operation.
+ *
+ * @param source The initiating session.
+ *
+ * @param destination The identifier for the destination.
+ *
+ * @param result Operation outcome.
+ */
+ void routeSessionEvent(string operationId, Session* source, string destination, OperationResult result);
+
+ /**
+ * Notice that connectBridgedSessionsWithDestinationEvent operation was called.
+ *
+ * @param operationId Unique id for this operation.
+ *
+ * @param sessionToReplace The session that is to be replaced in the
+ * bridge. The bridge obejct is obtained from the accessor on this
+ * proxy.
+ *
+ * @param destination The identifier for the destination.
+ *
+ * @param result Operation outcome.
+ */
+ void connectBridgedSessionsWithDestinationEvent(string operationId, Session* sessionToReplace, string destination, OperationResult result);
+
+ /**
+ * Notice that connectBridgedSessionsEvent operation was called.
+ *
+ * @param operationId Unique id for this operation.
+ *
+ * @param sessionToReplace The session that is to be replaced in the
+ * bridge. The bridge obejct is obtained from the accessor on this
+ * proxy.
+ *
+ * @param bridgedSession This session is assumed to be bridged to the sessions
+ * that are to be moved to another bridge. The bridgedSession itself will not
+ * be connected to the other bridge.
+ *
+ * @param result Operation outcome.
+ */
+ void connectBridgedSessionsEvent(string operationId, Session* sessionToReplace, Session* bridgedSession, OperationResult result);
};
}; /* End of module Event */
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list