# Setting up multi-homed configurations

On CG boards, each Ethernet interface can be configured to a different IP subnet, and associated with a separate default router. This type of configuration is called a multi-homed configuration. Applications can use the MSPP API to direct the flow of data to the separate IP subnets associated with multi-homed configurations.

The MSPP API enables applications to create MSPP endpoints that act as transmission and reception points for data at the CG board's network interfaces. Applications can join endpoints together with MSPP channels that perform processing tasks with voice or fax data as it moves from endpoint to endpoint. For more information about MSPP endpoints and channels, refer to the Dialogic® NaturalAccess™ Fusion™ VoIP API Developer’s Manual.

In multi-homed configurations running Fusion gateways, applications can use the MSPP API to set endpoint address parameters (for RTP and UDP endpoints) that control the inbound demultiplexing and outbound routing behavior of the CG board IP stack. On an endpoint-by-endpoint basis, applications set the data transfer characteristics that apply to RTP or UDP sessions by setting the source IP addresses (specified through endpoint address parameters) of the RTP or UDP endpoints associated with these sessions. In this context, endpoint source IP addresses and destination IP addresses are oriented from the perspective of the CG board when transmitting data. That is, the source IP address is the IP address and port number of the local CG board, while the destination IP address is the IP address and port number of a remote system.

The following examples show how applications can set up multi-homed configurations:

- Load balancing in dual subnet configurations

- UDP port numbers in multi-homed configurations

RFC 1122 describes the requirements for multi-homed end systems (ES). It outlines two models for accomplishing this, the strong ES model and the weak ES model. For more information about the strong and weak ES models, refer to RFC 1122.

## Load balancing in dual subnet configurations

In multi-homed, multi-router configurations, applications can balance the amount of data transferred through each Ethernet interface by using the MSPP API to specify which Ethernet interface an RTP or UDP endpoint uses to transmit data. Applications specify which Ethernet interface to use by setting the endpoint source IP addresses to match the IP address assigned to one of the CG board's Ethernet interfaces.

In the following example, the CG board's OAM board keyword file assigns IP addresses and subnet masks for each of the board's Ethernet interfaces, and defines default routes for these interfaces:

/* Ethernet #1: IP Address 198.62.139.27, Subnet 255.255.255.0 */
IPC.AddRoute[1].Interface = 1
IPC.AddRoute[1].DestinationAddress = 198.62.139.27
IPC.AddRoute[1].Mask = 255.255.255.0
/* Ethernet #2: IP Address 139.37.200.43, Subnet 255.255.255.0 */
IPC.AddRoute[2].Interface = 2
IPC.AddRoute[2].DestinationAddress = 139.37.200.43
IPC.AddRoute[2].Mask = 139.37.200.43
/* Default Route #1: 0.0.0.0/0.0.0.0 Router IP Address: 198.62.139.1 */
IPC.AddRoute[3].DestinationAddress = 0.0.0.0
IPC.AddRoute[3].Mask = 0.0.0.0
IPC.AddRoute[3].GatewayAddress = 198.62.139.1
/* Default Route #2: 0.0.0.0/0.0.0.0 Router IP Address: 139.37.200.1 */
IPC.AddRoute[4].DestinationAddress = 0.0.0.0
IPC.AddRoute[4].Mask = 0.0.0.0
IPC.AddRoute[4].GatewayAddress = 139.37.200.1

In this case, an application can implement load balancing by creating MSPP API endpoints in the following way:

- Creating an endpoint (RTP endpoint 1) and specifying the following endpoint's source IP address:

198.62.139.27

- Creating an endpoint (RTP endpoint 2) and specifying the following endpoint's source IP address:

139.37.200.43

The following illustration shows the relationship between the RTP endpoints and the CG board's Ethernet interface:

If the CG board is configured in redundant Ethernet mode, or if it does not matter which CG board Ethernet interface the application uses for transferring packet data, the application can set the endpoint source address parameter to 0.0.0.0. In this case, the CG board directs the outbound packets to the first valid route in its IP routing table.

If the application specifies an invalid SourceIpAddress parameter, the CG board defaults to standard IP routing and sends the outbound packets to the first valid route found in the CG board's IP routing table.

## UDP port numbers in multi-homed configurations

In a multi-homed IP environment, the application can treat the UDP port number range as a single port number domain, a multiple port number domain qualified by the local IP address, or a combination of both. When the application creates RTP and UDP endpoints, the way the application sets endpoint source IP addresses determines whether the UDP port number uses a single port number domain or multiple port number domain.

If the application sets the endpoint's source IP address to 0.0.0.0, then the IP address of any inbound RTP or UDP packets is not used to qualify the UDP port number domain.

If the application sets the endpoint's source IP address to an IP address corresponding to one of the CG board's Ethernet interfaces, then the destination IP address of any incoming packets is used to further qualify the RTP or UDP session to which the packet is bound.