<div dir="ltr"><div dir="ltr">Dear Opensips developers,<div>I have noticed a bug with CSeq handling. When handling ACK, Opensips uses dlg->legs[x].last_gen_cseq when forwarding it. This causes problems in the valid case that there is another transaction happening between 200 OK and ACK (i.e. INFO/OK). In this case, ACK uses CSeq from INFO, which is incorrect.</div><div>I thought of using inv_cseq but inv_cseq always points to the CSeq from the first invite, so if this happens during reinvite (my case) we cannot use it.</div><div>I have 3 solutions and I wonder which one doesn't cause further issues:</div><div>1. I update inv_cseq with re-invites (and use it later for ACK)</div><div>2. Add a new field (reinv_cseq) to dlg_leg to keep cseq for reinvites and use it later</div><div>3. figure out if I can fix this using cseq_maps (have to look into it)</div><div><br></div><div>Ideas are appreciated!</div></div></div>