"JC" <jc.hu...@tom.com> writes: > There is one SIP call scenario that one SIP UA sends one reliable 183 to one > SIP device, and the UA receives the PRACK, then, it sends 200OK of PRACK and > one new reliable 180 immediately. All the messages are sent over UDP, due to > the network issue, the SIP device receives the 2nd reliable 180 ahead of > PRACK's 200OK. Now, I find the SIP device can't handle the case, and I have > to prove that current case should be handled by it well. > > I looked through RFC3262 and not find it clarify the case clearly. So, is > there any other RFC or SPEC which describe it?
Section 4 of RFC 3262 is clear: The UAC receives the "2nd reliable 180" and processes it normally. There is no rule that permits the UAC to wait to receive the 200 for the PRACK before it will process the 180. The reason for this is that the UAS is not permitted to have sent the 180 before receiving the PRACK for the 183. Section 3 RFC 3262: After the first reliable provisional response for a request has been acknowledged, the UAS MAY send additional reliable provisional responses. The UAS MUST NOT send a second reliable provisional response until the first is acknowledged. So when the UAC receives the 180, it knows that the UAS has received the PRACK for the 183. (Of course, the UAS is required to resend the PRACK if it doesn't receive the 200 for the PRACK, but that does not affect offer/answer processing.) Dale _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors