Skip to main content

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.

warning

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.

AttributeData TypeDescription
reasonstringThe 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 ReasonResponse CodeDescription
redirect302 Moved TemporarilyThe destination has been temporarily moved to another location.
forbidden/rejected403 ForbiddenThe destination understood the request, but is refusing to fulfill it.
not-found404 Not FoundThe destination could not be found.
busy-here486 Busy HereThe destination is busy at the current location.
bad-gateway502 Bad GatewayNetwork is out of order and the call cannot be accepted.
unavailable503 Service UnavailableTemporary failure.
busy600 Busy EverywhereAll possible destinations are busy.
decline603 DeclineThe destination does not wish to participate in the call or cannot do so.
does-not-exist604 Does Not Exist AnywhereThe server has authoritative information that the requested destination does not exist anywhere.
unwanted607 UnwantedThe 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-rejected608 RejectedThe 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.