Customized G.729 Support

The Oracle® Enterprise Session Border Controller supports the use of custom G.729 encoding for calls that require interworking between SIP and H.323. If you use a proprietary G.729 encoding format in your network, then you might need to use this feature.

When you set the acceptG729abFormat option in the global H.323 configuration, the Oracle® Enterprise Session Border Controller performs conversions like those in the following examples:

  • For calls initiated in SIP, the Oracle® Enterprise Session Border Controller can parse RTP map strings such as G.729a and G.729ab in the SDP, and then map them to H.245 data types.
    • G.729a becomes g729AnnexA.
    • G.729ab becomes g729AnnexAwAnnexB.
  • For calls initiated in H.323, the Oracle® Enterprise Session Border Controller can create non-standard RTP map strings such as G.729a and G.729ab from mapped H.245 data types.
    • g729 becomes G729.
    • g729AnnexA becomes G.729a.
    • g729AnnexAwAnnexB becomes G.729ab.

When you enable the acceptG729abFormat option, the Oracle® Enterprise Session Border Controller performs customized G.729 mapping in the following instances.

  • For calls initiated in SIP and translated to H.323, the Oracle® Enterprise Session Border Controller:
    • Converts the SDP in an incoming SIP INVITE to a list of fastStart OpenLogicalChannel requests that are in turn included in the outgoing Setup message.
    • Converts the list of fastStart OpenLogicalChannelAck responses (which can be received in any message up to and including the Connect message) to SDP sent with a SIP response.
  • For calls initiated in H.323 and translated to SIP, the Oracle® Enterprise Session Border Controller:
    • Converts the list of fastStart OpenLogicalChannel requests to SDP in the outgoing SIP INVITE.
    • Converts SDP in a SIP response (such as a 200 OK) to the list of fastStart OpenLogicalChannelAck responses included with the callProceeding, Progress, Alerting, or Connect message. This depends on when the SDP is received on the SIP side.
  • For all IWF calls regardless of initiating protocol, the Oracle® Enterprise Session Border Controller:
    • Converts SDP on the SIP side to the terminalCapabilitySet message to be sent on the H.323 side.

Also note that when the format is G729, the Oracle® Enterprise Session Border Controller maps it to g729wAnnexB if the a=fmtp:18 annexb=yes attribute is present. When the a=fmtp:18 annexb=no attribute is present, the Oracle® Enterprise Session Border Controller maps G729 to g729. And with no a=fmtp:18 annexb=no attribute, the Oracle® Enterprise Session Border Controller also maps G729 to g729 when this option is enabled.

The Oracle® Enterprise Session Border Controller also maps G729 to g729 because pure G729 with static payload type 18 does not include an fmtp attribute where annexb=no.

About Dynamic Payload Mapping

G.729a and G.729ab use dynamic payload types, but the Oracle® Enterprise Session Border Controllerdoes not propagate these dynamic payload types to corresponding dynamicRTPPayloadType (an optional field in OpenLogicalChannel requests) on the H.323 side.

For an IWF call initiated in H.323, the dynamic payload types for G.729a and G.729ab are retrieved from media profile configurations when the Oracle® Enterprise Session Border Controller converts the list of fastStart OpenLogicalChannel requests to SDP sent on the SIP side. As a result, you must set up media profile configurations for G.729a and G.729ab for the feature to work properly. In these media profiles, the following parameters must be set as follows:

  • name—For the G.729a profile, set the name to G.729a. For the G.729ab profile, set the name to G.729ab.
  • payload-type—For each media profile (G.729a and G.729ab), DO NOT use payload type 18, which is the static payload type used for G729.

Customized G.729 Configuration

This section shows you how to configure the acceptG729abFormat option in the global H.323 configuration.

To enable customized G.729 support for IWF calls:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
    ORACLE(configure)#
  2. Type session-router and press Enter.
    ORACLE(configure)# session-router
    ORACLE(session-router)#
  3. Type h323-config and press Enter.
    ORACLE(session-router)# h323-config
    ORACLE(h323-config)#

    If you are adding this feature to a pre-existing configuration, select the configuration to edit it.

  4. options—Set the options parameter by typing options, a Space, the option name acceptG729abFormat with a plus sign in front of it. Then press Enter.
    ORACLE(h323-stack)# options +acceptG729abFormat

    If you type options and then the option value for either of these entries without the plus sign, you will overwrite any previously configured options. In order to append the new options to this configuration’s options list, you must prepend the new option with a plus sign as shown in the previous example.

  5. Save and activate your configuration.