What is the correct behavior for a proxy in the following situation? 

According to bis09, User A should not send the CANCEL (F6) until
it has first received a 100 response from the Proxy. However, 
there are user agents out there that violate this.  
My question is how should the stateful proxy behave? 

Should it send out a CANCEL to any targets that have already had
the INVITE sent to them and send a 200 (for Cancel) back to the caller?
If the invite has not yet been received, (messages crossed) should it
ignore the CANCEL? 

Here is a possible call flow. F3 should not be sent until F5 has been 
received. However, we have seen several examples where this is not the case. 

   User A          Proxy 1          User B
     |                |                |
     |   INVITE F1    |                |
     |--------------->|   INVITE F2    |
     |    CANCEL F3   |--------------->|
     |--------------->|     180 F4     |
     |    (100) F5    |<---------------|
     |<---------------|                |
     |     200 F6     |                |
     |<---------------|   CANCEL F7    |
     |                |--------------->|
     |                |     200 F8     |
     |                |<---------------|
     |                |     487 F9     |
     |                |<---------------|
     |                |     ACK F10    |
     |     487 F11    |--------------->|
     |<---------------|                |
     |     ACK F12    |                |
     |--------------->|                |
     |                |                |

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

Reply via email to