Steering Pools

Steering pools define sets of ports that are used for steering media flows through the Oracle® Enterprise Session Border Controller. These selected ports are used to modify the SDP to cause receiving session agents to direct their media toward this system. Media can be sent along the best quality path using these addresses and ports instead of traversing the shortest path or the BGP-4 path.

For example, when the Oracle® Enterprise Session Border Controller is communicating with a SIP device in a specific realm defined by a steering pool, it uses the IP address and port number from the steering pool’s range of ports to direct the media. The port the Oracle® Enterprise Session Border Controller chooses to use is identified in the SDP part of the message.

Note:

The values entered in the steering pool are used when the system provides NAT, PAT, and VLAN translation.

Configuration Overview

To plan steering pool ranges, take into account the total sessions available on the box, determine how many ports these sessions will use per media stream, and assign that number of ports to all of the steering pools on your Oracle® Enterprise Session Border Controller. For example, if your Oracle® Enterprise Session Border Controller can accommodate 500 sessions and each session typically uses 2 ports, you would assign 1000 ports to each steering pool. This strategy provides for a maximum number of ports for potential use, without using extra resources on ports your Oracle® Enterprise Session Border Controller will never use.

The following lists the steering pool parameters you must configure:
  • IP address—IP address of the steering pool.
  • start port—Port number that begins the range of ports available to the steering pool. You must define this port to enable the system to perform media steering and NAT operations.
  • end port—Port number that ends the range of ports available to the steering pool. You must define this port to enable the system to perform media steering and NAT operations.
  • realm id—Identifies the steering pool’s realm. The steering pool is restricted to only the flows that originate from this realm.

Note:

The combination of entries for IP address, start port, and realm ID must be unique in each steering pool. You cannot use the same values for multiple steering pools.

Each bidirectional media stream in a session uses two steering ports, one in each realm (with the exception of audio/video calls that consume four ports). You can configure the start and end port values to provide admission control. If all of the ports in all of the steering pools defined for a given realm are in use, no additional flows/sessions can be established to/from the realm of the steering pool.

Steering Pool Configuration

To configure a steering pool:

  1. In Superuser mode, type configure terminal and press Enter.
    ORACLE# configure terminal
  2. Type media-manager and press Enter to access the system-level configuration elements.
    ORACLE(configure)# media-manager
  3. Type steering-pool and press Enter. The system prompt changes to let you know that you can begin configuring individual parameters.
    ORACLE(media-manager)# steering-pool
    ORACLE(steering-pool)#
  4. ip-address—Enter the target IP address of the steering pool in IP address format. For example:
    192.168.0.11
  5. start-port—Enter the start port value that begins the range of ports available to this steering pool. The default is 0. The valid range is:
    • Minimum—0

    • Maximum—65535

      You must enter a valid port number or the steering pool will not function properly.

  6. end-port—Enter the end port value that ends the range of ports available to this steering pool. The default is 0. The valid range is:
    • Minimum—0

    • Maximum—65535

      You must enter a valid port number or the steering pool will not function properly.

  7. realm-id—Enter the realm ID to identify the steering pool’s realm, following the name format. The value you enter here must correspond to the value you entered as the identifier (name of the realm) when you configured the realm. For example:
    peer-1

    This steering pool is restricted to flows that originate from this realm.

    The following example shows the configuration of a steering pool.

    steering-pool
            ip-address                     192.168.0.11
            start-port                     20000
            end-port                       21000
            realm-id                       peer-1
            last-modified-date             2005-03-04 00:35:22

SDP Alternate Connectivity

The Oracle® Enterprise Session Border Controller can create an egress-side SDP offer containing both IPv4 and IPv6 media addresses via a mechanism which allows multiple IP addresses, of different address families (i.e., IPv4 & IPv6) in the same SDP offer. Our implementation is based on the RFC draft "draft-boucadair-mmusic-altc-09".

Each realm on the Oracle® Enterprise Session Border Controller can be configured with an alternate family realm on which to receive media in the alt family realm parameter in the realm config. As deployed, one realm will be IPv4, and the alternate will be IPv6. The Oracle® Enterprise Session Border Controller creates the outbound INVITE with IPv4 and IPv6 addresses to accept the media, each in an a=altc: line and each in its own realm. The IP addresses inserted into the a=altc: line are from the egress realm’s and alt-realm-family realm’s steering pools. Observe in the image how the red lines indicate the complementary, alternate realms.

You can configure the order in which the a=altc: lines appear in the SDP in the pref-address-type parameter in the realm-config. This parameter can be set to

  • IPv4 - SDP contains the IPv4 address first
  • IPv6 - SDP contains the IPv6 address first
  • NONE - SDP contains the native address family of the egress realm first

In the 200OK to the INVITE, the callee chooses either the IPv6 or IPv4 address to use for the call’s media transport between itself and Oracle® Enterprise Session Border Controller. After the Oracle® Enterprise Session Border Controller receives the 200OK, the chosen flow is installed, and the unused socket is discarded.

For two realms from different address families to share the same phy-interface and vlan, you use a .4 or .6 tag in the network-interface reference. When IPv4 and IPv6 realms share the same network-interface and VLAN, you identify them by realm name and network-interface configured as:

  • IPv4 - <phy-interface>:<vlan>.4
  • IPv6 - <phy-interface>:<vlan>.6

If the INVITE’s egress realm is IPv6, pref-address-type = NONE, the outbound SDP has these a=altc: lines:

a=altc:1 IPv6 2001:4860:4860::8889 20001
a=altc:2 IPv4 10.10.10.21 20001

If the INVITE’s egress realm is IPv6, pref-address-type = IPv4, the outbound SDP has these a=altc: lines:

a=altc:1 IPv4 10.10.10.21 20001
a=altc:2 IPv6 2001:4860:4860::8889 20001

SDP Alternate connectivity supports B2B and hairpin call scenarios. SDP Alternate connectivity also supports singleterm, B2B, and hairpin call scenarios.

When providing SDP alternate connectivity for SRTP traffic, in the security policy configuration element, the network-interface parameter’s value must be configured with a .4 or .6 suffix to indicate IPv4 or IPv6 network, respectively.

SDP Alternate Connectivity Configuration

To configure SDP alternate connectivity:

  1. Access the realm-config configuration element.
    ORACLE# configure terminal
    ORACLE(configure)# media-manager
    ORACLE(media-manager)# realm-config
    ORACLE(realm-config)# 
  2. Select the realm-config object to edit.
    ORACLE(realm-config)# select
    identifier:
    1: realm01 left-left:0 0.0.0.0
    
    selection: 1
    ORACLE(realm-config)#
  3. alt-realm-family — Enter the realm name of the alternate realm, from which to use an IP address in the other address family. If this parameter is within an IPv4 realm configuration, you will enter an IPv6 realm name.
  4. pref-address-type — Set the order in which the a=altc: lines suggest preference. Valid values are:
    • none — address family type of egress realm signaling
    • ipv4 — IPv4 realm/address first
    • ipv6 — IPv6 realm/address first
  5. Type done to save your configuration.