Module: sems
Branch: kubartv/error_recovery
Commit: 50b330749e2f5a42de24c79d928e0bab3b901d42
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=50b330749e2f5a42de24c79d928e0bab3b901d42

Author: Václav Kubart <[email protected]>
Committer: Václav Kubart <[email protected]>
Date:   Thu Mar 13 13:44:39 2014 +0100

core: new callback when UAC/UAS transaction is finished

---

 core/AmBasicSipDialog.cpp |    3 +++
 core/AmBasicSipDialog.h   |    4 ++++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/core/AmBasicSipDialog.cpp b/core/AmBasicSipDialog.cpp
index f2a8e47..61e45ce 100644
--- a/core/AmBasicSipDialog.cpp
+++ b/core/AmBasicSipDialog.cpp
@@ -457,6 +457,7 @@ void AmBasicSipDialog::onRxReply(const AmSipReply& reply)
       (reply.code >= 300))) {
        
     uac_trans.erase(t_it);
+    if (hdl) hdl->onTransFinished();
   }
 }
 
@@ -538,6 +539,7 @@ void AmBasicSipDialog::onReplyTxed(const AmSipRequest& req,
       (reply.cseq_method != SIP_METH_CANCEL)) {
     
     uas_trans.erase(reply.cseq);
+    if (hdl) hdl->onTransFinished();
   }
 }
 
@@ -551,6 +553,7 @@ void AmBasicSipDialog::onRequestTxed(const AmSipRequest& 
req)
   }
   else {
     uac_trans.erase(req.cseq);
+    if (hdl) hdl->onTransFinished();
   }
 }
 
diff --git a/core/AmBasicSipDialog.h b/core/AmBasicSipDialog.h
index 29ef0b6..72e06cb 100644
--- a/core/AmBasicSipDialog.h
+++ b/core/AmBasicSipDialog.h
@@ -456,6 +456,10 @@ class AmBasicSipEventHandler
    */
   virtual void onFailure() {}
 
+  // called upon finishing either UAC or UAS transaction
+  virtual void onTransFinished() { }
+
+
   virtual ~AmBasicSipEventHandler() {}
 };
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to