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::*