You can integrate the Session Initiation Protocol (SIP)
on demand router (ODR) with Load Balancer. Load Balancer for IBM® WebSphere® Application
Server can help maximize
the potential of your website by providing a powerful, flexible, and
scalable solution to peak-demand problems.
Before you begin
Restriction: Intelligent Management does not support SIP
features on the z/OS® operating
system.
Install Load Balancer for IBM WebSphere Application
Server.
See the Edge Components Information Center for installation
information.
Avoid trouble: The SIP ODR
is not currently recommended for a production environment which requires
high availability. If you require SIP high availability in production,
use the SIP proxy server instead. If your solution does not require
high availability, you can use a non-clustered SIP ODR.
gotcha
Procedure
- Start the Load Balancer.
- From the command prompt, type dsserver start.
- Then type lbadmin to start the
administrative console for the Load Balancer.
- From the administrative console, right click Dispatcher,
and then select Connect to host.
- Right click the hostname and select Start
executor.
- Start the configuration wizard for the load balancer. Right-click .
- Select default host.
- Type a cluster address. The cluster address is not available
before the executor starts. You must specify this same
value for host when you create a user-defined port.
- Type a port number, such as 5060.
- Add servers to the port. Add each server to which the
load balancer will proxy traffic. In your configuration,
the load-balanced server is the ODR server for your WebSphere Application
Server configuration.
- Start an advisor by clicking Yes.
For example, for HTTP traffic, start the HTTP advisor. For SIP traffic,
start the SIP advisor. The advisor tells the manager whether a specific
port is accepting traffic.
- Alias the cluster address on the SIP on demand router
loopback adapter. For example, type lb-alias.sh cluster_ip_address:
#!/bin/sh
CLUSTER=$1
if [ -f /proc/sys/net/ipv4/conf/all/arp_ignore -a -f /proc/sys/net/ipv4/conf/all/arp_announce ]
then
echo Using arp_ignore
echo "3" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
ip addr add $CLUSTER/32 scope host dev lo
elif [ -f /proc/sys/net/ipv4/conf/all/hidden -a -f /proc/sys/net/ipv4/conf/lo/hidden ]
then
echo Using hidden
echo "1" > /proc/sys/net/ipv4/conf/all/hidden
echo "1" > /proc/sys/net/ipv4/conf/lo/hidden
ip addr add $CLUSTER/32 dev lo
elif [ ! -z "$( which arptables )" ]
then
echo Using arptables
arptables -A IN -s $CLUSTER -j DROP
arptables -A OUT -s $CLUSTER -j mangle --mangle-ip-s $(hostname)
ip addr add $CLUSTER/32 dev lo
else
echo Using iptables
iptables -t nat -A PREROUTING -d $CLUSTER -j REDIRECT
fi
Load Balancer Administration Guide for more
information.
- Define SIP ODR custom properties from the Intelligent Management administrative console.
- From the administrative console, click .
- Under General Properties, in the Additional Properties
section, click Custom properties.
- Create the following SIP ODR custom properties:
- LBIPAddr : The IP address of the load balancer
machine.
- SIPAdvisorMethodName: The type of messages
sent by the Load Balancer advisory. This name is INFO.
- serverUDPInterface: The IP address of the
server machine.
- serverUDPPort : Specify an unused port number.
For example, 5080.
- udp.IPSprayer.host: You specified this value
in step 2b.
- Create a user-defined port from the Intelligent Management administrative console.
- From the administrative console, click .
- Click New.
- Select User-defined port.
- Enter SIP_LB_Address for the Port
name.
- Enter a value for the Host. You specified this value in step 2b.
- Enter a value for the Port. You specified this value in step 2c. Click OK. Save changes.
- Under Ports, modify the PROXY_SIP_ADDRESS from
* to the actual host name of the proxy server machine.
- Click Apply, and then click Save.
- Modify the SIP on demand router transports.
- From the administrative console, click .
- From the Port drop-down list,
select SIP_LB_Address.
- Click Apply, and then click Save.
- Verify that the host name of the ODR machine is set for
the PROXY_SIP_ADDRESS. To verify from the administrative console,
click .
- Create a UDP transport chain. Click .
- Type a name for the new chain, such as ODR_SIP_PROXY_CHAIN.
- In the drop-down list, select Proxy-UDP.
- Click Next.
- Select Use existing port and PROXY_SIP_ADDRESS.
Click Next and then Finish on
the summary page. If PROXY_SIP_ADDRESS does
not show in the list of existing ports, select any of the ports to
complete the transport chain creation, then modify the UDP inbound
channel of the new chain. Select the new transport chain, then select
the UDP inbound channel and change the port to PROXY_SIP_ADDRESS.
- Create a TCP transport chain. Click .
- Type a name for the new chain, such as TCP_SIP_PROXY_CHAIN.
- In the drop-down list, select SIP_LB_Address.
- Click Next and then Finish on
the summary page.
- Restart the ODR to pick up the changes.
- Create a system property named clientUDPInterface on
each ODR and set it to the IP address of the cluster address. To create
the system property, select .
- Save and synchronize the configuration.
- Restart the ODR.