You are here: CSP Developer’s Guide: Internet Protocol > 5 Session-Initiation Protocol (SIP) Software > Remote Party ID

Remote Party ID

Overview

In SIP, the Remote Party ID header field enables popular 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

The SIP specification (RFC 2543) supports each of these services independently but cannot support all combinations. For example, a caller who wants to maintain privacy and 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 SIP authentication cannot perform certain services.

Pertinent Specification

RFC 3325

API Messages

• Request for Service with Data (0x002D)

• PPL Event Indication messages (0x0043)

Configuring

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

To enable this functionality, set 7 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. The CSP receives a SIP INVITE message that includes the Remote Party ID header (bold in trace below) and RPID Privacy header (italics in trace below).

2. The CSP sends the SIP Remote Party ID TLV (0x2959) to the host application in the Request for Service with Data (0x002D). See bold text in the Example API message below.

3. The CSP sends the SIP RPID- Privacy ID TLV (0x295A) to the host application in the Request for Service with Data (0x002D). See italic text in the Example API message below.

4. If the contents of the Request for Service with Data (0x002D) message exceeds 512 bytes, the remainder is sent in one or more subsequent Request for Service with Data or PPL Event Indication messages (0x0043).

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 f 2 00 2d 00 04 ff 00 01 0d 03 00 07 02 00 33 01 03 00 33

00 d e 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 5 7 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 00

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

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.
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.
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).
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.
Real-Time Transport Protocol. Supports transport of real-time data like interactive voice and video over packet-switched networks.