One problem with the original SIP specification was that it provided no method for the recipient of a request to know if it’s provisional responses have reached their destination when using an unreliable transport such as UDP. The ability to make these provisional responses reliable is defined by RFC 3262 “Reliability of Provisional Responses in SIP”. This reliability works by using the same SIP reliability mechanisms as final responses to an INVITE transaction.
SIP Provisional Response
When using reliable provisional responses, these responses are retransmitted by the UAS in response to an INVITE until a PRACK is received from the UAC. If the PRACK is acceptable to the UAS, the UAS would then respond with a 200 OK to the PRACK. In this instance the PRACK serves the same role as an ACK in a normal INVITE transaction. However, unlike the ACK, PRACK has its own response. A call flow of an INVITE transaction using reliable provisional responses can be seen below.