You are here: CSP Developer’s Guide: Internet Protocol > 5 Session-Initiation Protocol (SIP) Software > SIP Remote Party ID and RPID Privacy for Outbound Calls

SIP Remote Party ID and RPID Privacy for Outbound Calls

Overview

Important! This feature contains information for the SIP Remote Party ID and RPID Privacy for both inbound and outbound calls.

The SIP Remote Party ID and SIP RPID Privacy header fields allow certain telephony services as well as some regulatory and public safety requirements.

These services include the following:

• calling identity delivery

• calling identity delivery blocking

• tracing originator of call

Baseline SIP supports each of these services independently, but cannot support all combinations. For example, a caller that wants to maintain privacy and consequently provides unintelligible information in the SIP From header field will not be identifiable by intermediaries. However, since SIP does not allow the contents of the From header field to be modified by intermediaries, the intermediaries that do not directly perform cannot perform certain services.

API Messages

• VoIP Protocol Configur e (0x00EE)

• Request for Service with Data (0x002D)

• PPL Event Indication (0x0043)

• PPL Event Request (0x0044)

• Route Control (0x00E8)

• Outseize Control (0x002C)

Configuring with API

You configure the SIP stack on the CSP to report Remote Party ID and RPID Privacy to host applications. The stack disables this functionality by default.

Follow the information below to configure this feature with the API. Otherwise, refer to Configuring with CSA.

To enable this functionality, set bits 7and 8 in the SIP Message Information Task (0x027F) TLV when you configure the SIP stack with the VoIP Protocol Configur e message (0x00EE).

Example

Follow the steps below and the references to the Trace and API Message that follow:

1. When the CSP receives a SIP INVITE message that includes the Remote Party ID header and RPID Privacy header.

Important! The SIP stack reports the Remote Party ID and RPID Privacy headers in raw, null-terminated ASCII format.

2. The CSP sends the SIP Remote Party ID TLV (0x2959) to the host application in the Request for Service with Data (0x002D) or PPL Event Indication (0x0043) message.

3. The CSP sends the SIP RPID Privacy TLV (0x295A) to the host application in the Request for Service with Data (0x002D) or PPL Event Indication (0x0043) message.

4. Since there can be more than one occurrence of Remote Party ID and RPID Privacy headers, the CSP SIP stack will report more than one occurrence of the corresponding SIP Remote Party ID (0x2959) and SIP RPID Privacy (0x295A) TLVs (up to 250 bytes per TLV) in the Request for Service with Data (0x002D) or PPL Event Indication (0x0043) message.

5. If the contents of the TLV in the Request for Service with Data (0x002D) message exceeds 1024 bytes, the remainder of the data will be sent in one or more subsequent PPL Event Indication messages.

6. The host shall insert any number of Remote Party ID and RPID Privacy headers, and the total length of the API that will be supported restricts the number.

7. For write access, the SIP Remote Party ID (0x2959) and SIP RPID Privacy (0x295A) TLVs only support a maximum of 250 bytes per TLV, including the null-terminator. This maximum length of 250 bytes is applicable for each occurrence of the TLV in the API and is not the cumulative length.

8. If the TLV exceeds the maximum length or is not terminated by the null-terminator, the CSP returns a 0x1304 NACK.

Important! The maximum recommended NPDI size is 780 bytes for the Route Control (0x00E8) message that includes the NPDI Universal (0x0033) ICB size. The maximum recommended NPDI size is 820 bytes for the Outseize Control (0x002C) message and the subsequent PPL Event Request (0x0044) message that includes the NPDI Universal (0x0033) ICB size. The maximum byte size supported per SIP message is 1500 bytes.

Trace

INVITE sip:service@10.10.1.32:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.1.2:5060

From: sipp <sip:sipp@10.10.1.2:5060>;tag=1

To: sut <sip:service@10.10.1.32:5060>

Call-ID: 1.8524.10.10.1.2@sipp.call.id

CSeq: 1 INVITE

Contact: sip:sipp@10.10.1.2:5060

Max-Forwards: 70

Subject: Performance Test

Remote-Party-ID: "John Doe" <sip:jdoe@foo.com>;party=calling;id-type=subscriber;privacy=full;screen=yes

RPID-Privacy: full

Content-Type: application/sdp

Content-Length: 136

v=0

o=user1 53655765 2353687637 IN IP4 127.0.0.1

s=-

c=IN IP4 127.0.0.1

t=0 0

m=audio 10000 RTP/AVP 0

API Message

[00 f3 00 2d 00 04 ff 00 01 0d 03 00 07 02 00 33 01 03 00 33

00 df 00 0f 27 4e 00 02 00 05 27 7e 00 03 08 00 00 29

19 00 08 73 65 72 76 69 63 65 00 29 1b 00 0b 31 30 2e

31 30 2e 31 2e 33 32 00 29 1c 00 04 00 00 13 c4 29 23

00 05 73 69 70 70 00 29 25 00 0a 31 30 2e 31 30 2e 31

2e 32 00 29 26 00 04 00 00 13 c4 29 2d 00 05 73 69 70

70 00 29 2f 00 0a 31 30 2e 31 30 2e 31 2e 32 00 29 30

00 04 00 00 13 c4 29 33 00 01 01 29 16 00 01 01 29 59

00 58 22 4a 6f 68 6e 20 44 6f 65 22 20 3c 73 69 70 3a

6a 64 6f 65 40 66 6f 6f 2e 63 6f 6d 3e 3b 70 61 72 74

79 3d 63 61 6c 6c 69 6e 67 3b 69 64 2d 74 79 70 65 3d

73 75 62 73 63 72 69 62 65 72 3b 70 72 69 76 61 63 79

3d 66 75 6c 6c 3b 73 63 72 65 65 6e 3d 79 65 73 20 00

29 5a 00 05 66 75 6c 6c 00]

An example for write access:

H->X

[01 2e 00 2c 00 00 01 00 01 0d 03 00 00 00 02 03 00 1e

00 0f 00 02 01 16 00 02 00 00 01 1a 00 03 00 00 00 03

00 33 01 08 00 10 27 7e 00 03 08 00 00 29 19 00 06 32

32 32 32 32 00 29 1b 00 0c 31 30 2e 31 30 2e 31 2e 32

35 32 00 29 1c 00 04 00 00 13 c4 29 23 00 06 31 31 31

31 31 00 29 25 00 0c 31 30 2e 31 30 2e 31 2e 32 35 30

00 29 26 00 04 00 00 13 c4 27 92 00 04 0a 0a 01 bf 27

93 00 04 00 00 10 7c 29 17 00 01 01 29 5a 00 2e 70 72

69 76 61 63 79 3d 66 75 6c 6c 3b 70 61 72 74 79 3d 63

61 6c 6c 69 6e 67 3b 69 64 2d 74 79 70 65 3d 73 75 62

73 63 72 69 62 65 72 00 29 59 00 0c 61 62 63 40 78 79

7a 2e 63 6f 6d 00 29 5a 00 1e 70 61 72 74 79 3d 63 61

6c 6c 69 6e 67 3b 72 70 69 2d 70 72 69 76 61 63 79 3d

6f 66 66 00 29 59 00 0c 62 61 63 40 78 79 7a 2e 63 6f

6d 00 29 5a 00 1e 70 61 72 74 79 3d 63 61 6c 6c 69 6e

67 3b 72 70 69 2d 70 72 69 76 61 63 79 3d 75 72 69 00

29 59 00 0c 62 63 61 40 78 79 7a 2e 63 6f 6d 00]

Trace

1 -SENT To 10.10.1.252:5060 at 256

INVITE sip:22222@10.10.1.252:5060 SIP/2.0

Via: SIP/2.0/UDP 10.10.1.250

To: 22222<sip:22222@10.10.1.252:5060>

From: 11111<sip:11111@10.10.1.250:5060>;tag=19276987100

Call-ID: EXCEL-CSP1.787.256.550@10.10.1.250

Contact: 11111<sip:11111@10.10.1.250:5060>

User-Agent: Excel_CSP/83.10.62

Supported: timer

Session-Expires: 1800

Min-SE: 300

CSeq: 1 INVITE

RPID-Privacy: privacy=full;party=calling;id-type=subscriber

RPID-Privacy: party=calling;rpi-privacy=off

RPID-Privacy: party=calling;rpi-privacy=uri

Remote-Party-ID: abc@xyz.com

Remote-Party-ID: bac@xyz.com

Remote-Party-ID: bca@xyz.com

Content-Type: application/sdp

Content-Length: 100

v=0

o=sip 0 0 IN IP4 10.10.1.250

s=SIP_Call

c=IN IP4 10.10.1.191

t=0 0

m=audio 4220 RTP/AVP 0

To provide SIP Remote Party ID for outbound calls, the CSP SIP stack allows the host to insert Remote-Party-ID and RPID-Privacy headers within the SIP INVITE message.

Configuring with CSA

Refer to Configuring SIP in the Converged Services Administrator User’s Guide to configure with SwitchKit CSA.

TLV Modifications

The following TLVs have been modified to support this feature. The change bars indicate the modifications.

0x2959 SIP Remote Party ID

Used in:
Request for Service with Data (0x002D)
PPL Event Indication (0x0043)
PPL Event Request (0x0044)
Route Control (0x00E8)
Outseize Control (0x002C)

Byte | Description
0, 1 | Tag 0x2959
2, 3 | Length Variable (Maximum of 250 bytes when used in Outseize or Route Control or subsequent PPL Event Request messages)
4-n | Value Contains the value of the Remote Party ID header as a null-terminated ASCII string.

0x295A SIP RPID Privacy

Used in:
Request for Service with Data (0x002D)
PPL Event Indication (0x0043)
PPL Event Request (0x0044)
Route Control (0x00E8)
Outseize Control (0x002C)

Byte | Description
0, 1 | Tag 0x295A
2, 3 | Length Variable (Maximum of 250 bytes when used in Outseize or Route Control or subsequent PPL Event Request messages)
4-n | Value Contains the value of the RPID Privacy header as a null terminated ASCII string.

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.
Voice over Internet Protocol. The delivery of voice information in digital form in discrete packets rather than in the traditional circuit-committed protocols of the public-switched telephone network (PSTN).
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.
Outgoing call setup during real-time call processing on a specific channel.
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.
American Standard Code for Information Interchange
Negative acknowledgement to a message.
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.
See Information Control Block.
Real-Time Transport Protocol. Supports transport of real-time data like interactive voice and video over packet-switched networks.
See Converged Services Administrator.
CSA. GUI-based tool used to configure, provision and monitor a Excel platform related to, for example, SIP, H.323, and VDAC Resouce Attributes.