Hello,
According to RFC if Timer C fires at proxy, it should generate CANCEL
(provided 1xx was received). Now if the CANCEL gets 200 OK but the original
INVITE does not receive any final response, what should the proxy do? Won't
the INVITE client transaction continue to hang forever? Won't this beat the
purpose of Timer C, which is there...
"In order to handle the case where an INVITE request *never* generates a
final response,..."
INV INV
UAC ------------> P1 --------------> UAS
100 100
<------------ <--------------
[Timer C Fires]
CANCEL
--------------->
200(CANCEL)
<---------------
[No final for INVITE yet.]
Thanks,
Sachin
16.8 Processing Timer C
" If timer C should fire, the proxy MUST either reset the timer with
any value it chooses, or terminate the client transaction. If the
client transaction has received a provisional response, the proxy
MUST generate a CANCEL request matching that transaction. If the
client transaction has not received a provisional response, the proxy
MUST behave as if the transaction received a 408 (Request Timeout)
response."
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors