Manipulation Modes
You can configure a codec policy to perform several different kinds of manipulations:
- Allow—List of codecs that are allowed for a certain codec policy; if a codec does not appear on this list, then the
Oracle® Enterprise Session Border Controller removes it. You can wildcard this list with an asterisk (*) so that all codecs are allowed. Further, you can create exceptions to a wildcarded allow list.
- You make an exception to the wildcarded list of codecs by entering the codec(s) that are not allowed with a
no attribute. This tells the
Oracle® Enterprise Session Border Controller to allow all codecs except the one(s) you specify.
ACMEPACKET(codec-policy)# allow-codecs (* PCMA:no)
- You can also create exceptions to allow lists such that audio or video codecs are removed. However, when the allow list specifies the removal of all audio codecs and an INVITE arrives at the
Oracle® Enterprise Session Border Controller with only audio codecs, the
Oracle® Enterprise Session Border Controller behaves in accordance with RFC 3264. This means that the resulting SDP will contain one attribute line, with the media port for the media line set to 0. The terminating side will need to supply new SDP in its reply because the result of the manipulation is the same as an INVITE with no body.
ACMEPACKET(codec-policy)# allow-codecs (* audio:no)
- You make an exception to the wildcarded list of codecs by entering the codec(s) that are not allowed with a
no attribute. This tells the
Oracle® Enterprise Session Border Controller to allow all codecs except the one(s) you specify.
- Order—List of the codecs where you specify their preferred order in the outgoing media offer. The
Oracle® Enterprise Session Border Controller arranges matching codecs according to the rule you set, and any remaining ones are added to the list in the same relative order they took in the incoming media offer. If your list specifies a codec that is not present, then the ordering proceeds as specified but skips the missing codec.
You can use an asterisk (*) as a wildcard in this list, too. The placement of the asterisk is key, as you can see in the following examples:
- For an order rule set this way
ACMEPACKET(codec-policy)# order (A B C *)
codecs A, B, and C will be placed at the front of the codec list in the order specified; all other codecs in the offer will follow A, B, and C in the same relative order they had in the original SDP offer.
- For an order rule set this way:
ACMEPACKET(codec-policy)# order (* A B C)
codecs A, B, and C will be placed at the end of the codec list in the order specified; all other codecs in the offer will come before A, B, and C in the same relative order they had in the original SDP offer.
- For an order rule set this way
ACMEPACKET(codec-policy)# order (A * B C)
codec A will be placed at the beginning of the codec list, to be followed by all other codecs in the offer in the same relative order they had in the original SDP offer, and then B and C will end the list.
- For an order rule set this way
- Force—An attribute you can use in the allow list with one codec to specify that all other codecs should be stripped from the outgoing offer. You can specify multiple forced codecs in your rules.
- If you set multiple codecs in the allow list and one of them is forced, then the outgoing offer will contain the forced codec.
- If you set multiple codecs in the allow list and the one that is forced is not present in the offer, then the
Oracle® Enterprise Session Border Controller will select a non-forced codec for the outgoing offer.
ACMEPACKET(codec-policy)# allow (PCMU G729:force)
You cannot use the force attribute with a wildcarded allow list.
- No—An attribute that allows you to strip specified codecs or codec types from a wildcarded allow list.
ACMEPACKET(codec-policy)# allow (* PCMA:no)