[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "transfer" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Tue Oct 12 19:20:41 CDT 2010
branch "transfer" has been updated
via 3781214e13737b2538101bde1d2d651fa3c4b4d9 (commit)
from 7e63131ea251461c0f4a4d751841601b107452bd (commit)
Summary of changes:
SessionCommunications/SessionCommunicationsIf.ice | 67 +++++++++++----------
1 files changed, 35 insertions(+), 32 deletions(-)
- Log -----------------------------------------------------------------
commit 3781214e13737b2538101bde1d2d651fa3c4b4d9
Author: Ken Hunt <ken.hunt at digium.com>
Date: Tue Oct 12 18:59:01 2010 -0500
Refactored based on telecon on attended transfer.
diff --git a/SessionCommunications/SessionCommunicationsIf.ice b/SessionCommunications/SessionCommunicationsIf.ice
index 5747107..9bff584 100644
--- a/SessionCommunications/SessionCommunicationsIf.ice
+++ b/SessionCommunications/SessionCommunicationsIf.ice
@@ -352,35 +352,36 @@ module V1
SourceTerminatedPreBridgingException, BridgingException ;
/**
- * Attempts to replace one session in a Bridge with a new
- * destination identified by the destination param. Routing is performed
- * on the specified destination.
+ * 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 the
+ * @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.
+ * @param destination The identifier for the destination to be added to
+ * the bridge in place of sessionToReplace.
*/
- void replaceSessionWithDestination(Session* sessionToReplace, string destination)
+ void connectBridgedSessionsWithDestination(Session* sessionToReplace, string destination)
throws AsteriskSCF::Core::Routing::V1::DestinationNotFoundException,
- EndpointUnreachableException, SessionCreationException,
- SourceTerminatedPreBridgingException, BridgingException ;
+ SessionCreationException,
+ SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
/**
- * Attempts to replace one session in a Bridge with an existing session.
- * No routing is actually performed. (This operation exists here for consistency,
- * since replaceSessionWithDestination(...) is implemented by this interface.
- *
- * @param sessionToReplace The session that is to be replaced in the
- * bridge. The bridge obejct is obtained from the accessor on this
- * proxy.
- * @param newSession The session to be added to the brige. If this
- * session is already part of another bridge, it will be removed from
- * it's current bridge before being added.
- */
- void replaceSessionWithSession(Session* sessionToReplace, Session* newSession)
- throws EndpointUnreachableException, SessionCreationException,
- SourceTerminatedPreBridgingException, BridgingException ;
+ * 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.
+ */
+ void connectBridgedSessions(Session* sessionToReplace, Session* bridgedSession)
+ throws SourceTerminatedPreBridgingException, BridgingException, NotBridged ;
};
/**
@@ -509,10 +510,12 @@ module V1
* 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 newSession The session replacing the session indicated by oldSession
- * @param oldSession The session being replaced.
+ * @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.
*/
- void replaceSession(Session* newSession, Session* oldSession);
+ void replaceSession(Session* sessionToReplace, SessionSeq newSessions);
};
/**
@@ -607,7 +610,7 @@ module V1
void routeSessionEvent(Session* source, string destination, OperationResult result);
/**
- * Notice that replaceSessionWithDestination operation was called.
+ * 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
@@ -615,20 +618,20 @@ module V1
* @param destination The identifier for the destination.
* @param result Operation outcome.
*/
- void replaceSessionWithDestinationEvent(Session* sessionToReplace, string destination, OperationResult result);
+ void connectBridgedSessionsWithDestinationEvent(Session* sessionToReplace, string destination, OperationResult result);
/**
- * Notice that replaceSessionWithSession operation was called.
+ * 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 newSession The session to be added to the brige. If this
- * session is already part of another bridge, it will be removed from
- * it's current bridge before being added.
+ * @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 replaceSessionWithSessionEvent(Session* sessionToReplace, Session* newSession, OperationResult result);
+ void connectBridgedSessionsEvent(Session* sessionToReplace, Session* bridgedSession, OperationResult result);
};
}; // End of module Event
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list