SIP Servlet Engine© Documentations
 
  Top >   System Administration >   Configuration >   Network Channel Function
 
 

Network Channel Function

The network channel function is used to send and receive SIP messages through a particular LAN port (network channel) when SIP Servlet Engine is running on a machine equipped with multiple LAN ports.

SIP Servlet Engine determines its address in accordance with the following priority.

  1. Using the setting in the “sipserver.xml”
  2. Using the setting on the network channel
  3. Using the setting in the WLS configuration
  4. Using the setting returned by InetAddress.getLocalHost

1. Using the Setting in the “sipserver.xml”

If the host attribute is set in the <connector> tag of the <transport> tag, SSE uses its value. The followings are example settings in the sipserver.xml.

<sip-server>
  ...

  <transport>
    <conector port="5060"
              host="HOST_1"
              transport="udp"
              classname="..."/>
    <conector port="5060"
              host="HOST_2"
              transport="tcp"
              classname="..."/>
  </transport>
</sip-server>

In this case, SSE uses the address "HOST_1" for SIP messages sent and received on UDP and the address "HOST_2" for SIP messages sent and received on TCP.

<sip-server>
  ...

  <transport>
    <conector port="5060"
              host="HOST_1"
              transport="udp"
              classname="..."/>
    <conector port="5060"
              transport="tcp"
              classname="..."/>
  </transport>
</sip-server>

In this case, the address "HOST_1" is specified for UDP transport, but the address for TCP transport is not specified. SSE needs to follow the remaining steps to determine the address for TCP transport.

You should use the sipserver.xml to specify different addresses for UDP transport and TCP transport.

2. Using the Setting on the Network Channel

As the second method, SIP Servlet Engine uses the network channel configuration on the WebLogic Server side. This setting can be configured using the “Listen Address” in the Protocol --> Channels tab in the Admin Console. But note that "sip" can not be specified here as a protocol. SIP Servlet Engine uses the channel for the protocol "http" in the network channel configuration as the address for UDP and TCP transport, and uses the channel for the protocol "https" as the address for TLS transport. When multiple "http" (or "https") channels exist, any channel is used.

This value is retrieved from the NetworkAccessPointMBean.

3. Using the Setting in the WLS Configuration

If the address to be used can not be determined by 1 or 2, SIP Servlet Engine uses the setting specified in the WebLogic Server general configuration. This setting can be configured using the “Listen Address” in the Configuration --> General tab in the Admin Console. Only one address is set in this configuration regardless of protocols, therefore SIP Servlet Engine uses the same address regardless of which transport used when it uses this setting.

4. Using the Setting Returned by InetAddress.getLocalHost

If the address to be used can not be determined by any of 1 to 3, InetAddress.getLocalHost is used to retrieve the local address.

Understanding Cache

The address information retrieved by the network channel function is cached for the duration specified in the listenAddressCacheDuration of the <container-param> tag. The unit of specification for listenAddressCacheDuration is msec, and the shortest period that can be specified is 500 msec. The default period is 30 seconds (30,000). If a negative value is specified, the default period is used.

Example of specifying the cache duration to 10 seconds

<container-param>
  <param-name>listenAddressCacheDuration</param-name>
  <param-value>10000</param-value>
</container-param>

Last Modified:Wed Dec 01 17:41:09 JST 2004