Jason Fischl wrote:
> 
> 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.

Not surprising; it didn't find its way into bis until our big rewrite.

> 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?

It should 200 OK the CANCEL, wait for the 1xx for any INVITEs it send,
and then CANCEL them. 

> If the invite has not yet been received, (messages crossed) should it
> ignore the CANCEL?

A proxy that gets a CANCEL that it doesn't have matching transaction
state for will actually proxy it; see 16.10 of bis-09.

> 
> 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    |                |
>      |--------------->|                |
>      |                |                |

This flow represents correct behavior for the proxy. 

-Jonathan R.


-- 
Jonathan D. Rosenberg, Ph.D.            72 Eagle Rock Avenue
Chief Scientist                         First Floor
dynamicsoft                             East Hanover, NJ 07936
[EMAIL PROTECTED]                 FAX: (973) 952-5050
http://www.jdrosen.net                  PH:  (973) 952-5000
http://www.dynamicsoft.com
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to