SIP 603 Decline: what it means and how to fix it
Short answer: SIP 603 Decline means the destination device was reached, but the user or the system explicitly refused the call, and no other endpoint should be tried. The most common causes are the person rejecting the call or call blocking. Check whether the refusal came from the destination, the PBX or the carrier.
| Code | 603 |
|---|---|
| Official name | Decline |
| Class | 6xx: global failure |
| Defined in | RFC 3261 |
| Q.850 causes that usually come with it | 21 (Call rejected) |
How Monitor treats SIP 603
The reading depends on what should answer the number, which is the question 2N5 answers when it adds each circuit. These are the rules the product applies today, generated from the same function that judges every test call.
| What should answer the number | Reading |
|---|---|
| A greeting or recorded message (the IVR) | Down |
| A test tone or echo service | Down |
| Other: it may ring or be answered | Up |
For "Other": With "Count busy as reachable" unticked: Down.
What Monitor records for an IVR: The phone at the other end declined the call, but this circuit is supposed to answer every call by itself (SIP 603).
A call read as Down alerts nobody on its own: it is repeated 3 times, every 2 minutes, and only 4 failures in a row open an incident, with each call's SIP code and Q.850 cause as evidence for the carrier. At the default pace, every circuit is tested every 15 minutes.
If the carrier returns SIP 603 when 2N5's calling account registers, before any call, the test is monitoring blind: it is a problem on 2N5's side, it does not count against the circuit and it does not alert the customer.
What does SIP 603 mean in practice?
SIP 603 Decline is a 6xx global failure. Under RFC 3261, the destination device was contacted successfully, but the user does not wish to or cannot take part in the call. The response may carry Retry-After with a better time to call, and should only be sent when the destination knows no other endpoint will answer. A proxy that receives a 603 cancels its pending attempts.
What separates it from a busy signal is intent: with a 603, someone or some rule decided to refuse. Where SIP meets the phone network, RFC 3398 converts a 603 into Q.850 cause 21 (Call rejected). A SIP 603 error that shows up on every call to a number is usually a blocking rule, not a person declining. There are more specific codes for unwanted calls, such as 607 Unwanted and 608 Rejected, but a lot of equipment still uses 603.
Common causes in Brazil
- A person who declined the call on a mobile, an IP phone or a softphone.
- A block list or time-of-day rule on the destination PBX (Asterisk, Issabel, FreePBX, 3CX, Intelbras) configured to refuse.
- A destination that refuses calls with no caller ID (anonymous) or from an unrecognized calling number.
- A spam-call blocking app or service on the destination side flagging the calling number.
- An IVR or contact-center platform set to refuse after hours instead of playing a message.
How to troubleshoot
- Capture the call with
sngrepand see who generated the 603 from the Via, Server and User-Agent headers, and whether there was ringing (180 or 183) before the refusal. - In Asterisk, Issabel or FreePBX, turn on
pjsip set logger on(orsip set debug onin chan_sip) and look forReason: Q.850;cause=21and any Retry-After. - Check the calling number (A) and the privacy header in the INVITE. An anonymous caller or an odd number format is a common reason for refusal.
- Call the same number from another trunk and from a mobile phone. If only one calling number is refused, suspect that number is blocked.
- In 3CX, turn on verbose logging and check the Activity Log for whether the refusal came from the trunk or from an internal rule.
- If the 603 comes from your own PBX, review block lists, time-of-day rules and inbound routes.
What to send your carrier
- The exact date and time with the time zone, for example 2026-10-07 14:32:10 -03:00.
- The calling number (A), the called number (B) and the Call-ID.
- The full
SIP/2.0 603 Declineline and the Reason header, if present. - Whether other calling numbers can complete calls to the same destination.
- How many attempts were refused and over what time window.
- The pcap file of the capture, if you have one.
Frequently asked questions
What is the difference between SIP 603 and SIP 486?
486 Busy Here says the destination is busy and cannot answer right now at that endpoint. 603 Decline says the destination actively refused the call, and that no other endpoint will answer. Depending on the network and the phone, pressing 'decline' on a mobile can arrive as a 603 or as a 486.
Which Q.850 cause goes with a SIP 603?
Under RFC 3398, a gateway converts a SIP 603 into Q.850 cause 21 (Call rejected). In the other direction, cause 21 normally becomes 403 Forbidden, and a 603 may be used when the refusal came from the user. A `Reason: Q.850;cause=21` header confirms a rejection.
Does a real test call catch this code?
Yes. A real test call receives the final SIP response the network returns, including a 603. When the result counts as a failure, the call is retried before any alert goes out, and the alert is sent by email and SMS.