Implementing Transcoding
Transcoding is the process of translating a media stream encoded using one codec into a media stream encoded using another codec. For example, translating a media stream encoded as Pulse Code Modulation u-law (PCMU) into one encoded as ITU-T G.726-32.
The primary reason for transcoding configurations is to configure the capabilities of external media transcoding devices when these devices cannot be discovered automatically. In-band auto discovery of transcoder capabilities is currently not supported. Therefore, this step must be done when configuring all connections to all current remote transcoding devices.
Note Transcoding configurations can be skipped altogether if the described reason does not apply.
Media gateways are allowed to connect whether or not configuration has been supplied for them. To help avoid configuration errors, the signaling border element (SBE) logs a warning if an incoming connection is received from a media gateway that is not a data border element (DBE) and does not have transcoding configured.
Note The Transcoding feature is supported in the unified model for Cisco IOS XE Release 2.5 and later.
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 the 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 Implementing SBC Transcoding
|
|
Cisco IOS XE Release 2.5
|
This feature was introduced on the Cisco ASR 1000 Series Aggregation Services Routers.
|
Cisco IOS XE Release 3.3S
|
The Voice Transcoding Per Adjacency Statistics feature was added to the Cisco ASR 1000 Series Aggregation Services Routers.
|
Cisco IOS XE Release 3.11S
|
The Blended Transcoding feature was added to the Cisco ASR 1000 Series Aggregation Services Routers.
|
Information About Transcoding
Transcoding is the process of translating a media stream encoded using one codec into a media stream encoded using another codec. For example, translating a media stream encoded as PCMU into one encoded as G.726-32.
Transcoding is supported using external digital signal processor (DSP) hardware. A Cisco MGX 8880 Media Gateway can be used to provide the transcoding function for one or more SBCs.
The SBC supports two types of transcoding:
Transcoding After Rejection
The SBC automatically brings the transcoding device into use for any call requiring transcoding between these codecs, as long as the Call Admission Control (CAC) policy configuration does not preclude the transcoder service from being supplied for the call. When a call that requires transcoding is set up, the SBE goes through the following steps:
-
Receives an initial signaling request from the calling endpoint. This triggers the SBC to perform initial call setup on the incoming and outgoing local media termination points. The SBC then forwards the set up request towards the callee.
-
Receives a response from the called endpoint that indicates that none of the codecs in the initial request are acceptable. These responses include:
– 415—Unsupported media type (SIP)
– 488—Not acceptable here (SIP)
– Failure to identify common codec during Terminal Capability Exchange procedure of H.245 protocol.
This triggers the SBC to bring a transcoder into the call that is inserted in the media path between the incoming and outgoing local media terminations. A new request is sent to the called endpoint, indicating the new codec type generated by the transcoder.
-
SBE may then have to iterate through the list of codecs the transcoder supports until it finds one that is acceptable to the called endpoint. When this is done, the call is connected and media transmission begins.
Figure 40-1 shows where the transcoder sits in the network, and the path taken by the media in a transcoded call.
Figure 40-1 Transcoding Configuration
Note Although Figure 40-1 shows two DBEs, transcoding is possible with a single DBE. With a single DBE, the media flows through the DBE twice, once on its way from the sending endpoint to the transcoder and a second time as it flows from the transcoder to the receiving endpoint.
For the Session Border Controller (SBC) to program the transcoder, it must be registered. The transcoding device acts as an H.248 media gateway, so it needs to be configured with the IP address and port of the SBE or SBC to connect to. The SBE or SBC acts as an H.248 Media Gateway Controller. See the documentation for your transcoder device for notes on how to do this. The documentation for the Cisco MGX 8880 Media Gateway can be found at:
http://www.cisco.com/en/US/docs/switches/wan/mgx/software/mgx_r5.0/data/configuration/guide/scg.html
In addition, the SBE must have the following specific configuration:
-
An H.248 control address and port must be configured (using the
sbe control address ipv4
and
sbe control address h248 port
commands). By default, this is on port 2944, and it is the address and port to which the transcoder must connect.
-
An explicit media gateway needs to be configured (using the
sbe media-gateway ipv4
command). The explicit media gateway must have its list of supported codecs defined so that the SBC knows which codecs the transcoder can translate between, and it must be identified as a transcoder (using the
sbe media-gateway ipv4 codecs
and
sbe media-gateway ipv4 transcoder
commands).
-
The
show sbc sbe media-gateway-associations
command can be used to check that the transcoder has correctly registered with the SBE. If this has happened, the transcoder should appear in the list of known media gateways with an active association.
For configuration step information, see the “Configuring Transcoding After Rejection” section.
Troubleshooting Tip for Media-Timeout Transcoded Call Using a VXSM card
A Cisco MGX 8880 equipped with one or more Cisco Voice Switch Service Module (VXSM) card sets can operate as a media gateway. In a network where the SBC uses the Cisco MGX 8880 as a transcoding device to act as an H.248 media gateway, some additional configuration is required on the VXSM card for media-timeout to work properly in a transcoded call.
The following additional steps need to be configured on the VXSM card in the Cisco MGX 8880 Media Gateway:
Step 1 Enable the RTCP control with the following command.
InteropMGX.4.VXSM.a > cnfdspparam -control 1
Step 2 Set the RTCP timer control to startRtpOrRtcpPktRcvd with the following command:
InteropMGX.4.VXSM.a > cnfdspparam -rtcptm 3
Step 3 Verify that the settings are correct using the following command to show a list of DSP parameters:
InteropMGX.4.VXSM.a > dspdspparam ====================================================== ====================================================== SID Payload Type : decimal RTCP Control : true <=== RTCP control enabled RTCP Interval(milliseconds) : 5000 RTCP Interval Multiplier : 5 DTMF Power Level (0.1 dBm) : -120 DTMF Power Twist (0.1 dB) : 0 RTCP Timer Control : startRtpOrRtcpPktRcvd <=Timer Control properly set RTCPXR Report Frequency : 1 VQM Default Minimum Gap : 16 RTCPXR external R factor : 127
For more information on the VXSM card, see the “VXSM as a Transcoding Gateway” chapter in the Cisco Voice Switch Service Module (VXSM) Configuration Guide Release 5.5 at:
http://www.cisco.com/en/US/docs/switches/wan/mgx/software/mgx_r5.5/voice/vxsm/configuration/guide/config5.html
Codec Filtering
The SBC allows you to restrict which codecs a particular call, caller and callee are allowed to use by whitelisting certain codecs. Initially all recognized codecs are on the whitelist. If a codec is requested which is absent from the call, caller, or callee codec whitelist, then the call still proceeds, but the forbidden codecs are removed from the offer and media gate configuration.
By supporting caller and callee codec lists, the SBC is able to make more intelligent transcoding decisions. If the codec support of either the calling or the called endpoint is known, then setting the caller and/or callee lists in a CAC policy is appropriate. However it may be that other considerations, such as the source adjacency, will affect the codec decision, in which case the per-call codec list can still be used.
For example, if the caller and callee codec lists are set to 'A and B', then all calls would use codec A. However, if a call had come across a transit network X (as indicated by the source adjacency) that only supported codec B, then the user could have an extra policy matching on source adjacency X, setting the per-call codec list to B. Calls crossing network X would then be forced to use codec B.
You can also limit the minimum packetization period of each codec, by configuring a value for the lowest acceptable minimum packetization period for each permitted codec. If a session is requested with a packetization period below this limit, the call still proceeds, but SBC increases the packetization period to the configured minimum value.
For configuration step information, see the “Configuring Codec Filtering Transcoding” section.
Configuring Transcoding After Rejection
In this configuration area, the user supplies a configuration for a list of remote media gateways that may need to be managed by the SBE. This is not required when transcoding is not needed.
The primary reason for transcoding configurations is to configure the capabilities of external media transcoding devices when these devices cannot be discovered automatically. In-band auto-discovery of transcoder capabilities is currently not supported. Therefore, this step must be done when configuring all connections to all current remote transcoding devices.
Note Transcoding configurations can be skipped if the described reason does not apply.
By default, media gateways are allowed to connect whether or not configuration has been supplied for them. To help avoid configuration errors, the SBE logs a warning if an incoming connection is received from a media gateway that is not a DBE and does not have transcoding configured.
The basic steps for implementing transcoding are as follows:
1. Configure the IP address, port, and transport protocol for H.248 media gateway controller on SBC. This step may not be required if the Media Gateway Controller has already been configured.
2. Configure the media gateway IP address.
3. Configure the codecs to be transcoded (for example, between ITU-T G.711 ulaw and ITU-T G.729A).
4. Specify the media gateway as a transcoder.
5. Activate SBE.
This task implements transcoding for SBC.
Once configured, the SBC automatically brings the transcoding device into use for any call requiring transcoding between the codecs as long as the call admission control (CAC) policy configuration does not preclude the transcoder service from being supplied for the call using the
transcode-deny
command (See the Configuring Call Admission Control Policy Sets, CAC Tables, and Global CAC Policy Sets section in the
“Implementing Cisco Unified Border Element (SP Edition) Policies”
module).
Note In an H.323 adjacency configuration, you must use the h245-tunnel disable command for H.323 FastStart transcoded calls.
SUMMARY STEPS
1.
configure terminal
2.
sbc
service-name
3.
sbe
4.
control address h248 index
index-number
5. port port-number
6.
ipv4
ipv4_IP_address
7.
transport [
transport-type
]
8.
exit
9. media-gateway ipv4 IPv4-IP-address
10.
codecs
codec-list
11.
transcoder
12.
exit
13.
activate
14.
end
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
Router# configure terminal
|
Enables global configuration mode.
|
Step 2
|
sbc
service-name
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
Router(config-sbc)# sbe
|
Enters the mode of an SBE entity within a SBC service.
|
Step 4
|
control address h248 index index-number
Router(config-sbc-sbe)# control address h248 index 0
|
Configures an SBE to use a given IPv4 H.248 control address
|
Step 5
|
port port-number
Router(config-sbc-sbe-ctrl-h248)# port 2000
|
Configures an SBE to use a given IPv4 H.248 port for H.248 communications.
|
Step 6
|
ipv4
ipv4-IP-address
Router(config-sbc-sbe-ctrl-h248)# ipv4 1.1.1.1
|
Configures an SBE to use a given IPv4 H.248 control address.
|
Step 7
|
transport [
transport-type
]
Router(config-sbc-sbe-ctrl-h248)# transport udp
|
Configures transport type for H.248 communications.
|
Step 8
|
exit
Router(config-sbc-sbe-ctrl-h248)# exit
|
Exits the current configuration mode.
|
Step 9
|
media-gateway ipv4
IPv4-IP-address
Router(config-sbc-sbe)# media-gateway ipv4 10.0.0.1
|
Configures a media gateway.
|
Step 10
|
codecs
codec-list
Router(config-sbc-sbe-mg)# codecs m=audio 1234 RTP/AVP 0 18,a=rtpmap:0 PCMU/8000,a=rtpmap:18 G729A/8000
|
Configures the codecs supported by the media gateway. Enters into media gateway codecs configuration mode.
|
Step 11
|
transcoder
Router(config-sbc-sbe-mg-codecs)# transcoder
|
Configures the media gateway with transcoder support.
|
Step 12
|
exit
Router(config-sbc-sbe-mg-codecs)# exit
|
Exits media gateway codecs configuration mode to the sbe command mode level.
|
Step 13
|
activate
Router(config-sbc-sbe-mg)# activate
|
Initiates the SBC service after all SBE address configuration has been successfully committed.
|
Step 14
|
end
Router(config-sbc)# end
|
Ends the configuration session.
|
Configuring Codec Filtering Transcoding
Configure codec filtering transcoding as shown below.
SUMMARY STEPS
1.
configure terminal
2.
sbc
service-name
3.
sbe
4. media-gateway ipv4 IPv4_IP_address
5.
codecs
codec-list
6.
transcoder
7.
exit
8.
cac-policy-set
9.
first-cac-table
10.
cac-table
11.
table-type policy-set
12.
entry
entry-num
13.
caller-codec-list
list-name
14.
exit
15.
exit
16.
exit
17.
codec-list
list-name
18.
codec
codec-name
19.
exit
20.
end
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
Router# configure terminal
|
Enables global configuration mode.
|
Step 2
|
sbc
service-name
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
Router(config-sbc)# sbe
|
Enters the mode of an SBE entity within a SBC service.
|
Step 4
|
media-gateway ipv4
IPv4-IP-address
Router(config-sbc-sbe)# media-gateway ipv4 10.0.0.1
|
Configures a media gateway.
|
Step 5
|
codecs
codec-list
Router(config-sbc-sbe-mg)# codecs m=audio 1234 RTP/AVP 0 18,a=rtpmap:0 PCMU/8000,a=rtpmap:18 G729A/8000
|
Configures the codecs supported by the media gateway.
|
Step 6
|
transcoder
Router(config-sbc-sbe-mg-codecs)# transcoder
|
Configures the media gateway with transcoder support.
|
Step 7
|
exit
Router(config-sbc-sbe-mg-codecs)# exit
|
Exits the media gateway configuration mode.
|
Step 8
|
cac-policy-set
Router(config-sbc-sbe)# cac-policy-set 1
|
Enters the CAC policy submode.
|
Step 9
|
first-cac-table
Router(config-sbc-sbe-cacpolicy)# first-cac-table 1
|
Creates or configures the first admission control table.
|
Step 10
|
cac-table
Router(config-sbc-sbe-cacpolicy)# cac-table 1
|
Creates or configures an admission control table.
|
Step 11
|
table-type policy-set
Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set
|
Configures the Policy Set table type of Call Admission Control (CAC) table.
|
Step 12
|
entry
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
|
Creates or modifies an entry in a table.
|
Step 13
|
caller-codec-list
list-name
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller-codec-list my_codecs
|
Lists the codecs which the caller leg of a call is allowed to use.
|
Step 14
|
exit
Router(config-sbc-sbe-cacpolicy-cactable-entry)# exit
|
Exits the CAC table entry configuration mode.
|
Step 15
|
exit
Router(config-sbc-sbe-cacpolicy-cactable)# exit
|
Exits the CAC table configuration mode.
|
Step 16
|
exit
Router(config-sbc-sbe-cacpolicy)# exit
|
Exits the CAC policy configuration mode.
|
Step 17
|
codec-list
list-name
Router(config-sbc-sbe)# codec-list my_codecs
|
Creates a codec list and enters the Codec list configuration mode
|
Step 18
|
codec
codec-name
Router(config-sbc-sbe-codec-list)# codec PCMU
|
Adds a codec to a codec list.
|
Step 19
|
exit
Router(config-sbc-sbe-codec-list)# exit
|
Exits the Codec list configuration mode.
|
Step 20
|
end
Router(config-sbc-sbe)# end
|
Ends the configuration session.
|
Voice Transcoding Per Adjacency Statistics
The Voice Transcoding Per Adjacency Statistics feature provides the transcoding statistics to the user for voice calls at both global and adjacency levels. The feature analyzes the consumption of the cards, such as the DSP cards, that provide the transcoding functions.
The transcoding statistics include the following information:
-
The number of active transcoding media stream for each codec pair over several summary periods at global and adjacency scopes. The statistic also provides a high water mark for the corresponding codec pair.
-
The number of active transcoding calls both per-adjacency and globally are listed. The statistics can be listed both at global and adjacency scopes for the list of codec pairs.
-
The statistics display the codec names for the following codecs, if the transcoding call uses any other codecs, the codec name is displayed as
Other
:
– G711A
– G711U
– G729
– GSM
– T38
– CLEAR
Configuring the Voice Transcoding Per Adjacency Statistics
This task shows how to configure the Voice Transcoding Per Adjacency Statistics feature, list the transcoding statistics as per the scope and summary period, and also reset the transcoding statistics.
SUMMARY STEPS
1.
configure terminal
2.
sbc
sbc-name
3.
sbe
4.
transcoding-stats enable
5.
end
6.
show sbc
sbc-name
sbe transcoding-stats
{
global
|
adjacency
adjacency-name
} {
current15mins
|
current5mins
|
currentday
|
currenthour
|
current-indefinite
|
previous15mins
|
previous5mins
|
previousday
|
previoushour
}
7.
clear sbc
sbc-name
sbe transcoding-stats
[
global
|
adjacency
adjacency-name
] [
all
|
current-indefinite
]
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
Router# configure terminal
|
Enables global configuration mode.
|
Step 2
|
sbc
sbc-name
Router(config)# sbc mySBC
|
Enters the SBC service mode. Use the
sbc-name
argument to define the name of the service.
|
Step 3
|
sbe
Router(config-sbc)# sbe
|
Enters the SBE entity mode within a SBC service.
|
Step 4
|
transcoding-stats enable
Router(config-sbc-sbe)# no transcoding-stats enable
|
Enables or disables the transcoding related statistics for the SBC.
The following warning is issued and the user needs to confirm y (Yes) or n (No) to enable or disable the transcoding statistics:
Note This will re-activate the SBC, and existing calls will be impacted[confirm]
By default, the transcoding related statistics for the SBC is enabled.
|
Step 5
|
end
Router(config-sbc-sbe)# end
|
Exits the SBE entity mode and enters the Privileged Exec mode.
|
Step 6
|
show sbc
sbc-name
sbe transcoding-stats
{
global
|
adjacency
adjacency-name
} {
current15mins
|
current5mins
|
currentday
|
currenthour
|
current-indefinite
|
previous15mins
|
previous5mins
|
previousday
|
previoushour
}
Router# show sbc mySBC sbe transcoding-stats adjacency SIPP current5mins
|
Lists the voice transcoding statistics for the required scope and summary period.
-
adjacency
—Lists the transcoding statistics for the specified adjacency.
-
global
—Lists the globally scoped statistics for the entire SBC.
-
current15mins
—Lists the statistics for the current 15 minute interval.
-
current5mins
—Lists the statistics for the current 5 min. interval.
-
currentday
—Lists the statistics for the current day from midnight.
-
currenthour
—Lists the statistics for the current hour.
-
currentindefinite
—Lists the statistics for the period since the last explicit reset.
-
previous15mins
—Lists the statistics for the previous 15 minute interval.
-
previous5mins
—Lists the statistics for the previous 5 min. interval.
-
previousday
—Lists the statistics for the previous day.
-
previoushour
—Lists the statistics for the previous hour.
|
Step 7
|
clear sbc
sbc-name
sbe
transcoding-stats
[
global
|
adjacency
adjacency-name
] [
all
|
current-indefinite
]
Router# clear sbc mySBC sbe adjacency SIPP all
|
Clears the transcoding statistics for all or current-indefinite summary period.
-
adjacency
—Clears statistics for the adjacency.
-
global
—Clears the global transcoding statistics.
-
all
—Clears statistics for all summary periods.
-
currentindefinite
—Clear statistics for only the current-indefinite period.
|
The following example shows the output of the
show sbc sbe transcoding-stats adjacency current15mins
command:
Router# show sbc mySBC sbe transcoding-stats adjacency SIPP current15mins Codec1 Codec2 Transcoded Stream HWM of TranscodedStream Last Reset G711A G711U 4 10 2010/09/10 19:27:15
Media Gateway-Assisted DTMF Interworking
The SBC enables inband DTMF interworking using media gateway switches such as the MGX 8880. A Cisco MGX 8880 is used with DTMF interworking in the following scenarios:
-
As a transcoder—DTMF interworking between media plane and signaling is supported.
-
As an inband DTMF extractor or injector.
The SBC supports two types of media plane DTMF:
-
RFC2833 (telephone-event)
-
Inband DTMF—DTMF inband audio stream, such as G.711. To support inband DTMF, MGX performs the following tasks:
– Monitors the audio stream.
– Extracts the DTMF signal.
– Reports or injects the DTMF signal into the voice band, and vice versa.
DTMF Interworking with MGX as Transcoder
When the SBC uses an external transcoder, such as MGX, DTMF interworking is supported for the following:
-
Between media and signaling in a call.
-
For both, negotiated transcoding and transcoding provisioned through the use of codec lists.
-
Between supported media formats, such as RFC2833, and supported SIP signaling formats, such as INFO or NOTIFY.
Inband DTMF Support—Interworking Without a Transcoder
The SBC supports a call or adjacency policy to indicate when an inband DTMF tone is monitored. Monitoring an inband DTMF tone can either be forced, or an optional task in the absence of any other DTMF support.
The SBC enables interworking between any two of the three supported DTMF formats, which include:
-
Inband
-
RFC 2833 telephone events
-
Signaling.
In the event of a failover, active calls using any DTMF interworking option are protected, and the interworking capability is retained on restoration.
The SBC provides a per-adjacency option to enforce an inband DTMF-compatible codec negotiation if no other methods are available for receiving or sending DTMF.
Configuring Inband DTMF Interworking
To configure inband DTMF interworking, perform the following steps.
Note The caller and callee commands have been used in this procedure. In some scenarios, the branch command can be used as an alternative to the caller and callee command pair. The branch command has been introduced in Release 3.5.0. See the “Configuring Directed Nonlimiting CAC Policies” section for information about this command.
SUMMARY STEPS
1.
configure terminal
2.
sbc
service-name
3.
sbe
4.
cac-policy-set
policy-set-id
5.
first-cac-scope
scope-name
6.
first-cac-table
table-name
7.
cac-table
table-name
8.
table-type {policy-set | limit
{list of limit tables}}
9.
entry
entry-id
10. cac-scope {list of scope options
}
11.
callee inband-dtmf-mode
{always | inherit | maybe | never}
12.
caller inband-dtmf-mode
{always | inherit | maybe | never}
13.
complete
14.
active-call-policy-set
policy-set-id
15.
end
16.
show sbc
service-name
sbe cac-policy-set
id
table
name
entry
entry
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
Router# configure terminal
|
Enables global configuration mode.
|
Step 2
|
sbc
service-name
Router(config)# sbc mysbc
|
Enters the submode of an SBC service.
|
Step 3
|
sbe
Router(config-sbc)# sbe
|
Configures the submode of the SBE entity within an SBC service.
|
Step 4
|
cac-policy-set
policy-set-id
Router(config-sbc-sbe)# cac-policy-set 1
|
Enters the submode of the CAC policy.
|
Step 5
|
first-cac-scope
scope-name
Router(config-sbc-sbe-cacpolicy)# first-cac-scope global
|
Configures the scope at which to begin defining limits when performing the admission control stage of policy.
Note The first-cac-scope definition is relevant only if the table type configured by the first-cac-table command is a Limit table. In that case, the scope of the first-cac-table is determined by first-cac-scope. If the first-cac-table is a Policy Set table, the first-cac-scope is ignored, and defaults to Global.
The scope-name argument configures the scope at which limits should be defined initially. Possible scope-name values are:
-
adj-group
-
call
-
category
-
dst-account
-
dst-adj-group
-
dst-adjacency
-
dst-number
-
global
-
src-account
-
src-adj-group
-
src-adjacency
-
src-number
Features can be enabled or disabled per adjacency group through CAC configuration the same way this is done per individual adjacency.
|
Step 6
|
first-cac-table
table-name
Router(config-sbc-sbe-cacpolicy)# first-cac-table first_policy_table
|
Configures the name of the first policy table to be processed when performing the admission control stage of the policy.
|
Step 7
|
cac-table
table-name
Router(config-sbc-sbe-cacpolicy)# cac-table first_policy_table
|
Enters the mode for configuration of an admission control table (creating one, if necessary) within the context of an SBE policy set.
|
Step 8
|
table-type {policy-set | limit
{list of limit tables}}
Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set
|
Configures the table type of a CAC table within the context of an SBE policy set.
The
list of limit tables
argument controls the syntax of the match-value fields of the entries in the table. Possible
list of limit tables
values are:
-
account
—Compare with name of the account.
-
adj-group
—Compare with name of the adjacency group.
-
adjacency
—Compare with name of the adjacency.
-
all
—No comparison type. All events match this type.
-
call-priority
—Compare with call priority.
-
category
—Compare with number analysis-assigned category.
-
dst-account
—Compare with name of the destination account.
-
dst-adj-group
—Compare with name of the destination adjacency group.
-
dst-adjacency
—Compare with name of the destination adjacency.
-
dst-prefix
—Compare with beginning of the dialed digit string.
-
event-type
—Compare with CAC policy event types.
-
src-account
—Compare with name of the source account.
-
src-adj-group
—Compare with name of the source adjacency group.
-
src-adjacency
—Compare with name of the source adjacency.
-
src-prefix
—Compare with beginning of the calling number string.
Note For Limit tables, the event, message, call matches only a single entry.
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 with either the source or the 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.
Note For Policy Set tables, the event, call or message, is applied to all entries in this table.
|
Step 9
|
entry
entry-id
Router(config-sbc-sbe-cacpolicy-cactable)#
entry 1
|
Enters the mode to create or modify an entry in an admission control table.
|
Step 10
|
cac-scope {
list of scope options
}
Router(config-sbc-sbe-cacpolicy-cactable-entry)# cac-scope call
|
Configures the scope within each entry at which limits are applied in a Policy Set table.
Only per-call scope can be configured when using the codec-restrict-to-list command.
list of scope options—
Specifies one of the following strings used to match events:
-
account
—Events that are from the same account.
-
adjacency
—Events that are from the same adjacency.
-
adj-group
—Events that are from members of the same adjacency group.
-
call
—Scope limits are per single call.
-
category
—Events that have the 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 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.
-
sub-category
—The limits specified in this scope apply to all the events sent to or received from members of the same subscriber category.
-
sub-category-pfx
—The limits specified in this scope apply to all events sent to or received from members of the same subscriber category prefix.
-
subscriber
—The limits specified in this scope apply to all the events sent to or received from individual subscribers
A device that is registered with a Registrar server.
|
Step 11
|
callee inband-dtmf-mode {always | inherit | maybe | never}
Router(config-sbc-sbe-cacpolicy-cactable-entry)# callee inband-dtmf-mode always
|
To configure a DTMF inband mode for the callee side, use the
callee inband-dtmf-mod
e command in the CAC table configuration mode.To deconfigure the DTMF inband mode for the callee side, use the
no
form of this command.
The
callee inband-dtmf-mod
e
specifies one of the following strings:
-
always
—The inband DTMF tones are always in use by an endpoint.
-
inherit
—The inband DTMF mode for an endpoint is not affected by the CAC entry.
-
maybe
—The inband DTMF tones are used by an endpoint unless signaling indicates that an alternative format for a DTMF is in use.
-
never
—An endpoint never uses inband DTMF.
|
Step 12
|
caller inband-dtmf-mode {always | inherit | maybe | never}
Router(config-sbc-sbe-cacpolicy-cactable-entry)# caller inband-dtmf-mode never
|
To configure the DTMF inband mode for the caller side, use the
caller inband-dtmf-mode
command in the CAC table configuration mode.To deconfigure the DTMF inband mode for the caller side, use the no form of this command.
The
caller inband-dtmf-mod
e
specifies one of the following strings:
-
always
—The inband DTMF tones are always in use by an endpoint.
-
inherit
—The inband DTMF mode for an endpoint is not affected by the CAC entry.
-
maybe
—The inband DTMF tones are used by an endpoint unless signaling indicates that an alternative format for a DTMF is in use.
-
never
—An endpoint never uses inband DTMF.
|
Step 13
|
complete
Router(config-sbc-sbe-cacpolicy)# complete
|
Completes the CAC-policy.
|
Step 14
|
active-call-policy-set
policy-set-id
Router(config-sbc-sbe-cacpolicy)# cac-policy-set global 1
|
Sets the active routing policy set within an SBE entity.
|
Step 15
|
end
Router(config-sbc-sbe-cacpolicy)# end
|
Exits the cac-policy-set configuration mode and enters the Privileged EXEC mode.
|
Step 16
|
show sbc
service-name
sbe cac-policy-set
id
table
name
entry
entry
Router# show sbc mysbc sbe cac-policy-set 1 table standard_policy_list entry 1
|
Displays detailed information, including DTMF interworking, pertaining to a specific entry in a CAC policy table.
|
Configuring Codecs to Support Inband DTMF
To configure the codecs to support inband DTMF, perform the following tasks:
SUMMARY STEPS
1.
configure terminal
2.
sbc
service-name
3.
sbe
4.
codec system
system-name id
5.
options
{none | transrate | transcode | inband-dtmf}
6.
end
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
Router# configure terminal
|
Enables the global configuration mode.
|
Step 2
|
sbc
service-name
Router(config)# sbc mysbc
|
Enters the submode of an SBC service.
|
Step 3
|
sbe
Router(config-sbc)# sbe
|
Configures the submode of the SBE entity within an SBC service.
|
Step 4
|
codec system
system id
Router(config-sbc-sbe)# codec system GSM id 3
|
Specifies the name of the system, analog-to-digital codec (enCOder/DECoder), and enters the Codec definition mode.
|
Step 5
|
options
{none | transrate | transcode | inband-dtmf}
Router(config-sbc-sbe-codec-def)# options inband-dtmf
|
Configures the codec that will support voice inband DTMF. The values for the options are:
-
none
-
transrate
-
transcode
-
inband-dtmf
|
Step 6
|
end
Router(config-sbc-sbe-cacpolicy)# end
|
Exits the cac-policy-set configuration mode and enters the Privileged EXEC mode.
|
Blended Transcoding
The Blended Transcoding feature enables the SBC to establish sessions without transcoding.
Do not enable the Blended Transcoding feature in the following situations:
-
When using H.323 or SIP-H.323 interworking calls
-
When the calls are under transcoding video streams
-
When the calls are in fax transcoding
The Blended Transcoding feature does not work with the following features:
-
Media Bypass
-
H.323 Calls and SIP-H.323 Interworking
-
Late-Early Interworking
-
Downstream Forking with Codec Change
-
Local Call Transfer
-
IMS (Gq and Rx)
Before you enable the Blended Transcoding feature, make sure that the DSP farm codec is already configured. For more information about the DSP farm codec configuration, see the Cisco Unified Border Element (SP Edition) Configuration Guide: Unified Model at:
http://www.cisco.com/en/US/partner/docs/routers/asr1000/configuration/guide/sbcu/sbc_spadsp.html#wp1157164
Enabling Blended Transcoding
To enable the Blended Transcoding feature, perform the following steps:
SUMMARY STEPS
1.
configure terminal
2. sbc sbc-name
3. sbe
4.
codec list list-name
5.
codec codec-name
6.
cac-policy-set cac-policy-name
7.
first-cac-table table-name
8.
cac-table cac-table-name
9.
table-type limit adjacency
10.
entry entry-id
11.
match-value string-value
12.
blended-transcode
13.
blended-codec-list codec-list-name
14.
action cac-complete
15.
complete
16.
cac-policy-set global policy-set-id
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
Router# configure terminal
|
Enables the global configuration mode.
|
Step 2
|
sbc sbc-name
Router(config)# sbc mysbc
|
Enables the SBC service.
|
Step 3
|
sbe
Router(config-sbc)# sbe
|
Enters the mode of the SBE entity within an SBC service.
|
Step 4
|
codec list list-name
Router(config-sbc-sbe)# codec list my_codecs
|
Creates a codec list.
|
Step 5
|
codec codec-name
Router(config-sbc-sbe-codec-list)# codec PCMU
|
Adds a codec to the codec list.
|
Step 6
|
cac-policy-set policy-set-id
Router(config-sbc-sbe)# cac-policy-set 1
|
Creates a new call admission control (CAC) policy set.
|
Step 7
|
first-cac-table table-name
Router(config-sbc-sbe-cacpolicy)# first-cac-table BlendedTranscodeTable
|
Specifies the admission control table that should be processed first.
|
Step 8
|
cac-table cac-table-name
Router(config-sbc-sbe-cacpolicy)# cac-table BlendedTranscodeTable
|
Creates an admission control table.
|
Step 9
|
table-type limit adjacency
Router(config-sbc-sbe-cacpolicy-cactable)# table-type limit adjacency
|
Configures a CAC table type that determines the priority of the call to be used as a criterion in the CAC policy.
|
Step 10
|
entry entry-id
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
|
Creates an entry in the CAC table.
|
Step 11
|
match-value string-value
Router(config-sbc-sbe-cacpolicy-cactable-entry)# match-value SIP3
|
Specifies the adjacency that is to be enabled with the Blended Transcoding feature.
|
Step 12
|
blended-transcode
Router(config-sbc-sbe-cacpolicy-cactable-entry)# blended-transcode
|
Enables the Blended Transcoding feature.
|
Step 13
|
blended-codec-list codec-list name
Router(config-sbc-sbe-cacpolicy-cactable-entry)# blended-codec-list
my_codecs
|
Configures a blended codec list.
|
Step 14
|
action cac-complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
|
Configures the action to be performed after the CAC entry in an admission control table; indicates that this CAC policy is complete.
|
Step 15
|
complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# complete
|
Ends the configuration of the CAC table, and goes back to the SBC SBE configuration mode.
|
Step 16
|
cac-policy-set global policy-set-id
Router (config-sbc-sbe)# cac-policy-set global 1
|
Activates the global CAC policy set within the SBE entity.
|