Răsfoiți Sursa

dispatcher: use rewrite/reset uri for event route with faked msg

Daniel-Constantin Mierla 2 luni în urmă
părinte
comite
a878e7f2ec
1 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 4 2
      src/modules/dispatcher/dispatch.c

+ 4 - 2
src/modules/dispatcher/dispatch.c

@@ -3513,8 +3513,7 @@ static void ds_run_route(sip_msg_t *msg, str *uri, char *route, ds_rctx_t *rctx)
 			return;
 		}
 		fmsg = faked_msg_next();
-		fmsg->parsed_orig_ruri_ok = 0;
-		fmsg->new_uri = *uri;
+		rewrite_uri(fmsg, uri);
 	} else {
 		fmsg = msg;
 	}
@@ -3540,6 +3539,9 @@ static void ds_run_route(sip_msg_t *msg, str *uri, char *route, ds_rctx_t *rctx)
 		set_route_type(backup_rt);
 		_ds_rctx = NULL;
 	}
+	if(fmsg != msg) {
+		reset_uri(fmsg);
+	}
 }