Table of Contents Index NMS Glossary Previous Page Next Page Version


Appendix B

Resource Usage


Introduction
Default Functions Available on AG Boards
Custom Functions Available on AG Boards
DSP File MIPs Usage

IntroductionTop of Page

The Alliance Generation (AG) family of telephony boards is based on flexible software and hardware architecture. At the core of this architecture is an array of digital signal processors (DSPs) which execute algorithms for detection and generation of voice and telephony signals.

Most of the CT Access API calls implicitly make use of functions which run on the DSP resources. For example, adiStartToneDetector starts the tone detector function running on a DSP. adiStartRecording starts one of many voice compression functions running on a DSP. AG boards are shipped with default configurations that make the most commonly used functions available.

Note: AG Quad boards have 120 call control ports and DSP resources for up to 60 ports for simultaneous voice or call processing. Using call control resource management, the AG Quad board shares DSP resources across all 120 ports. It is not feasible or practical to make every possible function simultaneously available to an application. For more information about call control resource management, refer to Section 1.4, DSP Resource Allocation.

Default Functions Available on AG BoardsTop of Page

The following functions are available in the default configuration as shipped with CT Access on the AG Quad board:

Custom Functions Available on AG BoardsTop of Page

The following functions can be can be loaded on AG Quad boards through OAM:

DSP File MIPs UsageTop of Page

The binary code for running functions is contained in DSP files. One or more functions are contained in each file. NMS boards differ in the the total number of DSPs they contain and the speed of their DSPs on the board.

DSP speed is measured in millions of instructions per second (MIPS). Each function run on a DSP consumes MIPS. If the total MIPS consumption for all the requested functions on all the ports of a given board exceed the total MIPS available for that board, then an error event will occur. If MIPS-intensive functions are required, it may be necessary to reduce the total number of ports on a board, which makes more MIPS per port available.

Note: For rvoice files, voice encoding refers to the data played/recorded on the line. The choice between rvoice.dsp and rvoice_a.dsp depends on the encoding of the line. For example, to play mu-law data on an
A-law line, specify ADI_ENCODE_MULAW for the encoding, and configure rvoice.dsp to be loaded to the board.

The following table shows the MIPS usage for the available functions shipped with CT Access:
DSP File

Function

MIPS

Related API Function

Related Arguments

voice.dsp

NMS Play 16 Kbit/s

2.05

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_16, maxspeed = 100

voice.dsp

NMS Play 24 Kbit/s

2.05

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_24, maxspeed = 100

voice.dsp

NMS Play 32 Kbit/s

2.05

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_32, maxspeed = 100

voice.dsp

NMS Play 64 Kbit/s

0.6

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_64, maxspeed = 100

voice.dsp

NMS Record 16 Kbit/s

2.15

adiStartRecording

encoding =
ADI_ENCODE_NMS_16

voice.dsp

NMS Record 24 Kbit/s

2.15

adiStartRecording

encoding =
ADI_ENCODE_ NMS_24

voice.dsp

NMS Record 32 Kbit/s

2.17

adiStartRecording

encoding =
ADI_ENCODE_ NMS_32

voice.dsp

NMS Record 64 Kbit/s

0.57

adiStartRecording

encoding =
ADI_ENCODE_ NMS_64

rvoice.dsp

mu-law Play

0.60

adiStartPlaying

encoding =
ADI_ENCODE_ MULAW

rvoice.dsp

A-law Play

0.60

adiStartPlaying

encoding =
ADI_ENCODE_ ALAW

rvoice.dsp

WAVE Play,
8 kHz, 16-bit

0.60

adiStartPlaying

encoding =
ADI_ENCODE_ PCM8M16

rvoice.dsp

mu-law Record

0.60

adiStartRecording

encoding =
ADI_ENCODE_MULAW

rvoice.dsp

A-law Record

0.60

adiStartRecording

encoding =
ADI_ENCODE_ ALAW

rvoice.dsp

WAVE Record,
8 kHz, 16-bit

0.60

adiStartRecording

encoding =
ADI_ENCODE_ PCM8M16

voxp.dsp

NMS Play 16 Kbit/s

2.3

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_16, maxspeed = 100

voxp.dsp

NMS Play 24 Kbit/s

2.3

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_24, maxspeed = 100

voxp.dsp

NMS Play 32 Kbit/s

2.3

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_32
, maxspeed = 100

voxp.dsp

NMS Play 64 Kbit/s

0.8

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_64, maxspeed = 100

voxp.dsp

NMS Play 16 Kbit/s 1.5X

3.5

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_16, maxspeed = 150

voxp.dsp

NMS Play 24 Kbit/s 1.5X

3.5

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_24, maxspeed = 150

voxp.dsp

NMS Play 32 Kbit/s 1.5X

3.5

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_32, maxspeed = 150

voxp.dsp

NMS Play 64 Kbit/s 1.5X

1.2

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_64, maxspeed = 150

voxp.dsp

NMS Play 16 Kbit/s 2.0X

4.3

adiStartPlaying

encoding = ADI_ENCODE_NMS_16, maxspeed= 200

voxp.dsp

NMS Play 24 Kbit/s 2.0X

4.3

adiStartPlaying

encoding = ADI_ENCODE_NMS_24, maxspeed = 200

voxp.dsp

NMS Play 32 Kbit/s 2.0X

4.3

adiStartPlaying

encoding = ADI_ENCODE_NMS_32, maxspeed = 200

voxp.dsp

NMS Play 64 Kbit/s 2.0X

1.6

adiStartPlaying

encoding = ADI_ENCODE_NMS_64, maxspeed = 200

voxr.dsp

NMS Record 16 Kbit/s

2.15

adiStartRecording

encoding= ADI_ENCODE_NMS_16

voxr.dsp

NMS Record 24 Kbit/s

2.15

adiStartRecording

encoding= ADI_ENCODE_NMS_24

voxr.dsp

NMS Record 32 Kbit/s

2.15

adiStartRecording

encoding= ADI_ENCODE_NMS_32

voxr.dsp

NMS Record 64 Kbit/s

0.57

adiStartRecording

encoding= ADI_ENCODE_NMS_64

okiply.dsp

OKI Play
6 kHz

2.52

adiStartPlaying

encoding = ADI_ENCODE_OKI_24, maxspeed = 100

okiply.dsp

OKI Play
8 kHz

1.9

adiStartPlaying

encoding = ADI_ENCODE_OKI_32, maxspeed = 100

okiply.dsp

OKI Play
6 kHz 1.5X

3.7

adiStartPlaying

encoding = ADI_ENCODE_OKI_24, maxspeed = 150

okiply.dsp

OKI Play
8 kHz 1.5X

2.69

adiStartPlaying

encoding = ADI_ENCODE_OKI_32, maxspeed = 150

okiply.dsp

OKI Play
6 kHz 2.0X

4.41

adiStartPlaying

encoding = ADI_ENCODE_OKI_24, maxspeed = 200

okiply.dsp

OKI Play
8 kHz 2.0X

3.17

adiStartPlaying

encoding = ADI_ENCODE_OKI_32, maxspeed = 200

okirec.dsp

OKI Record 6 kHz

2.46

adiStartRecording

encoding = ADI_ENCODE_OKI_24

okirec.dsp

OKI Record 8 kHz

2.08

adiStartRecording

encoding = ADI_ENCODE_OKI_32

g726p.dsp

G.726 Play

6.5

adiStartPlaying

encoding = ADI_ENCODE_G726

g726r.dsp

G.726 Record

6.5

adiStartRecording

encoding = ADI_ENCODE_G726

wavply.dsp

WAVE Play 11 kHz 8-bit

1.95

adiStartPlaying

encoding = ADI_ENCODE_PCM11M8

wavply.dsp

WAVE Play 11 kHz 16-bit

1.65

adiStartPlaying

encoding = ADI_ENCODE_PCM11M16

wavrec.dsp

WAVE Record 11 kHz 8-bit

2.22

adiStartRecording

encoding = ADI_ENCODE_PCM11M8

wavrec.dsp

WAVE Record 11 kHz 16-bit

1.86

adiStartRecording

encoding = ADI_ENCODE_PCM11M16

tone.dsp

Tone Generator

0.88

adiStartDial

adiStartDTMF

adiStartTones

mf.dsp

MF detector

2.15

adiStartMFDetector

callp.dsp

Call Progress

0.79

adiStartCallProgress

precmask = 0

callp.dsp

Call Progress with Precise Tone

2.05

adiStartCallProgress

precmask != 0

dtmf.dsp

Tone Detector #1

0

adiStartToneDetector

toneid = 1, Uses background MIPS, not foreground.

callp.dsp

Tone Detector #2

0.50

(1 freq)

0.95

(2 freq)

adiStartToneDetector

toneid = 2

callp.dsp

Tone Detector #3

0.50

(1 freq)

0.95

(2 freq)

adiStartToneDetector

toneid = 3

adsir.dsp

ADSI receiver

2.00

adiStartReceivingFSK

adsix.dsp

ADSI transmitter

1.00

adiStartSendingFSK

imaply.dsp

IMA/DVI ADPCM Play 6 kHz

2.52

adiStartPlaying

encoding = ADI_ENCODE_IMA_24

imaply.dsp

IMA/DVI ADPCM Play 8 kHz

1.90

adiStartPlaying

encoding = ADI_ENCODE_IMA_32

imarec.dsp

IMA/DVI ADPCM Record 6 kHz

2.46

adiStartRecording

encoding = ADI_ENCODE_IMA_24

imaply.dsp

IMA/DVI ADPCM Record 8 kHz

2.08

adiStartRecording

encoding = ADI_ENCODE_IMA_32

The following table shows the MIPS consumed by the echo cancellor (echo.dsp) at various filter lengths and adapt values:
DSP File

Filter Length (ms)

Adapt Time (ms)

MIPS

echo.dsp

2

100

1.12

echo.dsp

2

200

.99

echo.dsp

2

400

.93

echo.dsp

2

800

.90

echo.dsp

4

100

1.46

echo.dsp

4

200

1.28

echo.dsp

4

400

1.16

echo.dsp

4

800

1.10

echo.dsp

6

100

1.89

echo.dsp

6

200

1.65

echo.dsp

6

400

1.52

echo.dsp

6

800

1.45

echo.dsp

8

100

2.24

echo.dsp

8

200

1.78

echo.dsp

8

400

1.58

echo.dsp

8

800

1.48

echo.dsp

10

100

2.60

echo.dsp

10

200

2.05

echo.dsp

10

500

1.75

echo.dsp

10

1000

1.65

echo.dsp

16

100

3.68

echo.dsp

16

200

2.87

echo.dsp

16

400

2.44

echo.dsp

16

800

2.23

echo.dsp

20

100

4.44

echo.dsp

20

200

3.39

echo.dsp

20

400

2.76

echo.dsp

20

800

2.57



Table of Contents Index NMS Glossary Previous Page Next Page Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2000, Natural MicroSystems, Inc. All rights reserved.