Implementing Echo Cancel on a Tandem Call with Positive Voice Detection

Introduction

The following procedure details the steps for attaching an Echo Canceller to a conference leg, and then recording the output.

Prerequisites

You must have a DSP chip configured with the Echo Cancel function. See Configuring Echo Cancel.

Guidelines

The Echo Cancel function must be on the same DSP chip as the channel(s) to which you are connecting it.

You must attach the Echo Canceller to the channel before you connect the channel to any other DSP receiver.

Procedure

1. Connect Channels using the Connect 0x0000 message.

2. Attach Echo Cancel receiver using the Resource Connect 0x0127 message.

AIBs

A: Span/Channel (channel to attach Echo Cancel function)

B: Slot (of DSP card).

If using an additional DSP receiver, it must be on the same card that has Echo Cancel. Otherwise, enter a wild card and the best available card will be used based on resources available.

Mandatory TLV

0x0602 Resource Type

Resource Type = Echo Cancel (0x0108)

Optional TLVs (to override default card parameters)

0x0673 Echo Cancel Tap Length

0x0674 Echo Cancel NLP Type

0x0675 Echo Cancel ADAPT

0x0676 Echo Cancel Bypass

0x0677 Echo Cancel G.176 Modem Answer Detection

0x0678 Echo Cancel NLP Threshold

0x0679 Echo Cancel CNG Noise Threshold

3. Attach Positive Voice Detection receiver to channel using the Resource Connect 0x0127 message.

AIBs

A: Span/Channel (channel to attach PVD function)

B: Slot (same DSP card as Echo Cancel receiver).

Mandatory TLV

0x0602 Resource Type

Resource Type = PVD/AMD (0x0109)

Optional TLVs (to override default card parameters)

4. When call is complete, disconnect Echo Canceller using the Resource Disconnect 0x0128 message.

AIBs

Source Channel: Span/Channel

Mandatory TLV

0x0602 Resource Type

Resource Type = Echo Cancel (0x0108)

Optional TLVs

None

5. Disconnect PVD receiver using the Resource Disconnect 0x0128 message.

AIBs

Source Channel: Span/Channel

Mandatory TLV

0x0602 Resource Type

Resource Type = PVD/AMD (0x0109)

Optional TLVs

None

 

Example Call Trace

X->H

[00 0d 00 40 00 00 ff 00 01 0d 03 00 20 00 00]

H->X

[00 0d 00 ba 00 01 ff 00 01 0d 03 00 20 00 01]

X->H

[00 07 00 ba 00 01 ff 00 10]

Park Channel span/channel 20/00

H->X

[00 12 00 bf 00 02 ff 00 02 0d 03 00 20 00 0d 03 00 20

00 00]

X->H

[00 07 00 bf 00 02 ff 00 10]

X->H

[00 0d 00 40 00 01 ff 00 01 0d 03 00 20 01 00]

H->X

[00 0d 00 ba 00 03 ff 00 01 0d 03 00 20 01 01]

X->H

[00 07 00 ba 00 03 ff 00 10]

Park Channel span/channel 20/01

H->X

[00 12 00 bf 00 04 ff 00 02 0d 03 00 20 01 0d 03 00 20

01 00]

X->H

[00 07 00 bf 00 04 ff 00 10]

Connect span/channel 20/00 and span/channel 20/01

H->X

[00 11 00 00 00 05 ff 00 02 0d 03 00 20 00 0d 03 00 20

01]

X->H

[00 07 00 00 00 05 ff 00 10]

Resource Connect 20/00- Echo Canceller

H->X

[00 17 01 27 00 00 ff 00 02 0d 03 00 20 00 01 01 ff 00

01 06 02 00 02 01 08]

X->H

[00 19 01 27 00 00 ff 00 10 00 02 0d 03 00 20 00 01 01 04 00

01 06 02 00 02 01 08]

 

Record File Start 20/00

H->X

[00 46 01 1e 00 06 ff 00 02 0d 03 00 20 00 01 01 ff 00

06 05 e0 00 04 00 dc 5b 17 05 e1 00 02 00 01 05 e2 00

13 00 01 00 02 2f 50 61 74 45 63 68 6f 2f 6d 79 2e 72

61 77 05 e9 00 02 02 26 05 fb 00 01 ca 05 e6 00 01 0c]

X->H

[00 11 01 1e 00 06 ff 00 10 00 02 0d 03 00 20 00 01 01 04]

H->X

[00 0c 01 20 00 07 ff 00 01 0d 03 00 20 00]

 

X->H

[00 0e 01 20 00 07 ff 00 10 00 01 0d 03 00 20 00]

X->H

[00 19 00 2e 00 00 ff 00 01 0d 03 00 20 00 35 00 dc 5b 17 00

02 00 00 00 04 00 00]

H->X

[00 05 00 2e 00 00 ff]