Guest

Support

Option to Ignore b-line in Favor of Codec for Bandwidth Allocation

Table Of Contents

Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Contents

Prerequisites for Implementing Policies

Restrictions

Information About Calculating Bandwidth in SIP Calls

Configuring Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Configuration Examples of Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Configuring Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation


Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation


In a Session Initiation Protocol (SIP) message exchange, Cisco Unified Border Element (SP Edition) uses the parameters defined in the SDP bandwidth-fields (b-line) for calculating the media pinhole bandwidth. During deployment, there might be some endpoints for which it would be better to set the media pinhole bandwidth using a compressor/decompressor (CODEC) definition in the Session Description Protocol (SDP) messages instead of using b-line.

The Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation feature allows you to set a media bandwidth flag in a Call Admission Control (CAC) policy entry to ignore the b-line and use CODEC for calculating the media pinhole bandwidth.


Note For Cisco IOS XE Release 2.4 and later, this feature is supported in the unified model only.


Cisco Unified Border Element (SP Edition) was formerly known as Integrated Session Border Controller and may be commonly referred to in this document as the session border controller (SBC).

For a complete description of commands used in this chapter, refer to the Cisco Unified Border Element (SP Edition) Command Reference: Unified Model at http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html.

For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or a Cisco IOS master commands list.

Feature History for Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Release
Modification

Cisco IOS XE Release 2.4

This feature was introduced on the Cisco ASR 1000 Series Aggregation Services Routers along with support for the unified model.


Contents

This chapter contains the following sections:

Prerequisites for Implementing Policies

Restrictions

Information About Calculating Bandwidth in SIP Calls

Configuring Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Configuration Examples of Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Prerequisites for Implementing Policies

The following prerequisites are required to implement Cisco Unified Border Element (SP Edition) policies:

Before implementing policies, Cisco Unified Border Element (SP Edition) must already be configured. See the procedures described in Chapter 2, "Configuring Cisco Unified Border Element (SP Edition)."

Restrictions

H.323 protocols are not supported in Cisco IOS XE Release 2.4 and earlier.

Information About Calculating Bandwidth in SIP Calls

The SBC analyzes each media stream in a call and calculates the bandwidth required. For SIP calls containing SDP, the SBC looks for any b=CT, b=AS, or b=TIAS lines. If present, these lines are used to calculate the baseline bandwidth required for the media stream.

If these lines are not present, the SBC calculates the baseline bandwidth by inspecting each of the possible CODECs in the stream and calculating the baseline bandwidth based on them. The bandwidth allocated per CODEC is configurable.

The SBC then adjusts the baseline bandwidth to take into account any necessary packetization or Real Time Control Protocol (RTCP) bandwidth overheads.

Certain endpoints do not conform to the bandwidth requirements that the SBC calculates for a media stream, for example:

Endpoints that start renegotiating the bandwidth for a call can start using additional bandwidth before the renegotiation is complete.

Endpoints that request an incorrect bandwidth for secure media using the b-line, because they do not take into account the increased payload size required for the encryption.

Endpoints that transmit data in multiple formats in parallel (such as high and low definition video using different payloads in a single stream) without taking into account all formats when calculating the bandwidth requirements.

To allow interoperation with these endpoints without dropping packets, the SBC allows the per-CODEC bandwidth to be configurable. This allows the SBC administrator to set a suitably large maximum value for CODECs supported by these endpoints. This is sufficient because the endpoints in question use a well known set of CODECs.

However, if the endpoint includes an explicit bandwidth (b-) line, then the SBC uses that to calculate the bandwidth instead of the maximum value. The Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation feature uses the media bandwidth-fields ignore command to set a media flag in a Call Admission Control (CAC) policy entry to ignore the b-line and use CODEC to calculate the bandwidth.

Configuring Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

This task configures the Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation feature.

SUMMARY STEPS

1. configure

2. sbc service-name

3. sbe

4. cac-policy-set policy-set-id

5. first-cac-table table-name

6. cac-table table-name

7. table-type {policy-set | limit {list of limit tables}}

8. entry entry-id

9. cac-scope {list of scope options}

10. media bandwidth-fields ignore

11. action [next-table goto-table-name | cac-complete]

12. exit

13. exit

14. complete

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

Router# configure

Enables global configuration mode.

Step 2 

sbc service-name

Example:

Router(config)# sbc mysbc

Enters the mode of an SBC service.

Use the service-name argument to define the name of the service.

Step 3 

sbe

Example:

Router(config-sbc)# sbe

Enters the mode of an SBE entity within an SBC service.

Step 4 

cac-policy-set policy-set-id

Example:

Router(config-sbc-sbe)# cac-policy-set 1

Enters the mode of CAC policy set configuration within an SBE entity, creating a new policy set if necessary.

Step 5 

first-cac-table table-name

Example:

Router(config-sbc-sbe-cacpolicy)# first-cac-table StandardListByAccount

Configures the name of the first policy table to process when performing the admission control stage of policy.

Step 6 

cac-table table-name

Example:

Router(config-sbc-sbe-cacpolicy)# cac-table StandardListByAccount

Enters the mode for configuration of an admission control table (creating one if necessary) within the context of an SBE policy set.

Step 7 

table-type {policy-set | limit {list of limit tables}}

Example:

Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set

Configures the table type of a CAC table within the context of an SBC policy set.

The list of limit tables argument controls the syntax of the match-value fields of the entries in the table. Possible available Limit tables are:

account—Compare the name of the account.

adj-group—Compare the name of the adjacency group.

adjacency—Compare the name of the adjacency.

all—No comparison type. All events match this type.

call-priority—Compare with call priority.

category—Compare the number analysis assigned category.

dst-account—Compare the name of the destination account.

dst-adj-group—Compare the name of the destination adjacency group.

dst-adjacency—Compare the name of the destination adjacency.

dst-prefix—Compare the beginning of the dialed digit string.

event-type—Compare with CAC policy event types.

src-account—Compare the name of the source account.

src-adj-group—Compare the name of the source adjacency group.

src-adjacency—Compare the name of the source adjacency.

src-prefix—Compare the beginning of the calling number string.

Features can be enabled or disabled per adjacency group through CAC configuration the same way this is done per individual adjacencies. The adj-group table type matches on either source or destination adjacency group.

When the policy-set keyword is specified, use the cac-scope command to configure the scope within each entry at which limits are applied in a CAC Policy Set table.

Step 8 

entry entry-id

Example:

Router(config-sbc-sbe-cacpolicy-
cactable)# entry 1

Enters the mode to create or modify an entry in an admission control table.

Step 9 

cac-scope {list of scope options}

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # cac-scope src-adjacency

Choose a scope at which CAC limits are applied within each entry in a Policy Set table.

Scope options are:

adj-group—Events that are from members of the same adjacency group.

call—Scope limits are per single call.

category—Events that have same category.

dst-account—Events that are sent to the same account.

dst-adj-group—Events that are sent to the same adjacency group.

dst-adjacency—Events that are sent to the same adjacency.

dst-number—Events that have the same destination.

global—Scope limits are global

src-account—Events that are from the same account.

src-adj-group—Events that are from the same adjacency group.

src-adjacency—Events that are from the same adjacency.

src-number—Events that have the same source number.

Step 10 

media bandwidth-fields ignore

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # media bandwidth-fields ignore

Sets the media flag to ignore the b-line and use CODEC to calculate the baseline bandwidth required for the media stream.

Step 11 

action [next-table goto-table-name | cac-complete]

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # action cac-complete

Configures the action to perform after this entry in an admission control table. Possible actions are:

Identify the next CAC table to process using the next-table keyword and the goto-table-name argument.

Stop processing for this scope using the cac-complete keyword.

Step 12 

exit

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # exit

Exits from entry to cactable mode.

Step 13 

exit

Example:

Router(config-sbc-sbe-cacpolicy-cactable)# exit

Exits from cactable to cacpolicy mode.

Step 14 

complete

Example:

Router(config-sbc-sbe-cacpolicy-cactable-entry) # complete

Completes the CAC policy set when you have committed the full set.

Configuration Examples of Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

This section provides the followingconfiguration example:

Configuring Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

Configuring Option to Use CODEC Instead of Bandwidth-Field for Media Bandwidth Allocation

The following example shows how to set the media flag to ignore the b-line and use CODEC to calculate the baseline bandwidth required for the media stream:

Router# configure
Router(config)# sbc mysbc
Router(config-sbc)# sbe
Router(config-sbc-sbe)# cac-policy-set 1
Router(config-sbc-sbe-cacpolicy)# first-cac-table StandardListByAccount
Router(config-sbc-sbe-cacpolicy)# cac-table StandardListByAccount
Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
Router(config-sbc-sbe-cacpolicy-cactable-entry)# cac-scope src-adjacency
Router(config-sbc-sbe-cacpolicy-cactable-entry)# media bandwidth-fields ignore
Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# exit
Router(config-sbc-sbe-cacpolicy-cactable)# exit
Router(config-sbc-sbe-cacpolicy-cactable-entry)# complete