DSPs - how they work and how
to size them - Part I By David Bombal
I have often seen that Digital Signal Processors (DSPs) cause a
lot of confusion. Hopefully, the next series of articles will give you the
insight to know what they are used for and how to spec them in a
router. You will also learn how to configure the DSPs for
various functions.Uses of DSPs:
DSPs are used for the following functions:
- Voice Termination
- Hardware Conferencing
- Transcoding
- Media Termination Points
We will discuss all of these uses in this and upcoming
newsletters.
Before discussing each function, it is important to
understand codec complexity.
Codec Complexity: The two codecs we will
concentrate on here are G711 and G729 as they are the codecs
supported by Cisco's Call Manager IP Phones. For a brief overview of codecs, please go here:
Codec Overview
Codecs are generally put into two categories - medium and
high complexity. The complexity of a codec is determined by the
amount of processing the DSP needs to do to create the
packeterized voice.
Medium Complexity Codecs: These codecs use less
resources to produce packeterized voice than high complexity
codecs:
High Complexity Codecs: These codecs comsume a lot of
resources to produce packeterized voice.
Flex Mode: Originally, you had to dedicate DSPs to either medium or high
complexity. The good news is that on the new C5510 chipsets
(more common these days) the requirement to specify the codec
complexity at configuration time has been eliminated.
We now
have a mode called flex mode which allows the DSPs on the
fly to support either medium or high complexity. A DSP in flex
mode accepts a call of any supported codec type, as long as it
has available processing power. The overhead of each call is
tracked dynamically via a calculation of processing power in
millions of instructions per second (MIPS). Cisco IOS performs a
MIPS calculation for each call received and subtracts MIPS
credits from its budget whenever a new call is initiated.
|
Medium
Complexity |
High
Complexity |
Flex mode |
|
G.711
(a-law, mu-law)
G.729a
G.729ab
|
G.729
G.729b
G.728
G.723.1 (32K, 24K, 16K)
G.723.1a (5.3K, 6.3K)
GSM-EFR
Modem relay |
At 15 MIPS per call:
• G.711 (a-law, mu-law)
• Fax/modem pass-through
• Clear channel
At 30 MIPS per call:
• G.729
• G.729 (a, b, ab)
• G.726 (32K, 24K, 16K)
• GSM-FR
• Fax relay
At 40 MIPS per call:
• G.728
• G.723.1 (32K, 24K, 16K)
• G.723.1a (5.3K, 6.3K)
• GSM-EFR
• Modem relay |
In flex mode, note the following:
- 15 MIPS per call for G.711alaw/ulaw
- 30 MIPS per call for G.729/G.729a/G.729b/G.729ab
PVDMS:
High-Density Packet Voice digital signal processor (DSP)
Modules (PVDM2) enable Cisco Integrated Services Routers (ISRs)
to provide the functions listed above. PVDMS basically house the
DSPS.
The high-density packet voice DSP modules are available in
five versions: PVDM2-8, PVDM2-16, PVDM2-32, PVDM2-48, and
PVDM2-64.
Here are some PVDMS - top and bottom views:
| |
Top |
Bottom |
|
PVDM2-64 |
|
|
|
PVDM2-48 |
|
|
|
PVDM2-32 |
|
|
|
PVDM2-8 and PVDM2-16 |
|
|
Below is a table showing the
number of DSPs per PVDM and how
many calls can be made per DSP:
|
Name |
Description1 |
Number of DSPs |
Maximum Channels in
G.711 |
Maximum Channels in
High Complexity
Codecs |
Maximum Channels in
Medium Complexity
Codecs |
|
PVDM2-8 |
8-Channel Packet
Fax/Voice DSP Module |
1* |
8 |
4 |
4 |
|
PVDM2-16 |
16-Channel Packet
Fax/Voice DSP Module |
1** |
16 |
6 |
8 |
|
PVDM2-32 |
32-Channel Packet
Fax/Voice DSP Module |
2 |
32 |
12 |
16 |
|
PVDM2-48 |
48-Channel Packet
Fax/Voice DSP Module |
3 |
48 |
18 |
24 |
|
PVDM2-64 |
64-Channel Packet
Fax/Voice DSP Module |
4 |
64 |
24 |
32 |
|
|
|
A PVDM2 connects to the host through 80-pin single in-line
memory module (SIMM) slots. The module is field insertable and
removable. Below an example shows how PVDM2 is plugged into
PVDM2 SIMM slots on the Cisco high-density digital voice network
modules.
Voice Termination:
When a router receives a call from the PSTN on a PRI, BRI or
FXO port and the call is going to an IP phone, the router will
require DSPs to terminate the VoIP call and PSTN call. The DSPs
will be used to convert the traditional voice call into a
packeterized VoIP call and vice versa.
Thus, it applies to a call that has two call legs, one leg on
a time-division multiplexing (TDM)
interface and the second leg on a Voice over IP (VoIP)
connection. The TDM leg must be terminated by hardware that
performs coding/decoding and packetization of the stream. This
termination function is performed by digital signal processor (DSP)
resources residing in the same hardware module, blade, or
platform.
The number of supported calls depends on the computational
complexity of the codec used for a call and also on the
complexity mode configured on the DSP. Cisco IOS enables you to
configure a complexity mode on the hardware module. Some
hardware platforms have two complexity modes, medium complexity
and high complexity, while other hardware platforms have medium
and high complexity as well as flex mode.
Calulating the required
number of DSPs (G.711 Voice Termination):
I think that the easiest way to calculate the number of DSPs
required in a router is to use the DSP Calculator on Cisco's
website.
Here is a demonstration of how to use the DSP calculator on a
2811 with a PRI:
Step 1:
Choose your Router & IOS
Click Next

Step 2:
Choose the Voice Interface Cards (VICs) that this router is
going to house.
Also choose the number of channels to enable and the VoIP
codec that is going to be used.
In this example we have done the following:
1) 1 x PRI (E1)
2) Enable all 30 channels
3) We are only going to use G711 calls

Click Submit
Step 3:
RESULT!
In the output below, you can see that the minimum DSPs required
for this configuration is 2 which requires either of the
following:
1 X PVDM2-32 or 2 X PVDM2-16
However, it is better (if it can be afforded) to put more DSPs
in, as they could be used for more capacity later. Don't forget
that if the codec is changed to G729 is will require more
processing power and the extra DSPs could also be used for
hardware conferencing or transcoding.

CLI Output:

G729 example (Voice
Termination):
Step 1:
Choose your Router & IOS
Click Next

Step 2:
Choose the Voice Interface Cards (VICs) that this router is
going to house.
Also choose the number of channels to enable and the VoIP
codec that is going to be used.
In this example we have done the following:
1) 1 x PRI (E1)
2) Enable all 30 channels
3) We are only going to use G729 calls

Click Submit
Step 3:
RESULT!
In the output below, you can see that the minimum DSPs required
for this configuration is now 4 which requires either of the
following:
one PVDM2-64
or
two PVDM2-32
or
one PVDM2-16 + one PVDM2-48

Next newsletter:
We will discuss how to configure DSPs to perform transcoding.
Resources and References:
DSP Calculator
|