Discussion:
[Sip-implementors] Can UAS send 200 OK final response before recieving PRACK for provisonal response(wihout SDP body) ?
Jatin Kohli
2014-08-21 09:48:53 UTC
Permalink
Hi all ,

I have been executing the following scenario :

UAC UAS

INVITE
----------------------------------------->
180(100rel and without SDP)
<------------------------------------------
200 OK
<--------------------------------------------


As per the RFC 3262 section 3 UAS Behavior :


" The UAS MAY send a final response to the initial request before
having received PRACKs for all unacknowledged reliable provisional
responses, unless the final response is 2xx and any of the
unacknowledged reliable provisional responses contained a session
description."

Does this implies that UAS can send 200 OK final response to initial INVITE before receiving the PRACK for the unacknowledged provisional response without SDP?

If the above scenario is possible than when should UAS free the RPR transaction as the RFC 3262 states that UAS should be able to process the PRACK for the unacknowledged provisional response even after sending the final response.


Thanks and regards
Jatin Kohli


"DISCLAIMER: This message is proprietary to Aricent and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. Aricent accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus."
abhishek verma
2014-08-22 15:05:27 UTC
Permalink
RFC is very clear about this scenario, please read completely

The UAS MAY send a final response to the initial request before
having received PRACKs for all unacknowledged reliable provisional
responses, unless the final response is 2xx and any of the
unacknowledged reliable provisional responses contained a session
description. In that case, it MUST NOT send a final response until
those provisional responses are acknowledged. If the UAS does send a
final response when reliable responses are still unacknowledged, it
SHOULD NOT continue to retransmit the unacknowledged reliable
provisional responses, but it MUST be prepared to process PRACK
requests for those outstanding responses.



That simply means if PRACK has not been received, then UAS can send
final response only when

1. Final response is not 2xx

AND

2. Any Un-Acknowledged Reliable Provisional Response didn't contain a SDP.


If above 2 conditions are met, in that case UAS

a. Stop re-transmitting 1xx ( which are not acknowledged)

b. Must wait for PRACK as associated with Non-INVITE-Transaction-Timer.


--------------------------------------------------------------



Thanks

Abhishek

Loading...