Support REFER Request in Call Agent

Purpose

This feature allows the CSP to process an inbound REFER request and to generate an outbound REFER request in Call Agent Mode.

This section contains the following:

• Description of the feature

• Sample calls flows

• API and PPL changes to support the feature

Description

Whenever there is an incoming REFER request, the REFER-TO header is reported to the host in the PPL Event Indication (Event 0x0021; Component 0x00A7). The host can propagate the REFER request to the outbound leg using the PPL Event Request message (Event 0x0027; Component 0x00A7).

The status of the reference is reported to the SIP component in the NOTIFY messages. This status is reported to the host in the PPL Event Indication (Event 0x0028; Component 0x00A7).

Call Flows

The following call flows show three scenarios:

Success REFER request and NOTIFY message in Call Agent Mode (Includes sample API and SIP message traces.)

REFER Request Failure in Call Agent Mode

Reference Failure in Call Agent Mode

Successful REFER and NOTIFY in Call Agent Mode

This call flow assumes that the Referrer and Referee are in the answered state. The second PPL Event Request (0x0020) to generate the NOTIFY message is not supported as of now, but will be supported in a future release.

API Messages

X->H

[00 35 00 43 00 27 04 00 01 0d 03 00 64 08 00 a7 00 21 01 03

00 33 00 1f 00 02 29 19 00 0b 39 39 39 39 39 39 39 39

30 31 00 29 1b 00 0a 31 30 2e 31 30 2e 31 2e 32 00]

 

H->X

[00 05 00 43 00 27 04]

 

H->X

[00 05 00 43 00 27 04]

 

H->X

[00 3d 00 44 00 01 04 00 01 0d 03 00 64 09 00 a7 00 27

01 03 00 33 00 27 00 03 29 1e 00 0b 39 39 39 39 39 39

39 39 30 31 00 29 20 00 0a 31 30 2e 31 30 2e 31 2e 32

00 29 21 00 04 00 00 13 ff]

 

X->H

[00 07 00 44 00 01 04 00 10]

 

X->H

[00 1e 00 43 00 28 04 00 01 0d 03 00 64 09 00 a7 00 27 01 03

00 33 00 08 00 01 29 15 00 02 00 ca]

 

H->X

[00 05 00 43 00 28 04]

 

H->X

[00 05 00 43 00 28 04]

 

X->H

[00 1e 00 43 00 29 04 00 01 0d 03 00 64 09 00 a7 00 28 01 03

00 33 00 08 00 01 29 15 00 02 00 64]

 

H->X

[00 05 00 43 00 29 04]

 

H->X

[00 05 00 43 00 29 04]

 

H->X

[00 1e 00 44 00 01 04 00 01 0d 03 00 64 08 00 a7 00 20

01 03 00 33 00 08 00 01 29 4b 00 02 00 64]

 

X->H

[00 07 00 44 00 01 04 00 10]

SIP Trace

1 -RECEIVED From 10.10.1.2:5060 at 12425

2 -RECEIVED From 10.10.1.47:1024 at 12432

REFER sip:12345@10.10.1.133:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.1.47

From: 12345<sip:12345@10.10.1.47:5060>;tag=719188306d

To: 12345<sip:12345@10.10.1.133:5060>;tag=91883079

Call-ID: EXCEL-CSP27.47.12397.140@10.10.1.47

CSeq: 2 REFER

Max-Forwards: 70

Contact: 12345<sip:12345@10.10.1.47:5060>

Refer-To: sip:9999999901@10.10.1.2:5119

User-Agent: Excel_CSP/83.10.69

Content-Length: 0

 

 

3 -SENT To 10.10.1.47:5060 at 12432

SIP/2.0 202 Accepted

To: 12345<sip:12345@10.10.1.133:5060>;tag=91883079

From: 12345<sip:12345@10.10.1.47:5060>;tag=719188306d

Call-ID: EXCEL-CSP27.47.12397.140@10.10.1.47

CSeq: 2 REFER

Contact: 12345<sip:12345@10.10.1.65:5060>

Via: SIP/2.0/UDP 10.10.1.47

User-Agent: Excel_CSP/83.10.69

Content-Length: 0

 

 

4 -RECEIVED From 10.10.1.2:5060 at 12436

 

 

5 -SENT To 10.10.1.133:5060 at 12436

REFER sip:12345@10.10.1.133:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.1.65

From: 12345<sip:12345@10.10.1.47:5060>;tag=410511353079

To: 12345<sip:12345@10.10.1.133:5060>;tag=113559f

Call-ID: EXCEL-CSP4.1009.12409.900@10.10.1.65

CSeq: 2 REFER

Max-Forwards: 70

Contact: 12345<sip:12345@10.10.1.65:5060>

Refer-To: sip:9999999901@10.10.1.2:5119

User-Agent: Excel_CSP/83.10.69

Content-Length: 0

 

 

6 -RECEIVED From 10.10.1.133:1024 at 12436

SIP/2.0 202 Accepted

To: 12345<sip:12345@10.10.1.133:5060>;tag=113559f

From: 12345<sip:12345@10.10.1.47:5060>;tag=410511353079

Call-ID: EXCEL-CSP4.1009.12409.900@10.10.1.65

CSeq: 2 REFER

Contact: 12345<sip:12345@10.10.1.133:5060>

Via: SIP/2.0/UDP 10.10.1.65

User-Agent: Excel_CSP/83.10.69

Content-Length: 0

 

 

7 -RECEIVED From 10.10.1.133:1024 at 12442

NOTIFY sip:12345@10.10.1.65:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.1.133

To: 12345<sip:12345@10.10.1.47:5060>;tag=410511353079

From: 12345<sip:12345@10.10.1.133:5060>;tag=113559f

Call-ID: EXCEL-CSP4.1009.12409.900@10.10.1.65

CSeq: 3 NOTIFY

Event: refer

Contact: 12345<sip:12345@10.10.1.133:5060>

Content-Type: message/sipfrag;version=2.0

Content-Length: 20

 

SIP/2.0 100 Trying

 

8 -SENT To 10.10.1.133:5060 at 12442

SIP/2.0 200 OK

To: 12345<sip:12345@10.10.1.47:5060>;tag=410511353079

From: 12345<sip:12345@10.10.1.133:5060>;tag=113559f

Call-ID: EXCEL-CSP4.1009.12409.900@10.10.1.65

CSeq: 3 NOTIFY

Via: SIP/2.0/UDP 10.10.1.133

User-Agent: Excel_CSP/83.10.69

Content-Length: 0

 

 

9 -RECEIVED From 10.10.1.2:5060 at 12446

 

 

10-RECEIVED From 10.10.1.2:5060 at 12456

 

 

11-RECEIVED From 10.10.1.2:5060 at 12466

 

 

12-RECEIVED From 10.10.1.2:5060 at 12477

 

 

13-SENT To 10.10.1.47:5060 at 12478

NOTIFY sip:12345@10.10.1.47:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.1.65

To: 12345<sip:12345@10.10.1.47:5060>;tag=719188306d

From: 12345<sip:12345@10.10.1.133:5060>;tag=91883079

Call-ID: EXCEL-CSP27.47.12397.140@10.10.1.47

CSeq: 3 NOTIFY

Event: refer

Contact: 12345<sip:12345@10.10.1.65:5060>

Content-Type: message/sipfrag;version=2.0

Content-Length: 20

 

SIP/2.0 100 Trying

 

14-RECEIVED From 10.10.1.47:1024 at 12478

SIP/2.0 200 OK

To: 12345<sip:12345@10.10.1.47:5060>;tag=719188306d

From: 12345<sip:12345@10.10.1.133:5060>;tag=91883079

Call-ID: EXCEL-CSP27.47.12397.140@10.10.1.47

CSeq: 3 NOTIFY

Via: SIP/2.0/UDP 10.10.1.65

User-Agent: Excel_CSP/83.10.69

Content-Length: 0

 

 

15-RECEIVED From 10.10.1.2:5060 at 12487

 

REFER Failure in Call Agent Mode

Reference Failure in Call Agent Mode

API Changes

The section provides the API changes that support this feature.

The PPL Event Request (0x0044) message can include the following four new TLVs:

 

0x291E NPDI SIP Refer to Username

0x291F NPDI SIP Refer to Password (optional)

0x2920 NPDI SIP Refer to Host Name

0x2921 NPDI SIP Refer to Port (optional)

The PPL Event Indication (0x0043) message includes the NPDI SIP Response Code TLV - 0x2915 as follows:

 

PPL Event Indication (0x0043)

MESSAGE (White)

RESPONSE (Gray)

Byte

Field Description

Byte

Field Description

0

Frame (0xFE)

0

Frame (0xFE)

1, 2

Length (0x00NN)

1, 2

Length (0x0005)

3, 4

Message Type (0x0043)

3, 4

Message Type (0x0043)

5

Reserved (0x00)

5

Reserved (0x00)

6

Sequence Number

6

Same Sequence Number

7

Logical Node ID

7

Logical Node ID

:

AIB

Channel (0x0D)

8

Checksum

:

PPL Component ID - 0x00A7

:

PPL Event 0x0027/0x0028

:

Number of ICBs to follow - 0x01

:

ICB Type (0x03) - Extended Data ICB

:

ICB ID - NPDI Universal ICB - 0x0033)

:

Data Length - 0x0008

:

Number of TLVs - 0x0001

:

NPDI SIP Response Code TLV -0x2915 (See format below.)

:

Checksum

 

 

 

0x2915 NPDI SIP Response Code

The PPL Event Indications now supports this existing TLV within the NPDI Universal ICB (0x0033).

This TLV provides the response code received for any SIP message generated by the CSP.

Used in:
0x0033 NPDI Universal ICB in:
Channel Released with Data message
Release Channel with Data message
PPL Event Indication message
Request for Service with Data message

Byte

Description

0, 1

Tag 0x2915

2, 3

Length 0x0002

4, 5

Value SIP Response Code (2 Bytes)

 

 

This TLV, when reported in the PPL Event Indication for Event (0x0027/0x0028), will have any valid SIP Response value.

The response code to be interpreted for event 0x0027 is as follows:

202 - Accepted (The REFER request is successful)

405 – Method Not Allowed (REFER request failed)

408 – Request Timed Out (REFER request failed)

 

The response code to be interpreted for event 0x0028 is as follows:

100 – Trying

200 - OK (The reference is successful)

503 - Service Unavailable (The reference failed)

603 - Decline (The reference failed)

 

PPL Changes

New Events

The following new PPL Events for the SIP UA PPL Component (0x00A7).

Event Request

0x0027 - Allows the CSP to generate an outbound REFER request with the refer target URL filling in the TLV.

Event Indications

0x0027 - Informs the host about the result of the sent REFER request (Success - 2xx or Failure - 4xx-6xx).

0x0028 - Informs the host that sent the REFER request about the status of the reference (Trying, Success, or Failure). The value in the SIP Response Code TLV (0x2915) reports the exact response code.