SIP 603 Decline is a final response to an INVITE request in the Session Initiation Protocol (SIP) signaling protocol. It indicates that the callee’s user agent has rejected the INVITE request. SIP is a protocol for initiating, maintaining, modifying, and terminating real-time sessions involving video, voice, messaging, and other communications applications and services between two or more endpoints on the Internet. SIP uses a request-response model for communication, in which a client sends a request to a server, and the server sends back a response. SIP supports a variety of request methods, including INVITE, which is used to initiate a session.
A 603 Decline response is sent by the server when the callee’s user agent has rejected the INVITE request. The specific reason for the rejection is not indicated in the response but may be indicated in other headers or the body of the message.
In addition to 603 Decline, SIP defines other final responses that can be sent in response to an INVITE request, including 604 Does Not Exist Anywhere, 606 Not Acceptable, and 607 Unwanted. These responses indicate that the INVITE request could not be completed for various reasons, such as the callee not being found, the callee not accepting the call, or the callee not wanting the call.
Example Of SIP 603 Decline
SIP/2.0 603 Decline Via: SIP/2.0/UDP 22.214.171.124:5060;rport=5060;received=126.96.36.199;branch=z9hG4bKe76c.81ad0f78ee9578c893e39a301aa07636.0 Via: SIP/2.0/UDP 10.55.144.176:5060;rport=5060;received=10.55.144.176;branch=z9hG4bK789dd58e Record-Route: <sip:188.8.131.52;lr;ftag=as35c88e69;nat=yes> Call-ID: email@example.com From: "123390056206474" <sip:firstname.lastname@example.org>;tag=as35c88e69 To: <sip:email@example.com>;tag=6138ec44-cf00-4ad7-a15d-2e2f67f7f71d CSeq: 102 INVITE Server: Asterisk PBX 16.24.1 Reason: Q.850;cause=16 Content-Length: 0
The server sends a 603 Decline response to a previous INVITE request in this SIP message. A 603 Decline response is a final response that indicates that the callee’s user agent has rejected the INVITE request.
The SIP message includes various headers, such as the “Via: “, “Record-Route: “, “Call-ID: “, “From: “, “To: “, “CSeq: “, “Server: “, “Reason: “, and “Content-Length: ” headers. The “Via: ” headers contain information about the route the message took to reach its destination, including the IP addresses and ports of the intermediaries that forwarded the message. The “Record-Route: ” header indicates the path the message will take back to the sender. The “Call-ID: ” header is a globally unique identifier for the call. The “From: ” and “To: ” headers contain the addresses of the sender and recipient, respectively. The “CSeq: ” header is a sequence number incremented for each new request sent by the client. The “Server: ” header contains the name and version of the server software. The “Reason: ” header provides a reason for the response, including a standard Q.850 cause code and descriptive text. The “Content-Length: ” header indicates the length of the message body in bytes.
In this case, the 603 Decline response is being sent because the callee’s user agent has rejected the INVITE request, as indicated by the Q.850 cause code of 16 and the descriptive text “Q.850;cause=16”. The specific reason for the rejection is not indicated in the message.
Determine Cause Of 603 Decline
To determine what caused a 603 Decline response, you can check the “Reason: ” header in the SIP message. The “Reason: ” header provides a reason for the response, including a standard Q.850 cause code and a descriptive text.
Q.850 is a standard that defines cause codes and their meanings for use in ISDN and PSTN signaling protocols, such as SIP. The Q.850 cause codes are used to indicate the reason for a response or a failure in a signaling message.
For example, in the SIP message from earlier:
SIP/2.0 603 Decline Reason: Q.850;cause=16
The Q.850 cause code of “16” indicates that the callee’s user agent has rejected the INVITE request.
To determine the reason for the rejection, you can refer to the Q.850 standard, which defines the meanings of the various cause codes. For cause code 16, the standard defines the following meaning:
This means that the callee’s user agent is currently busy and cannot accept the call.
It is important to note that the Q.850 standard does not define all possible cause codes; some codes may be specific to a particular system or application. The “Reason: ” header may contain additional information beyond the cause code, such as descriptive text or other parameters.