You are here: CSP Developer’s Guide: Internet Protocol > 5 Session-Initiation Protocol (SIP) Software > Host Generated Refer Message

Host Generated Refer Message

Overview

The SIP REFER message requests that the recipient contact a third party using the contact information in the request message. Prior to this feature, the CSP supported inbound REFER requests. With this release, the CSP now supports outbound REFER requests.

The CSP generates the outbound REFER message only when the host application triggers it.

The Recipient contacts third party below shows the recipient contacting a third party after receiving the SIP REFER message from the CSP.

Important! The CSP does not support multiple REFER requests in a dialog.

Figure 5-9 Recipient contacts third party

Generating Outbound REFER Request

The SIP software allows the CSP to generate an outbound REFER request when the host application sends a PPL Event Request (0x0044) message with Event 0x0027 to the SIP UA component (0x00A7).

The PPL Event Request must contain the target’s URL in the following TLV which fills in Refer-To-Header field for the outbound request.

Mandatory

• NPDI SIP Refer to Username (0x291E)

• NPDI SIP Refer To Host Name (0x2920)

Optional

• NPDI SIP Refer To Port (0x2921)

• NPDI SIP Refer To Password (0x261F)

This feature also includes the following API changes.

• The existing SIP Response Code TLV (0x2915) is now supported in PPL Event Indications.

• PPL Event Request (0x0027) added to SIP UA component.

• PPL Event Indications (0x0027 and 0x0028) added to SIP UA component.

Call Flow

The following call flows show one successful host application generated REFER message and three unsuccessful scenarios. The explanation below the call flows explain each scenario. In all the four call flows, the Referrer and Referee are in the answered state.

Figure 5-10 Generated REFER Message Successful

Figure 5-11 Generated REFER Message Failure Scenario 1

Figure 5-12 Generated REFER Message Failure Scenario 2

Figure 5-13 Reference Failure Scenario

Call Flow Steps

The following steps provide an overall explanation of the different call flow scenarios above.

1. The PPL Event Request message must have the Refer Target’s address (SIP endpoint) in the following TLVs:

Mandatory TLVs:

• NPDI SIP Refer To Username TLV (0x291E).

• NPDI SIP Refer To Host Name TLV (0x2920)

Optional TLVs:

• NPDI SIP Refer To Password TLV (0x291F).

• NPDI SIP Refer To Port TLV (0x2921) - (Default value is 5060).

2. The CSP validates the data in the PPL Event Request message. If the validation is successful, a REFER request is constructed by the CSP and sent to the other end. The PPL Event Request message is ACKed by the CSP when the message is successfully sent from the referrer side.

3. The destination SIP UA (Referee) is supposed to send out a response when it receives the REFER request. If the REFER is accepted by the Referee, Referee responds with 202 response.
For failures any appropriate 4xx-6xx class response is sent (In case the referee cannot accept the REFER, the referee responds with any appropriate 4xx-6xx status). When a response is received the referrer sends out a PPL Event Indication (0x0027) message with SIP Response Code TLV (0x2915) having the received response code (as shown in Generated REFER Message Successful, Generated REFER Message Failure Scenario 2, and Reference Failure Scenario).

4. If the referee does not respond to the REFER request within 500 milliseconds (default value), the message is re-transmitted 11 times. If there are no responses even after 11 retries the referrer sends out a PPL Event Indication (0x0027) message with SIP Response Code TLV (0x2915) with response code 408-Request Timed out (as shown in Generated REFER Message Failure Scenario 1).

5. The host application has to interpret the SIP Response Code TLV (0x2915) data in PPL Event Indication 0x0027 as follows:

Response Values (TLV Data) | Status of REFER
--- | ---
202 (Accepted) | Success
408 (Request Timed Out) | Timed out
4xx-6xx | Failure

6. If the Referee (destination end-point) has accepted the REFER request, the Referee tries to contact the address in the Refer-To field. The status of this reference is passed on to the Referrer using the NOTIFY messages with the status in the body of the NOTIFY message. The Referrer receives the notification and informs the host application about the status of the reference using the PPL Event Indication 0x0028 - until the Refer-Notify subscription is terminated.

7. This PPL Indication message has the SIP Response Code TLV (0x2915), whose data part indicates the SIP response value (for example100 Trying, 200 OK, 603 Decline) received in the body of the Notify message. The host application has to interpret the SIP Response Code TLV (0x2915) data in PPL Event Indication message (0x0028) as follows:

Response Values (TLV Data) | Status of Reference
--- | ---
100 (Trying) | Trying
200 (OK) | Success
503 (Service Unavailable) 603 (Decline) | Failure

Session-Initiation Protocol. A signaling protocol used for establishing sessions in an IP network. A session could be a simple, two-way telephone call, or it could be a collaborative multi-media conference session.
See Programmable Protocol Language.
A condition that, when met, drives a state machine from one state to another. A condition that drives a Component out of its current state by invoking an associated primitive.
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.
Network Protocol Data Intelligence. Also called “Interworking,” it is a software product that operates within Excel’s Call Control (Layer 4) and Services (Layer 5) call processing layers. NPDI is meant to enhance Excel’s call processing product offering by allowing call processing layers (specifically Layers 4 and 5) to perform advanced analysis, generation, and conversion of Network Signaling (NS) Layer 3 information.
A computer, attached to the Excel platform through an RS-232 or Ethernet link, from which you run the telecommunications application that controls the Excel platform.
The point in the Excel platform where a DS0 connects to a network. Also known as a "socket."