You are here: CSP Developer’s Guide: Internet Protocol > 6 Call Agent > Session Description Protocol (SDP) Pass-Through for Call Agent Mode

Session Description Protocol (SDP) Pass-Through for Call Agent Mode

Overview

The Call Agent Mode (CAM) turns the CSP into a centralized SIP call controller that allows direct flow between the external end-points.

In CAM, the CSP acts as a SIP Back-to-Back User Agent and is not only a full-fledged SIP signaling end-point (User Agent) but also a Session Description Protocol (SDP) signaling endpoint. The CSP originates and terminates SIP and SDP signaling and establishes independent signaling sessions with external endpoints.

In order to facilitate direct media flow between the external endpoints, the CSP interworks essential inbound SDP parameters into NPDI TLVs to carry this information to the host application. The reverse process occurs for outbound SDP parameters.

Prior to this release, the SDP processing in the CSP could handle only audio media sessions. With this release, the SIP stack is extended to provide more transparency when media capabilities are negotiated between endpoints.

This transparency comes by tunneling an essential portion of raw SDP text between the external endpoints. This approach is flexible because it allows any non-audio media session (not just T.38 fax) to get setup across the CSP. In addition, the endpoint’s media capabilities can evolve without affecting the CSP.

Figure Network Architecture below shows a network architecture where the external points want to establish a T.38 fax session with each other. A fax call is typically started as an audio session and then switches to T.38 once the IMG or SIP ATA detects the preamble tone. The T.38 parameters are represented in the SDP and conveyed mid-session through the SIP RE-INVITE mechanism.

Figure 6-3 Network Architecture

Description

This feature pertains to only non-audio DSP parameters in the
RE-INVITE messages. This feature does not affect the processing of audio SDP parameters and the SDP/NPDI interworking for audio media streams.

Demarcation of SDP

The set of essential SDP parameters is the tunneled portion of the raw SDP text. It is demarcated based on the m=lines in the SDP.

Nested NPDI

The SDP parameters in CAM are structured and communicated as nested NPDI TLVs within the NPDI ICB (0x0033) in the EXS API messages.

There is a TLV, SDP Media Stream Native Text (0x2A17) added within this structure. It will carry the raw SDP text internally in the CSP and between the CSP and the host. Refer to the following for the formats.

Media Streams

An API message can carry up to 1K bytes. Based on this restriction only one media stream worth of information will be tunneled through. For a media stream to be tunneled through, it has to be a non-audio media stream.

Audio and non-audio media streams cannot be present in the SDP at the same time.

Configuring

This feature is disabled by default. To enable it, set Bit 17, in the SIP Message Information Mask (0x027F) TLV sent in the VoIP Protocol Configure (0x00EE) message.

Call Flow and Message Traces

The figure below shows just the portion of a call flow that is relevant to this feature. The steps are described below the call flow.

The IMG 1010 is the Integrated Media Gateway 1010 from Dialogic Technology.

Steps

1. The call flow assumes that an audio session is in place when the terminating gateway (in this example, the IMG 1010 ‘A’) detects the Fax preamble tone. The gateway initiates a RE-INVITE message with an SDP describing its T.38 parameters.

2. The CSP fields this RE-INVITE message on the User Agent session that is already in place with this endpoint.

3. The CSP extracts the raw text including the m=line and lines up to the next m=line or the end of the SDP and pushes it to the host application in a PPL Event Indication message.

4. At the same time the CSP internally propagates the RE-INVITE (send by channel A) and sends a RE-INVITE message (with the raw SDP portion reproduced) to the other endpoint.

5. The SIP endpoint B accepts the inbound T.38 SDP offer and responds with an outbound T.38 SDP answer. The 200 OK internally propagates through the signaling and call processing layers in the CSP and is delivered to IMG 1010 ‘A’.

Message Trace -Tunneled Text

As noted in a previous section, a media stream is demarcated based on the m=lines in the SDP. A media stream starts at an m=line and ends at the next m=line, which marks the beginning of the next media stream.

For instance, the underlined portion of text in the message trace below is tunneled through.

INVITE sip:+1-650-555-2222@iftgw.there.com SIP/2.0

Via: SIP/2.0/UDP obelix.wcom.com:5060; branch=2d007.1

Via: SIP/2.0/UDP ifax.here.com:5060

From: sip:+1-303-555-1111@ifax.here.com;tag=ab111

To: sip:+1-650-555-2222@obelix.wcom.com

Call-ID: 1717@ifax.here.com

CSeq: 17 INVITE

Contact: <sip:+1-303-555-1111@ifax.here.com>

Content-Type: application/sdp

Content-Length: 320

v=0

o=ifaxgw1 2890846527 2890846527 IN IP4 ifax.here.com

s=Session SDP

c=IN IP4 ifaxmg.here.com

t=0 0

m=image 15002 udptl t38

a=T38FaxVersion:0

a=T38MaxBitRate:14400

a=T38FaxFillBitRemoval:0

a=T38FaxTranscodingMMR:0

a=T38FaxTranscodingJBIG:0

a=T38FaxRateManagement:transferredTCF

a=T38FaxMaxBuffer:72

a=T38FaxMaxDatagram:316

a=T38FaxUdpEC:t38UDPFEC

a=T38FaxUdpEC:t38UDPRedundancy

Nested TLV Structure

The SDP Native Media Stream TLV (0x2A17) is contained inside the nested NPDI TLV structure used in the Call Agent Mode to propagate SDP information from one endpoint to another.

This TLV is analogous to an "audio" media stream. The only difference being the CSP SDP stack parses the audio media stream and interworks those parameters into NPDI TLVs and sends that processes information to the host.

This TLV carries information that is similar in semantics but different in syntax because it carries raw SDP text.

The nested NPDI structure treats a media stream regardless of its type (for example, audio, video, image, whiteboard, application, data) therefore the DSP Native Media Stream TLV is contained inside the NPDI Per-Media Stream TLV (0x2A01).

Figure Native SDP Media Stream TLV within Nested NPDI shows the layout of the nested NPDI structure.

Figure 6-4 Native SDP Media Stream TLV within Nested NPDI

Message Trace -RE-INVITE with T.38 Parameters

The following message trace shows a SIP RE-INVITE message with T.38 fax parameters and the corresponding PPL Event Indication message from the CSP to the host.

INVITE sip:service@192.168.1.200:5060 SIP/2.0

Via: SIP/2.0/UDP 192.168.1.105:5062

From: sipp <sip:sipp@192.168.1.105:5062>;tag=1

To: sut <sip:service@192.168.1.200:5060>;tag=891265

Call-ID: 1.17832.192.168.1.105@sipp.call.id

Cseq: 2 INVITE

Contact: sip:sipp@192.168.1.105:5062

Max-Forwards: 70

Subject: Performance Test

Content-Type: application/sdp

Content-Length: 320

v=0

o=faxgw1 2890844527 171090 IN IP4 iftgw.there.com

s=Session SDP

c=IN IP4 192.168.100.100

t=0 0

m=image 49172 udptl t38

a=T38FaxVersion:0

a=T38MaxBitRate:9600

a=T38FaxFillBitRemoval:0

a=T38FaxTranscodingMMR:0

a=T38FaxTranscodingJBIG:0

a=T38FaxRateManagement:transferredTCF

a=T38FaxMaxBuffer:72

a=T38FaxMaxDatagram:316

a=T38FaxUdpEC:t38UDPFEC

a=T38FaxUdpEC:t38UDPRedundancy

X->H

[01 4c 00 43 00 0a ff 00 01 0d 03 00 07 06 00 a7 00 1e 01 03

00 33 01 36 00 01 29 ff 01 30 2a 0e 00 04 c0 a8 64 64

2a 01 01 24 2a 17 01 20 6d 3d 69 6d 61 67 65 20 34 39

31 37 32 20 75 64 70 74 6c 20 74 33 38 0d 0a 61 3d 54

33 38 46 61 78 56 65 72 73 69 6f 6e 3a 30 0d 0a 61 3d

54 33 38 4d 61 78 42 69 74 52 61 74 65 3a 39 36 30 30

0d 0a 61 3d 54 33 38 46 61 78 46 69 6c 6c 42 69 74 52

65 6d 6f 76 61 6c 3a 30 0d 0a 61 3d 54 33 38 46 61 78

54 72 61 6e 73 63 6f 64 69 6e 67 4d 4d 52 3a 30 0d 0a

61 3d 54 33 38 46 61 78 54 72 61 6e 73 63 6f 64 69 6e

67 4a 42 49 47 3a 30 0d 0a 61 3d 54 33 38 46 61 78 52

61 74 65 4d 61 6e 61 67 65 6d 65 6e 74 3a 74 72 61 6e

73 66 65 72 72 65 64 54 43 46 0d 0a 61 3d 54 33 38 46

61 78 4d 61 78 42 75 66 66 65 72 3a 37 32 0d 0a 61 3d

54 33 38 46 61 78 4d 61 78 44 61 74 61 67 72 61 6d 3a

33 31 36 0d 0a 61 3d 54 33 38 46 61 78 55 64 70 45 43

3a 74 33 38 55 44 50 46 45 43 0d 0a 61 3d 54 33 38 46

61 78 55 64 70 45 43 3a 74 33 38 55 44 50 52 65 64 75

6e 64 61 6e 63 79 0d 0a]

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.
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 Integrated Media Gateway.
Digital Signal Processor
See Information Control Block.
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).
Excel's IMG product family provides a flexible platform designed to provide a gateway environment for voice, signaling, and media. The IMG integrates media server and signaling server capabilities with a scalable gateway platform.
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.