SIP Response Code

SIP 491 Request Pending

6 min read  ·  Updated April 2026

SIP 491 Request Pending is the response when a re-INVITE arrives during another pending re-INVITE on the same dialog. It is glare — both sides tried to renegotiate at the same time. RFC 3261 defines the resolution, but timing bugs and SBC interference can cause the loop to repeat.

In this guide

1. What SIP 491 means

SIP 491 Request Pending is defined in RFC 3261 section 14.1. It is sent in response to a re-INVITE when there is already another re-INVITE pending in the same dialog and the receiver has not yet sent its final response to the first one.

491 only applies to re-INVITEs (also called mid-dialog INVITEs) — INVITEs sent inside an established call to renegotiate the session. Initial INVITEs that establish a dialog do not get 491; they get other responses depending on what the dialog is doing.

Common reasons for re-INVITE include hold/unhold, codec change, media bypass triggers, transfer attempts, and SDP refresh. Any of these on both sides simultaneously can produce 491.

2. Glare and the re-INVITE collision

Glare is the SIP term for two re-INVITEs crossing in flight. Both endpoints decide to renegotiate at almost the same moment. Each sends a re-INVITE without knowing the other has done the same. The result: each side receives an unexpected re-INVITE while expecting a response to its own.

Without a defined resolution, both sides would either reject the other's re-INVITE or attempt to apply both, leading to inconsistent media state. RFC 3261 defines 491 plus a retry timer to resolve the collision deterministically.

; Glare scenario A -> re-INVITE -> B B -> re-INVITE -> A A <- re-INVITE arrives - already has one pending A -> 491 Request Pending B <- re-INVITE arrives - already has one pending B -> 491 Request Pending

3. How RFC 3261 resolves glare

The endpoint that receives 491 must wait a randomized time interval before retrying its re-INVITE. The interval depends on which side of the dialog the endpoint is on:

The asymmetric ranges mean the UAS retries first and almost always wins the second round, after which the UAC's re-INVITE arrives at a clear dialog state and succeeds. The randomization prevents lockstep retry collisions if both sides have similar timer behavior.

If 491 keeps repeating, one of the endpoints is not honoring the retry timer correctly, or an intermediary is interfering with the timing.

4. Common causes of repeated 491

Cause 01
Endpoint not honoring the 491 retry timer
A buggy SIP stack treats 491 like a hard failure and either retries immediately or fails the call. Neither behavior is correct. Check vendor firmware notes — older Polycom, Cisco SPA, and some softphone implementations have known 491 retry bugs.
Cause 02
Both endpoints are UAS or both are UAC
Some PBX-to-PBX trunks lose track of which side originated the dialog after a transfer or refer. If both endpoints think they are UAS, both pick the 0-2 second range and collide again. If both think they are UAC, both pick 2.1-4 second range and collide again. The asymmetric resolution depends on each side knowing its role.
Cause 03
SBC injecting its own re-INVITEs
Many SBCs send re-INVITEs for media anchoring, codec transcoding decisions, or topology changes. If the SBC times its re-INVITE poorly, it can collide with one from an endpoint and trigger 491 cycles. Check SBC logs for re-INVITE issuance around the time of the 491 events.
Cause 04
Hold loop with both sides holding
A simultaneous hold from both parties produces two re-INVITEs both setting a=sendonly. Buggy implementations may retry hold/unhold sequences after 491 in a way that re-collides every time. Look for repeating hold/unhold patterns in the dialog.
Cause 05
CSeq number mismanagement
If an endpoint reuses or skips CSeq numbers in retransmitted re-INVITEs, the receiver may interpret the retry as a new collision rather than a continuation, producing fresh 491 responses. CSeq must increment monotonically across all in-dialog requests from the same side.

5. SBCs and the glare retry timer

SBCs sit in the middle of dialogs as B2BUAs (back-to-back user agents). That means they have their own re-INVITE state on each leg, independent of the endpoints. A 491 on the inside leg and a 491 on the outside leg are separate events, and the SBC must handle each according to RFC 3261 timing.

Two common SBC misbehaviors lead to repeating 491:

If 491 loops appear only with traffic through a specific SBC, audit the SBC's re-INVITE handling and consider disabling features (codec switching, media anchoring) that issue extra re-INVITEs during call setup.

6. Diagnosing 491 from a SIP trace

491 in a healthy SIP environment should be rare and self-resolving. When investigating 491, check:

Frequently asked questions

What does SIP 491 Request Pending mean?

SIP 491 Request Pending means a re-INVITE arrived while another re-INVITE was already pending on the same dialog. This is called glare — both sides of a call tried to renegotiate the session at the same time. RFC 3261 defines a randomized retry timer to resolve the collision automatically. A single 491 followed by a successful retry is normal.

Is SIP 491 a problem?

A single 491 followed by a successful retry is not a problem — it is the protocol working as designed to resolve glare. Repeated 491 responses without resolution indicate a real issue, usually a SIP stack that does not honor the retry timer correctly, both endpoints picking the same retry range, or an SBC that issues conflicting re-INVITEs.

How long should an endpoint wait after receiving SIP 491?

RFC 3261 requires UACs (the side that originally sent the initial INVITE) to wait a random time between 2.1 and 4.0 seconds before retrying. UASs (the side that originally received the initial INVITE) wait between 0 and 2.0 seconds. The asymmetric ranges ensure the UAS retries first, clearing the dialog state for the UAC's retry to succeed.

Seeing repeating SIP 491 loops?

Paste your SIP trace into SIPSymposium. The analyzer identifies re-INVITE glare, retry timer violations, and SBC-induced collision patterns that produce 491 loops.

Analyze my trace Create free account
Related guides