Module: kamailio
Branch: master
Commit: adc09a99e6f340ba9bc6ab1e2265203d4f93278f
URL: 
https://github.com/kamailio/kamailio/commit/adc09a99e6f340ba9bc6ab1e2265203d4f93278f

Author: Stefan Mititelu <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2026-07-13T16:17:01+02:00

rr: Fix record_route_* called from branch route

Skip setting flag FL_RR_ADDED when called from branch route.
Similar to how record_route() works.

---

Modified: src/modules/rr/rr_mod.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/adc09a99e6f340ba9bc6ab1e2265203d4f93278f.diff
Patch: 
https://github.com/kamailio/kamailio/commit/adc09a99e6f340ba9bc6ab1e2265203d4f93278f.patch

---

diff --git a/src/modules/rr/rr_mod.c b/src/modules/rr/rr_mod.c
index d459c453aa8..70a75aef714 100644
--- a/src/modules/rr/rr_mod.c
+++ b/src/modules/rr/rr_mod.c
@@ -361,7 +361,8 @@ static int ki_record_route_preset(sip_msg_t *msg, str 
*addr1, str *addr2)
 done:
        reset_rr_param();
 
-       msg->msg_flags |= FL_RR_ADDED;
+       if(get_route_type() != BRANCH_ROUTE)
+               msg->msg_flags |= FL_RR_ADDED;
        return 1;
 }
 
@@ -379,7 +380,8 @@ static int ki_record_route_preset_one(sip_msg_t *msg, str 
*addr1)
                return -1;
        }
 
-       msg->msg_flags |= FL_RR_ADDED;
+       if(get_route_type() != BRANCH_ROUTE)
+               msg->msg_flags |= FL_RR_ADDED;
        return 1;
 }
 
@@ -436,7 +438,8 @@ static int w_record_route_preset(struct sip_msg *msg, char 
*key, char *key2)
                return -1;
 
 done:
-       msg->msg_flags |= FL_RR_ADDED;
+       if(get_route_type() != BRANCH_ROUTE)
+               msg->msg_flags |= FL_RR_ADDED;
        return 1;
 }
 
@@ -461,7 +464,8 @@ static int w_record_route_advertised_address(
        if(record_route_advertised_address(msg, &s) < 0)
                return -1;
 
-       msg->msg_flags |= FL_RR_ADDED;
+       if(get_route_type() != BRANCH_ROUTE)
+               msg->msg_flags |= FL_RR_ADDED;
        return 1;
 }
 
@@ -478,7 +482,8 @@ static int ki_record_route_advertised_address(sip_msg_t 
*msg, str *addr)
        if(record_route_advertised_address(msg, addr) < 0)
                return -1;
 
-       msg->msg_flags |= FL_RR_ADDED;
+       if(get_route_type() != BRANCH_ROUTE)
+               msg->msg_flags |= FL_RR_ADDED;
        return 1;
 }
 

_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to