Call waiting problem of asterisk 1.6.1.x

I use asterisk 1.4 before upgrading to Call waiting is OK, and music on hold works noraml.
when I upgraded it to 1.6.0.x, it is also no problem. but after I upgraded to 1.6.1.x or 1.6.2.x, I can’t use my phone to make call waiting to answer the 2nd call, and can’t switch 2 calls, either.

I capture the new flow, and found that when I answer the 2nd call and do switch call to one to another, asterisk could not answer the right 200 with SDP. it responses recvonly in two 200 SDP.

maybe it is because the invite Cseq, I guess. but I don’t know why the old version asterisk would be compatible, but the new version has the problem?

maybe I did not interpret clearly.
A calls B. B answers.
C calls B. B presses key to answer, and holds A simultaneous. So asterisk would do music on hold to A.
Then B switch the 2 calls, so A and C would answer or be held alternately.

B sends invite with sendonly to A,which Cseq is 1 invite. At the same time, B answers C with 200.
it’s OK. A could hear music sent by asterisk, and B could talk to C.
then B switch to talk to A and hold C. B sends another invite with sendonly to C wich Cesq is 1 invite with different from/to tag and call-id.
asterisk answers both 200 with recvonly to B for 2 calls. so B could not make normal call waiting and switch.

I think it should be OK for sending 2 diffrent dialog with same Cseq, because it is 2 calls.

On the old version 1.2, 1.4, even 1.6.0, asterisk would do

I don’t know how submit bug to asterisk, or I post my capture flow to asterisk to let them help me confirm.

You post bug reports using

You attach the bug report to the issue you create, without ticking the code or documentation box.

See, in particular item 6, which is about the debugging output needed for SIP problems.