diff --git a/modules/dialog/dlg_handlers.c b/modules/dialog/dlg_handlers.c index 0a61cbafc75..4023e695973 100644 --- a/modules/dialog/dlg_handlers.c +++ b/modules/dialog/dlg_handlers.c @@ -2324,11 +2324,12 @@ void dlg_onroute(struct sip_msg* req, str *route_params, void *param) } else { dlg_lock (d_table, d_entry); + src_leg = other_leg(dlg, dst_leg); if (dlg->legs[dst_leg].last_gen_cseq || - dlg->legs[dst_leg].cseq_maps) { - LM_DBG("dlg_leg_get_cseq(dlg, [%d], req)\n", dst_leg); - update_val = dlg_leg_get_cseq(dlg, dst_leg, req); + dlg->legs[src_leg].cseq_maps) { + LM_DBG("dlg_leg_get_cseq(dlg, [%d], req)\n", src_leg); + update_val = dlg_leg_get_cseq(dlg, src_leg, req); if (update_val == 0) { LM_DBG("dlg->legs[%d].last_gen_cseq=[%d]\n", dst_leg, dlg->legs[dst_leg].last_gen_cseq);