From aaaa6ae382d6c586668afd27bb28052b82b50388 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Mon, 9 May 2011 12:02:44 +0200 Subject: [PATCH] b/f: pass only 200-ACK request to the UA layer. --- core/sip/trans_layer.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/core/sip/trans_layer.cpp b/core/sip/trans_layer.cpp index 279be781..bd584bce 100644 --- a/core/sip/trans_layer.cpp +++ b/core/sip/trans_layer.cpp @@ -1125,13 +1125,18 @@ void _trans_layer::received_msg(sip_msg* msg) // should we forward the ACK to SEMS-App upstream? Yes bucket->unlock(); - // let's pass the request to - // the UA. - assert(ua); - DBG("Passing ACK to the UA.\n"); - ua->handle_sip_request(trans_ticket(), // dummy - msg); - + if(err == TS_REMOVED) { + // let's pass the request to + // the UA, iff it was a 200-ACK + assert(ua); + DBG("Passing ACK to the UA.\n"); + ua->handle_sip_request(trans_ticket(), // dummy + msg); + } + else { + DBG("Absorbing non-200-ACK\n"); + } + DROP_MSG; } }