diff --git a/src/modules/rr/record.c b/src/modules/rr/record.c index 4361bf45d2b..a8c451429b4 100644 --- a/src/modules/rr/record.c +++ b/src/modules/rr/record.c @@ -544,6 +544,11 @@ int record_route_preset(struct sip_msg* _m, str* _data) from = get_from(_m); } + if (rr_param_buf.len && rr_param_msg!=_m->id) { + /* rr_params were set for a different message -> reset buffer */ + rr_param_buf.len = 0; + } + l = anchor_lump(_m, _m->headers->name.s - _m->buf, 0, HDR_RECORDROUTE_T); if (!l) { LM_ERR("failed to create lump anchor\n"); @@ -807,6 +812,11 @@ int record_route_advertised_address(struct sip_msg* _m, str* _data) tag = 0; } + if (rr_param_buf.len && rr_param_msg!=_m->id) { + /* rr_params were set for a different message -> reset buffer */ + rr_param_buf.len = 0; + } + if(rr_ignore_sips==0) { sips = rr_is_sips(_m); }