Diversion

An example of the header is shown below:

Diversion: <sip:654@IPG2Host;user=phone>;reason=user-busy;screen=no;privacy=off;counter=1

The header properties are shown in the following table:

Header Level Action

Add

Delete

Modify

List Entries

Operations Supported

Yes

Yes

Yes

3

Keyword

Sub Types

Attributes

Name

String

Read/Write

Param

Param

Read/Write

Privacy

Enum Privacy (see Privacy)

Read/Write

Reason

Enum Reason (see Reason (Diversion))

Read/Write

Screen

Enum Screen (see Screen)

Read/Write

URL

URL Structure (see URL)

Read/Write

Below are header manipulation examples:

Example 1

Rule:

Add a Diversion header to all INVITE messages:

MessageManipulations 0 = 1, invite, , header.Diversion, 0, '<tel:+101>;reason=unknown; counter=1;screen=no; privacy=off', 0;

Result:

Diversion: <tel:+101>;reason=user-busy;screen=no;privacy=off;counter=1

Example 2

Rule:

Modify the Reason parameter in the header to 1, see Reason (Diversion) for possible values:

MessageManipulations 1 = 1, invite, , header.Diversion.reason, 2, '1', 0;

Result:

Diversion: <tel:+101>;reason=user-busy;screen=no;privacy=off;counter=1

Example 3

Rule:

The URL in the Diversion header is modified to that which is contained in the header URL:

MessageManipulations 2 = 1, invite, , header.Diversion.URL, 2, header.from.url, 0;

Result:

Diversion:<sip:555@IPG2Host;user=phone>;reason=user-busy;screen=no;privacy=off;counter=1