I have a question about the proxy behavior under the following scenario,
could someone please provide a clarification.

1. UAC sends an INVITE via proxy.
2. Proxy responds back with 100 trying message to UAC and forwards INVITE to
UAS.
3. UAS sends 200 OK which is relayed by the proxy to UAC.
4. UAC sends an ACK which is being processed by the proxy to be forwarded to
the UAS.
** Here ACK has sequence number 1
5. UAC sends another INVITE and incidentally this gets forwarded to the UAS
before the ACK from previous INVITE by the proxy.
** Here INVITE has sequence number 2
6. Since UAS did not receive the ACK for previous INVITE (nor did it
received CANCEL/BYE), but received another INVITE with same Call-ID etc. it
throws a "500 Internal Server Error" error.

According to RFC 3261, the UAS behavior to throw a "500 Internal Server
Error" is correct.

I understand that INVITE and re-INVITE are completely two different
transactions for proxy. So this is kind of a race condition. What are the
possibilities to workaround this problem?

Thanks,

Rajesh.

_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to