Media Type Subnames

You can define multiple versions of a media profile for a single codec by using the subnames feature. You can then reference the new media profile by a combination of the media profile name and media profile subname.

Some media types are not unique per just their value in an SDP m= line, they must be uniquely identified by looking at additional SDP parameters. For example, you can define a media profile for G729, when only the parameter and value annexb=yes is present in the SDP. By creating a media profile + subname that defines both a media type and parameter, you can perform various operations on G729 only when annexb=yes is encountered.

Some applications of media type subnames are:

  • maintaining different versions of the same codec with different bandwidth ceilings
  • maintaining different versions of the same codec with different ptimes
  • grouping codecs by using customer as a subname
  • grouping codecs by using realm as a subname

SDP Parameter Matching

This feature matches parameters in the a=fmtp, codec-specific SDP a= line. It does not try to match a global m= line attribute like a=ptime.

Using Subnames with Codec Policies

Media profiles are defined and referenced in the ACLI by a name and subname in the following format

<name>::<subname>

If no subname has been created for a media profile, you may continue using the media profile name without any subname specifier.

For example, to remove a media profile and subname configured as PCMU::customer1 from all SDP entering the egress realm, you would configure the codec policy allow-codecs parameter as follows:

allow-codecs PCMU::customer1:no

media-profile subtype Configuration Restrictions

media-profiles are subject to stringent configuration restrictions. You must avoid creating a media-profile with configured subtype parameter that does not substantively differ (in all additional parameters) from the default (unconfigured) media profile. An example of an invalid configuration is media-profile, name of g729, and a media-profile, subname of g729, with no additional parameter configurations other than the default values. Such configuration can cause unexpected behaviors and must be avoided.

Subname Syntax and Wildcarding

You can wildcard one or both portions (name and subname) of a media type and subname pair:

  • When you wildcard the name portion of the value, you can provide a specific subname that the Oracle® Enterprise Session Border Controller uses to find matching media profiles.
  • When you wildcard the subname portion of the value, you can provide a specific name that the Oracle® Enterprise Session Border Controller uses to find matching media profiles.

The following table defines and explains subname wildcarding and syntax:

Syntax Example Value Description
<name> PCMU Matches any and all media profiles with the name value configured as PCMU. This entry has the same meaning as a value with this syntax: <name>::*.
<name>:: PCMU:: Matches a media profile with the name with the name value configured as PCMU with an empty subname parameter.
<name>::* PCMU::* Matches any and all media profiles with the name value configured as PCMU with any and all subname configured.
<name>::<subname> PCMU::64k Matches a media profiles with the name with the name value configured as PCMU with the subname parameter set to 64k.
* * Matches anything, but does not have to be a defined media profile.
*::* *::* Matches any and all media profiles, but requires the presence of media profile configurations.
*::<subname> *::64k Matches all media profiles with this subname. You might have a group of media profiles with different names, but the same subname value.
*:: *:: Matches any media profiles with an empty subname parameter.
:: :: Invalid
::* ::* Invalid

Wildcarding add-codecs-on-egress

It is important to note that you may not configure add-codecs-on-egress with a wildcarded subname in a codec policy. You may only add a specific instance of a media type.

Valid:

add-codecs-on-egress PCMU
add-codecs-on-egress PCMU::customer1

Invalid:

add-codecs-on-egress PCMU::*

Media Type and Subname Configuration

To use media type subnames with a codec policy, you must first configure a media profile and subname. Then you can configure a codec policy with a media type and subname pair for your application

To use configure a media type and subname:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type session-router and press Enter.
    ORACLE(configure)# session-router
    ORACLE(session-router)#
  3. Type media-profile and press Enter.
    ORACLE(session-router)# media-profile
    ORACLE(media-profile)#
  4. name—Type the name of the codec for which you are creating a new default ptime.
    ORACLE(media-profile)# name g729
  5. subname—Enter a description for the use of this subname
    ORACLE(media-profile)# subname annexb-yes

    You may now configure this subname’s unique attributes. PCMU is created with ptime of 30 in this example.

  6. parameters—Set the ptime by typing parameter, a Space, ptime=, the new ptime value. Then press Enter. For example:
    ORACLE(media-profile)# parameter annexb=yes

    Note:

    Remember to configure all additional, required media profile parameters, or they will inherit default values.
  7. Save your work using the ACLI done command.

Codec Policy Configuration with a Media Type with a Subname

To configure a codec policy with a media type with subname:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type media-manager and press Enter.
    ORACLE(configure)# media-manager
  3. Type codec-policy and press Enter.
    ORACLE(media-manager)# codec-policy
  4. Use the ACLI select command to select a codec policy.
    ORACLE(codec-policy)# select 1

    You may now enter a media profile with subname to any parameter in the codec policy that accepts a media profile.

  5. allow-codecs—Enter a list of codecs that this codec policy allows or denies from passing through the Oracle® Enterprise Session Border Controller. To allow all codecs, enter an asterisk (*).
    ORACLEcodec-policy# allow-codecs g729::annexb-yes:no
  6. Save and activate your configuration.