Reject
Definition
The Reject
verb is used to reject an incoming call. It is a terminal verb, meaning that it does not return any response to the calling party. The call will be rejected immediately, ensuring that the incoming call is unanswered. For example, if a call is received during non-business hours or from a blocked number, you can use the Reject
verb to terminate the call without further processing. To achieve this, place Reject
as the first verb in the Response
.
Any verb listed after Reject
gets ignored.
Supported Attributes
These attributes can be used to modify the Reject
verb. They are inserted as name-value pairs in the start-tag.
Attribute | Data Type | Description |
---|---|---|
reason | string | The reason for rejecting a call. This internal data is sent to the carrier, which determines the handling behavior. Values accepted in this field are: redirect , forbidden / rejected , not-found , busy-here , bad-gateway , unavailable , busy , decline , does-not-exist , unwanted , and intermediary-rejected . Refer to the table below for the explanation of each reason for rejecting a call. The default value is rejected . |
Example
In this example, the call will be immediately rejected and the reject message to the carrier will be busy
.
<Response>
<Reject reason="busy"></Reject>
</Response>
Reject Reasons
Reject Reason | Response Code | Description |
---|---|---|
redirect | 302 Moved Temporarily | The destination has been temporarily moved to another location. |
forbidden/rejected | 403 Forbidden | The destination understood the request, but is refusing to fulfill it. |
not-found | 404 Not Found | The destination could not be found. |
busy-here | 486 Busy Here | The destination is busy at the current location. |
bad-gateway | 502 Bad Gateway | Network is out of order and the call cannot be accepted. |
unavailable | 503 Service Unavailable | Temporary failure. |
busy | 600 Busy Everywhere | All possible destinations are busy. |
decline | 603 Decline | The destination does not wish to participate in the call or cannot do so. |
does-not-exist | 604 Does Not Exist Anywhere | The server has authoritative information that the requested destination does not exist anywhere. |
unwanted | 607 Unwanted | The destination does not want to accept the call from the current calling party. All future attempts from the same source are likely to be similarly rejected. |
intermediary-rejected | 608 Rejected | The intermediary machine or process rejected the call attempt from the calling party. This status code usually informs the calling party that the decision has been made by an analytics engine or some other similar engine. It also allows the call terminator to additionally specify the reason for rejecting the call. |
intermediary-rejected Reject Reason
In this example, the call will be rejected and the reject message to the carrier will be intermediary-rejected
. My reason for rejecting the call
will be returned as the additional message to the calling party as a part of the Call-Info
SIP header.
<Response>
<Reject reason="intermediary-rejected">My reason for rejecting the call</Reject>
</Response>
Sample Call-Info
SIP header returned from the above Reject
verb with the intermediary-rejected
reject reason:
Call-Info: "My reason for rejecting the call"
With the intermediary-rejected
reject reason, you can additionally return the message to the calling party that will not only state the reject code, but will also explain the reason of the reject. To do this, insert the message text between the start and end Reject
tags.
FlexML will return the message text as a part of the Call-Info
SIP header.
Nesting Rules
- You cannot nest other verbs or nouns within the
Reject
verb. - You cannot nest the
Reject
verb within other FlexML verbs.