As an Amazon Associate I earn from qualifying purchases.

IOS Gateway DSP Farm Configuration

Updated 8/3/2011:
One of the tasks that you should be able to do quickly on the CCIE Voice lab is configuring a DSP Farm and enabling SCCP gateway mode.  It's almost certain that you'll need to do that on the lab, and you won't want to waste any time on this task.

DSP Farm Calculations

These calculations are based on the PVDM2 that should be found on routers within the CCIE Voice lab currently.

Each PVDM2-16 = 1 DSP.  Each DSP can perform 240MIPS (millions of instructions per second).

There are various functions that consume DSP resources. Voice bearer channels and transcoders are capable of sharing the same DSP.  However, the conference bridge resources cannot play nice and share.

Bearer channels and transcoders consume resourced based on the codec complexity:

g711u/g711a = 15 MIPS per call
g729a/g729ab = 30 MIPS per call
g729/g729b = 40 MIPS per call

Conference bridge calls consume 120 MIPS per call, regardless of the complexity.

So, to better understand the maximum sessions possible for each media resource type, lets review some examples:

Assume a PVDM2-32, which has 2 DSPs and capable of 480 MIPs.

dspfarm profile 10 conference
  codec g711
  codec g729
  max sessions 4   ( 4 calls at 120 MIPS each exhausts both DSPs )

OR

dspfarm profile 6 transcode
  codec g711u
  codec g729r8
  max sessions 12   (  assume the worst here, g729r8 = 40 MIPs per call )

OR

NOTE:  Gotcha coming here..

When the router makes calculations involving bearer channels, it uses G711 ( 15 MIPS per call ) as the basis for the calculation.  However, if G729 calls are used in reality, the DSP resources could be over-subscribed if you do not account for this yourself.  Three G729 calls will actually consume 120 MIPs.  Which leaves only 120 MIPs on the same DSP for transcoding - not 195 MIPs as the best-case calculation would lead you to believe.  The router will let you configure more than 120 MIPs of transcoding, but be aware that this will create problems if G729 is actually used for the bearer lines.

controller t1 0/0/0
  pri-group t 1-3  ( assumes best case, G711 or 15 MIPS per call  for bearer channels )

DSP Farm Configuration Sample

conf t
!
voice-card 1
  no dspfarm
  dsp services dspfarm
!
!  Note that version 5.0 is needed for an RSVP call agent within MTP
sccp local FastEthernet 0/0
sccp ccm 10.100.1.1 identifier 1 version 5.0
sccp ccm 10.100.1.2 identifier 2 version 5.0
sccp ccm 10.100.1.3 identifier 3 version 5.0
sccp ip precedence 3
sccp
!
sccp ccm group 666
  associate ccm 1 priority 1
  associate ccm 2 priority 2
  associate ccm 3 priority 3
  !  IOS Enhanced Conference Bridge
  associate profile 10 register HQ_CFB000100020003
  !  IOS Enhanced Transcoder
  associate profile 6 register HQ_MTP000100020044
  keepalive retries 5
  switchover method immediate
  switchback method immediate
  switchback interval 15
!
dspfarm profile 6 transcode
  codec g711ulaw
  codec g711alaw
  codec g729ar8
  codec g729abr8
  maximum sessions 4
  associate application SCCP
  !  VERY IMPORTANT, don't forget "no shutdown"
  no shutdown
!
dspfarm profile 10 conference
  codec g711ulaw
  codec g711alaw
  codec g729ar8
  codec g729abr8
  codec g729r8
  codec g729br8
  maximum sessions 1
  associate application SCCP
  !  VERY IMPORTANT, don't forget "no shutdown"
  no shutdown
!


PVDM DSP Usage Tips

Reposted from CCBOOTCAMP Forum,

This is the best summary of DSP tips that I've found yet.  Full kudos to CIARF for posting this!


http://www.cisco.com/en/US/prod/collateral/modules/ps3115/ps6024/prod_qas0900aecd8016c6ad_ps5855_Products_Q_and_A_Item.html

PVDM2-16 is one DSP chip (32=2, 48=3, 64=4)
PVDM2-8 is one DSP chip but less processing capacity than the DSP on the 16.
PVDM2-8 contains one TNETV2505GGW DSP;
other PVDM2 modules contain 1 to 4 TNETV2510GGW DSPs (referred to C5510 in command outputs)

High Complexity Codecs
G.723.1, G.728, G.729, G.729b, GSM-EFR and Modem Relay

Medium Complexity Codecs
G.711 (see G711 note), g.729a, G.729ab, G.726, GSM-FR and Fax Relay

You can configure each DSP separately as either medium complexity, high complexity, or flex mode (C5510 only). Configure with voice-card x. Then codec complexity (flex | high | medium). The DSP treats all calls according to its configured complexity, regardless of the actual complexity of the codec of the call. A resource with configured complexity equal or higher than the actual complexity of the incoming call must be available, or the call will fail. For example, if a call requires a high-complexity codec but the DSP resource is configured for medium complexity mode, the call will fail. However, if a medium-complexity call is attempted on a DSP configured for high complexity mode, then the call will succeed and Cisco IOS will allocate a high-complexity mode resource.

Flex mode has an advantage when calls of multiple codecs must be supported on the same hardware because flex mode can support more calls than when the DSPs are configured as medium or high complexity. ***However, flex mode does allow oversubscription of the resources, which introduces the risk of call failure if all resources are used. With flex mode it is possible to have fewer DSP resources than with physical TDM interfaces. ***

G711 Note:
----------
Compared to medium or high complexity mode, flex mode has the advantage of supporting the most G.711 calls per DSP. In medium complexity mode a DSP can support max 8 G.711 calls, while flex mode supports max 16 G.711 calls.

Note IP Phones and Unity support G711 and G729a (no other g729 variant.) Cisco Unity has support for accepting calls with G.729a, but the codec is implemented in software and is CPU-intensive.

PVDM2-8 Signaling
- 8 calls per DSP for G711 (flex mode only)
- 4 calls for other medium and all high complexity codecs.
- 120 MIPS in FLEX Mode

PVDM2-16 - Signaling
- 16 calls for G711 (flex mode only)
- 8 calls for the other medium complexity codecs and g711 in medium complexity mode
- 6 calls per DSP for high complexity codecs
- 240 MIPS in flex mode
- G711 uses 15 MIPS per call (240 MIPS / 15 MIPS per call = 16 calls per DSP)
- The codecs under the High Complexity category use 40 MIPS per call.
- The codecs under the medium complexity category use 30 MIPS per call.
- The D channel doesn't count for resources
- Each FXO or FXS port takes 1 channel.

MTP
- CCM SW MTP is G711 only (all versions including CCM7.x)
- IOS SW MTP
- Supports G711 and any G729 variant. But can choose only one
codec on the dspfarm profile at a time.
- Need the capacities. (500 for a 2811?)
- IOS HW MTP
- 16 G711 sessions per DSP
- 6 G729 sessions per DSP

PVDM2-16 - Conferencing
- IOS 12.4(15)T has new capability for 32 participants per conference. G711 must be only codec in dspfarm profile. Use the maximum conference-participants 8, 16 or 32 command.
- If use 32 participants then only get 2 G711 max sessions (conferences.)
- If use 16 participants, get 4 G711 max sessions
- If use 8 participants, get 8 G711 conferences
- If configure any of the g729s in dspfarm profile (medium or high complexity), get 8 or 16 participants per conference. (if 16, get one session. If 8, get two sessions)
- Each DSP supports 2 conferences (of 8 participants each) if G.729 is CONFIGURED on the dspfarm.
(even if all participants on all conferences are using G.711.) When configured to accept both G.711 and G.729 calls, a single DSP provides 2 conferences because it is also reserving its resources for performing transcoding of streams.
- Can't share conference on DSP with xcode or voice signaling. DSPs that are configured through Cisco IOS as conference resources will load firmware into the DSPs that is specific to conferencing functionality only, and these DSPs cannot be used for any other media feature.
- Config max-sessions for 2 or 8 (depending on configured codec). Doesn't
make sense to configure less--wasting resources. Again, the figures are for a 1 DSP PVDM2-16. Scale it up for others.

PVDM2-16 - Transcoding
- Can share Transcoding with voice signaling.
- 8 Sessions - G711a/u to G729a/ab (must turn off high complexity g729 and g729b to get 8 sessions) in dspfarm profile.
- 6 sessions - G711a/u to G729 / G729b

Universal Transcoding with capacities is given in:
http://www.cisco.com/en/US/docs/ios/12_4t/12_4t15/it_unitr.html

If source phone is g711 to a POTS (or T1 or PRI) it will use 15 credits.
If source phone is g729 to a POTS it will use 30 or 40 credits depending on codec complexity. This includes the source phone locally (could be a SIP Phone doing g729) or a source phone over the WAN at g729r8 doing TEHO. In the later case, no transcoding at HQ or the TEHO location will be used. It just takes more processing power to decode g729 back to analog.
More Information
Configuring Enhanced Conferencing and Transcoding and for Voice Gateway Routers
CCBootCamp Forum, CIARF Post

7 comments:

  1. thank you , this saved me at least 3 hrs of searching , I always thought that the only way to make the calculation is via the site of cisco

    ReplyDelete
  2. Hummm , I'm a little bit confused

    The number of credits consumed for a particular conference is a function of the number of participants and the codec used in the conference. A DSP farm configuration in Cisco IOS specifies which codecs may be accepted for the farm. A single DSP (PVDM2-16) with dspfarm configuration to accept only G.711 calls provides 8 conferences, each with a maximum of 8 participants. When configured to accept both G.711 and G.729 calls, a single DSP provides 2 conferences because it also reserves its resources for transcoding of the streams.

    http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/srnd/8x/media.html

    so 120 mips is not always reserved , it my be more or less !
    what do you think ?
    Regards

    ReplyDelete
  3. another interesting thing
    Q. Can conferencing share the resources with transcoding or voice calls of a single DSP?
    A. No. Conferencing needs a dedicated DSP resource. If a DSP is assigned for a conferencing session, then it cannot be used for transcoding or voice call initiations or terminations. Transcoding and voice calls can share the resource of a single DSP, however. Note that conferencing needs a dedicated DSP, but not a dedicated PVDM2 module. For example, PVDM2-64 contains 4 DSPs; if one of them is used for conferencing, the other three can still be used for other purposes.

    http://www.cisco.com/en/US/prod/collateral/modules/ps3115/ps6024/prod_qas0900aecd8016c6ad_ps5855_Products_Q_and_A_Item.html

    ReplyDelete
  4. @elhallak - I'm going to review this material again more closely and respond as soon as I can (heading to work now). Thanks for checking my posts for accuracy!

    ReplyDelete
  5. @elhallak Agreed, from the post above "There are various functions that consume DSP resources. Voice bearer channels and transcoders are capable of sharing the same DSP. However, the conference bridge resources cannot play nice and share." <-- This matches your Q/A example above.

    This is certainly a point that is very likely to be tested in CCIE Voice.

    ReplyDelete
  6. "Hummm , I'm a little bit confused

    The number of credits consumed for a particular conference is a function of the number of participants and the codec used in the conference. A DSP farm configuration in Cisco IOS specifies which codecs may be accepted for the farm. A single DSP (PVDM2-16) with dspfarm configuration to accept only G.711 calls provides 8 conferences, each with a maximum of 8 participants. When configured to accept both G.711 and G.729 calls, a single DSP provides 2 conferences because it also reserves its resources for transcoding of the streams.

    http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/srnd/8x/media.html

    so 120 mips is not always reserved , it my be more or less !
    what do you think ?"

    Can you explain more about what seems confusing please?

    ReplyDelete