[asterisk-scf-commits] asterisk-scf/integration/routing.git branch "master" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Sun Oct 17 18:51:31 CDT 2010


branch "master" has been updated
       via  f11625f623f1f1b2cbdf817f59a2ae14fc01a333 (commit)
      from  3e3d5c98ed885b9fc5b17847ca96dcd11fabd148 (commit)

Summary of changes:
 src/SessionRouter.cpp |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)


- Log -----------------------------------------------------------------
commit f11625f623f1f1b2cbdf817f59a2ae14fc01a333
Author: Ken Hunt <ken.hunt at digium.com>
Date:   Sun Oct 17 18:50:34 2010 -0500

    Bug fix due to not unregistering as listener prior to bridging for blind
    transfer.

diff --git a/src/SessionRouter.cpp b/src/SessionRouter.cpp
index c33cdec..16601ef 100644
--- a/src/SessionRouter.cpp
+++ b/src/SessionRouter.cpp
@@ -338,8 +338,7 @@ void SessionRouter::routeSession(const AsteriskSCF::SessionCommunications::V1::S
     {
         throw SourceTerminatedPreBridgingException(source->getEndpoint()->getId());
     }
-
-    // We're through listening. And we will probably interfere with the Bridge's functionality if
+    // We're through listening, and we will probably interfere with the Bridge's functionality if
     // we keep listening. 
     listener->unregister();
 
@@ -447,6 +446,9 @@ void SessionRouter::connectBridgedSessionsWithDestination(const SessionPrx& sess
         lg(Notice) << "Source ended session before transfer in connectBridgedSessionsWithDestination(). " ;
         throw SourceTerminatedPreBridgingException(remainingSessions[0]->getEndpoint()->getId());
     }
+    // We're through listeninga, and we will probably interfere with the Bridge's functionality if
+    // we keep listening. 
+    listener->unregister();
 
     // Modify the bridge
     try
@@ -455,10 +457,7 @@ void SessionRouter::connectBridgedSessionsWithDestination(const SessionPrx& sess
     }
     catch (const Ice::Exception &e)
     {
-        listener->unregister();
-
         lg(Error) << "Exception replacing the session in connectBridgedSessionsWithDestination. " << e.what() ;
-
         throw BridgingException(remainingSessions[0]->getEndpoint()->getId(), destination);
     }
 
@@ -537,8 +536,7 @@ void SessionRouter::connectBridgedSessions(const SessionPrx& sessionToReplace,
         lg(Notice) << "Source ended session before transfer in connectBridgedSessions(). " ;
         throw SourceTerminatedPreBridgingException(preserveSessions[0]->getEndpoint()->getId());
     }
-
-    // We're through listening. And we will probably interfere with the Bridge's functionality if
+    // We're through listening, and we will probably interfere with the Bridge's functionality if
     // we keep listening. 
     listener->unregister();
 

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/routing.git



More information about the asterisk-scf-commits mailing list