The following sections describe how to configure network resources for use with WebLogic SIP Server:
The default HTTP network configuration for each WebLogic SIP Server instance is determined from the Listen Address and Listen Port setting for each server. However, WebLogic SIP Server does not support the SIP protocol over HTTP. The SIP protocol is supported over the UDP and TCP transport protocols. SIPS is also supported using the TLS transport protocol.
To enable UDP, TCP, or TLS transports, you configure one or more network channels for a WebLogic SIP Server instance. A network channel is a configurable WebLogic Server resource that defines the attributes of a specific network connection to the server instance. Basic channel attributes include:
You can assign multiple channels to a single WebLogic SIP Server instance to support multiple protocols or to utilize multiple interfaces available with multihomed server hardware. You cannot assign the same channel to multiple server instances.
When you configure a new network channel for the SIP protocol, both the UDP and TCP transport protocols are enabled on the specified port. You cannot create a SIP channel that supports only UDP transport or only TCP transport. When you configure a network channel for the SIPS protocol, the server uses the TLS transport protocol for the connection.
As you configure a new SIP Server domain, you will generally create multiple SIP channels for communication to each engine tier server in your system. Engine tier servers can communicate to data tier replicas using the configured Listen Address attributes for the replicas. Note, however, that replicas must use unique Listen Addressees in order to communicate with one another.
Note: | If you configure multiple replicas in a data tier cluster, you must configure a unique Listen Address for each server (a unique DNS name or IP address). If you do not specify a unique Listen Address, the replica service binds to the default "localhost" address and multiple replicas cannot locate one another. |
If your operating system and hardware support IPv6, you can also configure WebLogic SIP Server to use IPv6 for network communication. IPv6 for SIP traffic is enabled by configuring a network channel with an IPv6 address. You must configure an IPv6 SIP channel on each engine tier server that will support IPv6 traffic.
Note: | The Windows XP IPv6 implementation does not support dual mode sockets, and cannot be used with any available JVMs to support IPv6. Using IPv6 with a network channel throws the following exception with either the Sun or JRockit JVMs: |
Note: | Address family not supported by protocol family: bind . |
Note: | For more information see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6230761 |
Note that each SIP network channel configured on an engine supports either IPv6 or IPv4 traffic. You cannot mix IPv4 and IPv6 traffic on a single channel. A single engine can be configured with both an IPv4 and IPv6 channel to support multiple, separate networks.
It is also possible for WebLogic SIP Server engine and data tier nodes to communicate on IPv4 (or IPv6) while supporting the other protocol version for external SIP traffic. To configure engine and data tier nodes on an IPv6 network, simply specify IPv6 listen addresses for each server instance.
See Creating a New SIP or SIPS Channel for information about configuring IPv4 and IPv6 network channels.
If your system uses one or more load balancers to distribute connections to the engine tier, you must configure SIP network channels to include a load balancer address as the external listen address. When a SIP channel has an external listen address that differs from the channel's primary listen address, WebLogic SIP Server embeds the host and port number of the external address in SIP headers such as Response
. In this way, subsequent communication for the call is directed to the public load balancer address, rather than the local engine tier server address (which may not be accessible to external clients).
If a network channel does not have a configured external listen address, the primary listen address is embedded into SIP headers.
If your system uses two load balancers, you must define two channels on each engine tier server (one for each network connection to each load balancer) and assign the external listen address to the corresponding load balancer. When a particular network interface on the engine tier server is selected for outbound traffic, the network channel associated with that NIC's address is examined to determine the external listen address to embed in SIP headers.
If your system uses a multihomed load balancer having two public addresses, you must also define a pair of channels to configure both public addresses. If the engine tier server has only one NIC, you must define a second, logical address on the NIC to configure a dedicated channel for the second public address. In addition, you must configure your IP routing policies to define which logical address is associated with each public load balancer address.
WebLogic SIP Server supports DNS for resolving the transport, IP address and port number of a proxy required to send a SIP message. This matches the behavior described in RFC 3263. DNS may also used when routing responses in order to resolve the IP address and port number of a destination.
WARNING: | Because DNS resolution is performed within the context of SIP message processing, any DNS performance problems result in increased latency performance. BEA recommends using a caching DNS server in a production environment to minimize potential performance problems. |
When you enable DNS lookup, the server can use DNS to:
For proxy discovery, WebLogic SIP Server uses DNS resolution only once per SIP transaction to determine transport, IP, and port number information. All retransmissions, ACKs, or CANCEL requests are delivered to the same address and port using the same transport. For details about how DNS resolution takes place, see RFC 3263: Session Initiation Protocol (SIP): Locating SIP Servers.
When a proxy needs to send a response message, WebLogic SIP Server uses DNS lookup to determine the IP address and/or port number of the destination, depending on the information provided in the sent-by field and via header.
When you create a new domain using the Configuration Wizard, WebLogic SIP Server instances are configured with a default network channel supporting the SIP protocol over UDP and TCP. This default channel is configured to use Listen Port 5060, but specifies no Listen Address. Follow the instructions in Reconfiguring an Existing Channel to change the default channel's listen address or listen port settings. See Creating a New SIP or SIPS Channel for to create a new channel resource to support additional protocols or additional network interfaces.
Note: | You cannot change the protocol supported by an existing channel. To reconfigure an existing listen address/port combination to use a different network protocol, you must delete the existing channel and create a new channel using the instructions in Creating a New SIP or SIPS Channel. |
sip
channel). To create add a new SIP or SIPS channel to the configuration of a WebLogic SIP Server instance:
SIP channels can be further configured using one or more custom channel properties. The custom properties cannot be set using the Administration Console. Instead, you must use a text editor to add the properties to a single, custom-property
stanza in the channel configuration portion of the config.xml
file for the domain.
WebLogic SIP Server provides the following custom properties that affect the transport protocol of SIP channels:
TcpConnectTimeoutMillis
—Specifies the amount of time WebLogic SIP Server waits before it declares a destination address (for an outbound TCP connection) as unreachable. The property is applicable only to SIP channels; WebLogic SIP Server ignores this attribute value for SIPS channels. A value of 0 disables the timeout completely. A default value of 3000 milliseconds is used if you do not specify the custom property.SctpConnectTimeoutMillis
—Specifies the amount of time WebLogic SIP Server waits before it declares a destination address (for an outbound STCP connection) as unreachable. The property is applicable only to SCTP channels (for Diameter traffic). A value of 0 disables the timeout completely. A default value of 3000 milliseconds is used if you do not specify the custom property. See Static Port Configuration for Outbound UDP Packets for information about creating SCTP channels for Diameter.SourcePorts
—Configures one or more static port numbers that a server uses for originating UDP packets. WARNING: | BEA does not recommend using the SourcePorts custom property in most configurations because it degrades performance. Configure the property only in cases where you must specify the exact ports that WebLogic SIP Server uses to originate UDP packets. See for information about using this property. |
Mtu
—Specifies the Maximum Transmission Unit (MTU) value for this channel. A value of -1 uses the default MTU size for the transport.TLS1
, the default, configures the channel to send and accept only TLS V1.0 messages. Peers must respond with a TLS V1.0 message, or the SSL connection is dropped.SSL3
configures the channel to send and accept only SSL V3.0 messages. Peers must respond with an SSL V3.0 message, or the SSL connection is dropped.ALL
supports either TLS V1.0 or SSL V3.0 messages. Peers must respond with a TLS V1.0 or SSL V3.0 message, or the SSL connection is dropped.
To configure a custom property, use a text editor to modify the config.xml
file directly, or use a JMX client such as WLST to add the custom property. When editing config.xml
directly, ensure that you add only one custom-properties
element to the end of a channel's configuration stanza. Separate multiple custom properties within the same element using semicolons (;) as shown in Listing 1-1.
<network-access-point>
<name>sip</name>
<protocol>sip</protocol>
<listen-port>5060</listen-port>
<public-port>5060</public-port>
<http-enabled-for-this-protocol>false</http-enabled-for-this-protocol>
<tunneling-enabled>false</tunneling-enabled>
<outbound-enabled>true</outbound-enabled>
<enabled>true</enabled>
<two-way-ssl-enabled>false</two-way-ssl-enabled>
<client-certificate-enforced>false</client-certificate-enforced>
<custom-properties>
EnabledProtocolVersions=ALL;Mtu=1000;SourcePorts=5060</custom-properties>
</network-access-point>
If you are configuring a server that has multiple network interfaces (a "multihomed" server), you must configure a separate network channel for each IP address used by WebLogic SIP Server. WebLogic SIP Server uses the listen address and listen port values for each channel when embedding routing information into SIP message system headers.
Note: | If you do not configure a channel for a particular IP address on a multihomed machine, that IP address cannot be used when populating Via, Contact, and Record-Route headers. |
WebLogic SIP Server's Diameter implementation supports the Diameter protocol over the TCP or TLS transport protocols. To enable incoming Diameter connections on a server, you configure a dedicated network channel using the protocol type "diameter" for TCP transport, or "diameters" for both TCP and TLS transport. The Diameter implementation application may automatically upgrade Diameter connections to use TLS as described in the Diameter specification (RFC 3558).
See Configuring Diameter Client Nodes and Relay Agents for more information about configuring network channels for Diameter protocol support.
To configure WebLogic SIP Server to listen for UDP traffic on any available IP interface, create a new SIP channel and specify 0.0.0.0 (or :: for IPv6 networks) as the listen address. Note that you must still configure at least one additional channel with an explicit IP address to use for outgoing SIP messages. (For multi-homed machines, each interface used for outgoing messages must have a configured channel.)
Note: | If you configure a SIP channel without specifying the channel listen address, but you do configure a listen address for the server itself, then the SIP channel inherits the server listen address. In this case the SIP channel does not listen on IP_ANY. |
Note: | Using the 0.0.0.0 configuration affects only UDP traffic on Linux platforms. WebLogic SIP Server only creates TCP and HTTP listen threads corresponding to the configured hostname of the server, and localhost. If multiple addresses are mapped to the hostname, WebLogic SIP Server displays warning messages upon startup. To avoid this problem and listen on all addresses, specify the :: address, which encompasses all available addresses for both IPv6 and IPv4 for HTTP and TCP traffic as well. |
Each replica in the data tier must bind to a unique Listen Address attribute (a unique DNS name or IP address) in order to contact one another as peers. Follow these instructions for each replica to assign a unique Listen Address: