[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