Reject

The <Reject > verb rejects an incoming call to your CallAPI endpoint and can be used for blocking unwanted calls. If the first verb in a RCML response is , CallAPI will not pick up the call. The call ends with ‘busy', 'no-answer' or other status, depending on the verb’s 'reason' attribute. Any verbs after are ignored and will not be executed.

Reject Attributes

Name

Allowed Values

Default Value

reason

<See table below>

rejected

Reason

The reason attribute takes the values from a table below.

Reason

Internal SIP Error and reason phrase Status

Purpose

rejected

603 DECLINE

Will play a standard not-in-service response

busy

486 BUSY

Will play a busy signal to the caller

forbidden

403 Forbidden

Untrusted IP origin/source

anonymity_disallowed

433 Anonymity Disallowed

Calling party is anonymous and destination does not accept those calls

address_incomplete

484 Address Incomplete

Wrong destination. regex scenario for number not valid (decision made by the external app still in inbound logic)

no_route

404 No Route

No route to the destination (provider without routing agreement for some countries) if the App makes the decision there is no route to destination dialed (outbound logic)

service_unavailable

503 Service Unavailable

Redirect traffic to other PoP due to many factors (external App behaving bad, low quality, cloud issues faced, etc)

unwanted

607 Unwanted

Calling party in a blacklist

Nesting

The <Reject> verb can not have any other verbs or nouns nested.

Example

Example of how to use the <Reject> verb:

<Response> 
    <Reject reason="busy"/> 
</Response>

Last updated