nicky wrote:
>
> I have two transaction questions:
>
> 1. Consider the following scenario:
>
> Caller--------------------------------------------------Callee
>
> INVITE---------------------------------------------------->
> <-------------------------------------------------------100 Trying
> +--------------------------200 OK
> |
> CANCEL-----------------------|--------------------------->
> |
> <----------------------------|--------------------------481(To CANCEL)
> |
> <----------------------------+
> ACK(to 200)---------------------------------------------->
>
> Here, the 200 response is delayed until the CANCEL's 481 response is
> received.
As Hisham pointed out, it will be 200 OK to CANCEL, although the
response code really makes little difference.
> Firstly, is this call flow correct? Secondly, What should the
> callee do on receipt of the ACK? Should it drop or accept the ACK? Why?
It should definitely NOT drop the ACK.
There is a SIP mantra that I have been repeating over and over and over
on the lists. Please keep it in mind:
All transactions complete independently.
All transactions complete independently.
All transactions complete independently.
The INVITE and CANCEL are separate transactions. Both must complete. The
CANCEL only "prods" the UAS into answering the INVITE transaction if it
hasn't already. Since all transactions complete independently of each
other, the INVITE one has to complete, and so the ACK is processed
normally. Although, to be more concise, the INVITE transaction at the
UAS actually ends with the transmission of the 200 OK to INVITE; the ACK
for 2xx is a separate transaction. Irregardless, the ACK is processed.
>
> 2. I don't know why the "Proceeding" state on the figure of INVITE
> client transaction doesn't contain a timer. If the client's network is
> disconnected in this state, it seems the client will remain in
> "Proceeding" forever.
The timer is application specific. How long does one wait for the phone
to ring? Proxies have a minimum value for this timer, however. Its
called Timer C, 64*T1 at a minimum.
-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