There are two types of responses defined by SIP. They are provisional and final.  Final responses (2xx-6xx) convey the result of the request processing and are sent reliably. SIP Provisional responses do not have an acknowledgement system so they are not reliable. There are certain scenarios in which the provisional SIP responses (1xx) must be delivered reliably.  For example in a SIP/ PSTN inter-working scenario it is crucial that the 180 and 183 messages are not missed. To solve this problem the SIP PRACK (Provisional Response Acknowledgement) method described in RFC 3262 guarantees a reliable and ordered delivery of provisional responses in SIP. PRACK Improves network reliability by adding an acknowledgement system to the provisional Responses (1xx).



SIP PRACK is configured in the SIP SGP object as displayed below.



PRACK Support

There is drop down menu with the following selections. PRACK is disabled by Default.

Disable (default) - Disable sending Provisional ACk message.

Supported - Provides the ability to handle PRACK transactions during call setup if the SIP peer requires it.

Required - Requires the SIP peer and the 2020 IMG to use PRACK transactions during call setup.


PRACK Timer (sec)

The PRACK Timer is used to request an extension of the transaction at proxies in case the INVITE transaction takes some time to generate a final response (RFC 3262 page 3). When the PRACK Refresh Timer expires the 2020 IMG will send out a 1xx reliable response.

60 (seconds) - Wait 60 seconds before sending the 1xx message.

150 (seconds) (default) - Wait 150 seconds before sending the 1xx message.


Diagram - SIP PRACK Handshake




UAC (User Agent Client) - UAS (User Agent Server) behavior

The following table displays the overall behavior of UAS and UAC with various SGP configuration combinations.

UAC UAS Call Processing
SGP: PRACK Disabled SGP: PRACK Disabled Normal Call
SGP: PRACK Disabled SGP: PRACK Supported Normal Call
SGP: PRACK Disabled SGP: PRACK Required Call Rejected
SGP: PRACK Supported SGP: PRACK Disabled Normal Call
SGP: PRACK Supported SGP: PRACK Supported PRACK Call
SGP: PRACK Supported SGP: PRACK Required PRACK Call
SGP: PRACK Required SGP: PRACK Disabled Call Rejected
SGP: PRACK Required SGP: PRACK Supported PRACK Call
SGP: PRACK Required SGP: PRACK Required PRACK Call



Call Tracing


16:32:35.762 CALL(SIP) (00:0004:00) SENT 183 Session Progress Reliable (100rel) to UDP

16:32:35.782 CALL(SIP) (00:0004:00) RCVD PRACK from Cseq:2 with Via sent-by: UDP

16:32:35.782 CALL(SIP) (00:0004:00) SENT 200 OK PRACK to UDP



21:16:47.845 CALL(SIP) (01:00004:00) SENT 421 Extension Required [PRACK support is required] to Cseq:1

21:18:09.286 CALL(SIP) (01:00005:00) SENT 420 Bad Extension [Unsupported SIP request arrived at L3UA-TUC] to Cseq:1


SDP Support in PRACK - Overview of SDP support in SIP PRACK

The 2020 IMG supports embedding the SDP (Session Description Protocol) information within the PRACK message.


PRACK sip:222@ SIP/2.0

Via: SIP/2.0/UDP;branch=z9hG4bK3b1bce


Max-Forwards: 70

From: sip:111@;tag=48346074

To: sip:222@;tag=a94c095b773be1dd6e8d668a785a9c84904eaa2e

Call-ID: 11408@


RAck: 1 1 INVITE

Content-Type: application/sdp

Content-Length: 174



o=_ 2890844527 2890844527 IN IP4


c=IN IP4

t=0 0

m=audio 9000 RTP/AVP 0 101

a=rtpmap:0 PCMU/8000

a=rtpmap:101 telephone-event/8000


Above is a sample PRACK message that contains the SDP information in it. The 2020 IMG supports incoming PRACK with SDP support and all currently implemented rules of SDP decoding/overlap failure still apply. This means the following:


Call Flows

Refer to the SIP PRACK Call flows topic for call flow information



If you are experiencing problems with this feature, check the following: