The default configuration of the SIP resource adaptor (RA) should be suitable for most environments. However, you can easily reconfigure it to suit a particular requirement, such as using a different IP address or port number.
Each resource adaptor defines a default set of configuration properties that determine its behaviour. When an administrator creates a resource adaptor entity (an "instance" of the RA), they can specify configuration property values other than the defaults.
Below are instructions for editing SIP RA configuration properties and a full listing of Rhino’s default SIP RA configuration properties.
Editing SIP RA configuration properties
The Ant build script build.xml
creates the SIP resource adaptor entity with the following properties (defined in the build.properties
file):
sip.ra.properties=IPAddress=AUTO,Transports="udp,tcp",Port=5060,SecurePort=5061
To change these properties and specify others, edit the sip.ra.properties
property. For example, to enable the SIP RA’s replicated-dialog support, you would add that property as follows (and then deploy the SIP RA):
sip.ra.properties=IPAddress=AUTO,Transports="udp,tcp",Port=5060,SecurePort=5061,ReplicatedDialogSupport=true
The Ant build.xml
script will pass these properties to the createRAEntity
management command.
SIP RA configuration properties
The complete set of configuration properties supported by the SIP RA are as follows.
Property | Type | Default | Description |
---|---|---|---|
IPAddress |
java.lang.String |
AUTO |
The IP address the SIP RA will listen on. The value AUTO means the RA will listen on all interfaces and use the host’s primary IP address in outgoing headers. On Unix machines, the address returned is the IP address associated with the machine’s "hostname". |
VirtualAddresses |
java.lang.String |
None |
Hostnames and/or IP addresses that are local to the cluster. Required when a load balancer is providing a virtual IP address (VIP) for the Rhino cluster. |
Port |
java.lang.Integer |
5060 |
Port used for unencrypted SIP transports (UDP, TCP). |
SecurePort |
java.lang.Integer |
5061 |
Port used for encrypted SIP transports (TLS). |
Transports |
java.lang.String |
UDP,TCP |
Supported SIP transports: comma-separated list containing one or more of UDP, TCP or TLS. |
OffsetPorts |
java.lang.Boolean |
False |
Required when running multiple cluster nodes on the same host. If true, the RA will automatically add an offset to the SIP port number, so that each SIP RA instance gets a different port number. See PortOffset below. |
PortOffset |
java.lang.Integer |
101 |
Required when running multiple cluster nodes on the same host. If OffsetPorts is enabled, the SIP RA’s port will be calculated as |
Automatic100TryingSupport |
java.lang.Boolean |
True |
If enabled, the RA will automatically generate 100 Trying responses for INVITEs. |
WorkerPoolSize |
java.lang.Integer |
4 |
Number of worker threads the SIP RA will use to process incoming messages. If 0, the RA will receive and process messages in the same I/O thread. Otherwise the pool will be used so that incoming messages can be processed concurrently. |
WorkerQueueSize |
java.lang.Integer |
50 |
Queue size for the worker thread pool. If the queue fills, then the RA will drop packets (UDP) or temporarily suspend reads (TCP). |
TCPIOThreads |
java.lang.Integer |
1 |
Number of threads for handling TCP I/O. TCP connections will be divided between the I/O threads. |
ReplicatedDialogSupport |
java.lang.Boolean |
false |
Enables support for replicating SIP dialog state, so that dialog activities can continue on other cluster nodes after a node failure. Requires a clustered, production Rhino installation. |
ExtensionMethods |
java.lang.String |
None |
SIP methods that can initiate dialogs, in addition to the standard |
Keystore |
java.lang.String |
sip-ra-ssl.keystore |
The keystore used to store the public certificates. |
KeystoreType |
java.lang.String |
jks |
The encryption type of the keystore. |
KeystorePassword |
java.lang.String |
None |
The keystore password. |
Truststore |
java.lang.String |
sip-ra-ssl.truststore |
The keystore containing a private certificate. |
TruststoreType |
java.lang.String |
jks |
The encryption type of the trust keystore. |
TruststorePassword |
java.lang.String |
None |
The trust keystore password. |
CRLURL |
java.lang.String |
None |
The certificate-revocation list location. |
CRLRefreshTimeout |
java.lang.Integer |
86400 |
The certificate-revocation list refresh timeout (seconds). |
CRLLoadFailureRetryTimeout |
java.lang.Integer |
900 |
The certificate-revocation list load-failure timeout (seconds). |
CRLNoCRLLoadFailureRetryTimeout |
java.lang.Integer |
60 |
The certificate-revocation list load-failure retry timeout (seconds). |
ClientAuthentication |
java.lang.String |
NEED |
Indicates that clients need to be authenticated against certificates in the keystore. |
EnabledCipherSuites |
java.lang.String |
None |
Restrict the SSL cipher suites used by the RA to those set in this property. Valid values are a comma separated list of cipher suites installed in the JVM running Rhino. |
See Resource Adaptor Entities in the Rhino Administration and Deployment Guide for more information on creating and managing resource adaptor entities. |