[asterisk-scf-commits] asterisk-scf/integration/sip.git branch "x_safe_constructors" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Mon Aug 6 14:30:18 CDT 2012


branch "x_safe_constructors" has been updated
       via  3dd0ab1b6ac94f6e8cc41a70e568ab9fbcad17ff (commit)
      from  a872d4a38992c64a4ebecf880c202a761aabe474 (commit)

Summary of changes:
 src/SIPSession.cpp |   17 +++++++++++++++++
 src/SIPSession.h   |    2 +-
 2 files changed, 18 insertions(+), 1 deletions(-)


- Log -----------------------------------------------------------------
commit 3dd0ab1b6ac94f6e8cc41a70e568ab9fbcad17ff
Author: Brent Eagles <beagles at digium.com>
Date:   Fri Aug 3 17:10:27 2012 -0230

    Testing a fix to a possible clean up issue for SIP sessions where
    dialogs were not properly cleaned up for successful sessions.

diff --git a/src/SIPSession.cpp b/src/SIPSession.cpp
index 1b326f9..a84a1c5 100755
--- a/src/SIPSession.cpp
+++ b/src/SIPSession.cpp
@@ -3371,6 +3371,23 @@ public:
         }
         mSessionPriv->mEndpoint->removeSession(mSession);
 
+        if (mSessionPriv->mInviteSession)
+        {
+            pjsip_tx_data* tdata;
+            pj_status_t result = pjsip_inv_end_session(mSessionPriv->mInviteSession, 200, 0, &tdata);
+            //
+            // We don't care about this data... we should've already sent everything. Really tdata should be 0 here.
+            //
+            if (result == PJ_SUCCESS && tdata)
+            {
+                result = pjsip_inv_send_msg(mSessionPriv->mInviteSession, tdata);
+                if (result != PJ_SUCCESS)
+                {
+                    lg(Debug) << "We were trying to do the right thing here...";
+                }
+            }
+        }
+
         //
         // We moved the clean up of this object to here to avoid conflicts between pjsip originating operations
         // and the pending operations in the session object. The only other way to do it would've been to have
diff --git a/src/SIPSession.h b/src/SIPSession.h
index 00ea2bd..dfc23c8 100644
--- a/src/SIPSession.h
+++ b/src/SIPSession.h
@@ -322,7 +322,7 @@ public:
     void getSinks_async(
             const AsteriskSCF::SessionCommunications::V1::AMD_TelephonySession_getSinksPtr&,
             const Ice::Current&);
-
+    
     /**
      * Only called from within a queued operation
      */

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


-- 
asterisk-scf/integration/sip.git



More information about the asterisk-scf-commits mailing list