[sr-dev] [SR-Users] [regression] Message flags set in branch_route not saved into transaction

Alex Hermann alex at speakup.nl
Mon Aug 22 16:43:43 CEST 2011


On Monday 22 August 2011, Alex Hermann wrote:
> It seems kamailio 3 does not save message flags set in branch route into
> the transaction. In reply_route and failure_route the flag set in
> branch_route is unset. In 1.4 this used to work. I would like to get that
> behaviour back, is this possible?


This patch seems to restore old functionality. Would this be ok to commit?


diff --git a/modules/tm/t_fwd.c b/modules/tm/t_fwd.c
index 30558ab..756e4b4 100644
--- a/modules/tm/t_fwd.c
+++ b/modules/tm/t_fwd.c
@@ -1510,6 +1510,8 @@ int t_forward_nonack( struct cell *t, struct sip_msg* 
p_msg ,
 	clear_branches();
 
 	setbflagsval(0, backup_bflags);
+	/* update flags, if changed in branch route */
+	t->uas.request->flags = p_msg->flags;
 
 	/* don't forget to clear all branches processed so far */
 


> Testscenario:
> 
> route {
> 	setflag(0);
> 
> 	t_on_branch("1");
> 	t_on_reply("1");
> 	t_on_failure("1");
> 
> 	xlog("L_NOTICE", "[$rm] Request before relay: $mF");
> 	t_relay();
> }
> 
> branch_route[1] {
> 	xlog("L_NOTICE", "[$rm] Branch begin: $mF");
> 	setflag(8);
> 	xlog("L_NOTICE", "[$rm] Branch end: $mF");
> }
> 
> onreply_route[1] {
> 	xlog("L_NOTICE", "[$rm] Reply ($rs) begin: $mF");
> 	setflag(4);
> 	xlog("L_NOTICE", "[$rm] Reply end: $mF");
> }
> 
> failure_route[1] {
> 	xlog("L_NOTICE", "[$rm] Failure ($T_reply_code): $mF");
> }
> 
> Log output on 3.x:
> [INVITE] Request begin: 00000000
> [INVITE] Request before relay: 00000001
> [INVITE] Branch begin: 00000001
> [INVITE] Branch end: 00000101
> [INVITE] Reply (100) begin: 00000001
> [INVITE] Reply end: 00000011
> [INVITE] Failure (408): 00000011
> 
> Log output on 1.4:
> [INVITE] Request begin: 00000000
> [INVITE] Request before relay: 00000001
> [INVITE] Branch begin: 00000001
> [INVITE] Branch end: 00000101
> [INVITE] Reply (100) begin: 00000101
> [INVITE] Reply end: 00000111
> [INVITE] Failure (408) begin: 00000111


-- 
Greetings,

Alex Hermann




More information about the sr-dev mailing list