Reason

An example of the header is shown below:

Reason: SIP ;cause=200 ;text="Call completed elsewhere"

The header properties are shown in the following table:

Header Level Action

Add

Delete

Modify

List Entries

Operations Supported

Yes

Yes

Yes

N/A

Keyword

Sub Types

Attributes

MLPP

MLPP Structure (see MLPP)

Read/Write

Reason

Reason Structure (see Reason Structure)

Read/Write

Below are header manipulation examples:

Example 1

Rule:

Add a Reason header:

MessageManipulations 0 = 1, any, ,header.reason, 0, 'SIP;cause=200;text="Call completed elsewhere"', 0;

Result:

Reason: SIP ;cause=200 ;text="Call completed elsewhere"

Example 2

Rule:

Modify the reason cause number:

MessageManipulations 0 = 1, any, ,header.reason.reason.cause, 0, '200', 0;

Result:

Reason: Q.850 ;cause=180 ;text="Call completed elsewhere"

Example 3

Rule:

Modify the cause number:

MessageManipulations 0 = 1, any, ,header.reason.reason.reason, 0, '483', 0;

Result:

Reason: SIP ;cause=483 ;text="483 Too Many Hops"

The protocol (SIP or Q.850) is controlled by setting the cause number to be greater than 0. If the cause is 0, then the text string (see Example 3) is generated from the reason number.