What is the difference between ACK and PRACK In SIP?

Hello Experts.

What is the difference between ACK and PRACK In SIP?
Reason for having to acknowledgement.


PRACK is provisional response, ACK is final, as per my understanding.

Reason to acknowledge is reception of provisional and initial messages.

SIP defines two types of responses: provisional and final.
The final response conveys the result of the request processing and is reliable. The provisional response conveys the information of the processing process, which is unreliable by RFC3261.
But from the current situation, especially in the process of interacting with the PSTN, it is found that the provisional response should also be reliable.

RFC3262 defines an optional extension method of SIP, PRACK (provisional ack), to support the reliability of provisional responses. Its implementation mechanism is as follows: It
draws on the reliability mechanism of the 2** response of the INVITE request: it confirms the receipt of the 2** response by constructing a new transaction to resend the ACK. -end). For acknowledgments of 1** (other than 100), use PRACK to terminate retransmission of that acknowledgment . PRACK is for the provisional response, different from ACK, it is a normal SIP message like BYE. So its reliability is point-to-point (hop-by-hop) and has responses.

Each provisional response has a sequence number in the RSeq header field. The PRACK message includes the Rack header field, indicating the temporary corresponding sequence number of the response, and has no accumulation effect.

Tech playon . his response completely fine.adding few poins.prack in t1 while session or before yhevsssion.but ack is aftr the session.ack ensure media has been through.ack is with in t2 .both are from originator side