Module: sems
Branch: master
Commit: 7ace3e38de838c518f51520771eabcf25440eb67
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=7ace3e38de838c518f51520771eabcf25440eb67

Author: Stefan Sayer <[email protected]>
Committer: Stefan Sayer <[email protected]>
Date:   Fri Sep 20 11:40:12 2013 +0200

sbc: b/f: on auth, don't relay processed 401/407 reply to other leg

---

 apps/sbc/SBCCallLeg.cpp |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/apps/sbc/SBCCallLeg.cpp b/apps/sbc/SBCCallLeg.cpp
index 36efe40..18772a7 100644
--- a/apps/sbc/SBCCallLeg.cpp
+++ b/apps/sbc/SBCCallLeg.cpp
@@ -548,12 +548,19 @@ void SBCCallLeg::onSipReply(const AmSipRequest& req, 
const AmSipReply& reply,
         DBG("uac_auth consumed reply with cseq %d and resent with cseq %d; "
             "updating relayed_req map\n", reply.cseq, cseq_before);
         updateUACTransCSeq(reply.cseq, cseq_before);
+
+       // don't relay to other leg, process in AmSession
+       AmSession::onSipReply(req, reply, old_dlg_status);
+       // skip presenting reply to ext_cc modules, too
+       return;
       }
     }
   }
 
   for (vector<ExtendedCCInterface*>::iterator i = cc_ext.begin(); i != 
cc_ext.end(); ++i) {
-    if ((*i)->onInDialogReply(this, reply) == StopProcessing) return;
+    if ((*i)->onInDialogReply(this, reply) == StopProcessing) {
+      return;
+    }
   }
 
   CallLeg::onSipReply(req, reply, old_dlg_status);

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

Reply via email to