I've been using Jitsi to test some proxy functionality, and I think I have an issue if multiple forked legs answer.
My scenario is Jitsi calls into a proxy which forks the call to two destinations. Both destinations send "200 OK" to the INVITE, simulating a simultaneous answer.
The proxy generates a CANCEL to the second leg, but the UA simply sends a "200 OK" to the CANCEL as per RFC 3261 Section 9.2 (The UAS has sent a final response to the INVITE so it cannot send a 487).
The proxy forwards both 200 responses back to Jitsi, as per RFC 3261 Page 110.
Jitsi should send ACKs to both "200 OK" responses, and then send a BYE to the second leg (as it doesn't want two connections). See RFC 3261 Section 18.104.22.168.
I am seeing ACK to only the first 200; the second 200 is simply absorbed.
I can supply Wireshark traces and the SIPp scripts I am using as my UASs if required, but I'd have to modify them to remove customer info.....
I am running 1.0-beta1-nightly.build.3820 on Windows 7
Crocodile RCS Ltd