sipXconfig Tips

Various sleep intervals

Variables in sipxconfig.properties that control various sleep intervals. They are all expressed in milliseconds.

Default values (values used if they are not present in sipxconfig.properties) are presented below.

IMDB replications

sipxReplicationContext.sleepInterval=7000

Dial Plans replication

dialPlanActivationManager.sleepInterval=3000

Phone and Gateway profiles replication

phoneProfileManager.sleepInterval=5000
gatewayProfileManager.sleepInterval=5000

Phone and Gateway restarts - initial delay when restarting devices

phoneRestartManager.sleepInterval=5000
gatewayRestartManager.sleepInterval=5000

Phone and Gateway restarts - minimum interval between 2 consecutive restart

phoneRestartManager.throttleInterval=1000
gatewayRestartManager.throttleInterval=1000

First-run mode

Beginning with version 3.10 when sipXconfig starts for the first time (after fresh installation or an upgrade) it replicates basic configuration:

  • domain-config
    *dialing-rules (*rules.xml.in)
  • all IMDB data sets
  • orbits.xml

Once generation is successful sipXconfig restarts all the sipx services.

If you need to force "first-run" mode at any point after that, invoke:

sipxconfig.sh --first-run

Automatic replication on startup

sipXconfig 3.0 automatically replicates on start-up, regenerating the IMDB XML files that contain
configuration info used by the PBX. This is good for production systems, but can be
inconvenient for hand-configured test systems. To suppress this
behavior, add the line

replicationTrigger.replicateOnStartup=false

to
the file /etc/sipxpbx/sipxconfig.properties.in.

Make sure that sipxconfig.properties has a new line character in the last line.

Default page size in sipXconfig tables

By default sipXconfig displays 20 items per page in its tables.
You can change the number of items displayed in sipXconfig tables by adding an option to the /etc/sipxpbx/sipxconfig.properties.in file.
For example to set number of items per page to 35 add the following line:

visit.tablePageSize=35

tableVariables.tablePageSize=35

Do not forget about a new line character in the last line.

Ant related problems

Ant and even more so optional Ant tasks (which we use quite a lot in sipXconfig) can misbehave easily when they cannot find a proper jar.
Finding XML parser that satisfied all the tasks and does not result in some dependency problems can be a challenge.

There are couple of tricks that can help debug Ant problems.

Running

ant -diagnostics

will display everything that Ant knows about it's environment.

Adding

--execdebug

option to standard command line will display the classpath used by Ant.
You can still call any Ant targets that you want, for example.

ant --execdebug default style

Installing Xalan parser works better than using the parser included in Sun JDK.

yum install xerces-2j

If you do need to add a jar to resolve ClassNotFound problem in Ant the best option is to create a new file in /etc/ant.d directory.
Ant parses those files and builds classpath from base names of the jars.

For example after upgrading from xalan 2.6 to xalan 2.7 my Ant started complaining about org/apache/xml/serializer/SerializerTrace class not being found.
Google search reveals that this class is now in new xalan-j2-serializer.jar. To make ant load this jar you can do that following.

echo "xalan-j2-serializer.jar" > sipxconfig
sudo mv sipxconfig /etc/ant.d