Configuration Server

Single most important tip is to look in the log file. See Logging for log information and how to change the log level

An internal error has occurred. Click here to continue.

Look in the /var/log/sipxpbx/sipxconfig.log for more information. TIP: Brief error is also on the page if you turn style sheet off or view page source, but complete error should be in sipxconfig.log file

Only see Apache Test Page

If you have apache preinstalled, chances are it's setup to start when your system starts which causes a conflict when sipXpbx starts. You'll know this if you the apache test page.

You can check this by running this command:

/sbin/chkconfig --list httpd

it should return

httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

If any read "on", then

/sbin/chkconfig httpd off
service httpd stop
service sipxpbx restart

Cannot log into Web Admin UI

Postgresql server not running or missconfigured

TEST: Try logging into postgres from client

psql -U postgres SIPXCONFIG
\q to quit

SOLUTION Start postgres.

service postgresql start

If postgres is running and you just want to clear all configuration information

/usr/bin/sipxconfig.sh --database drop create

If you suspect your database is corrupt, you can reinitialize postgres with the following commands:

    1. WARNING : Clears all postgres databases!!!
      service postgresql stop
      rm -rf /var/lib/pgsql/data
      su - postgres -c "initdb /var/lib/pgsql/data"
      /usr/bin/sipxconfig.sh --setup

Forgot superadmin password

SOLUTION:: You can always reset superadmin password to blank, log in then immediately change the password to a new value.

 /etc/init.d/sipxconfig reset-admin
 

You can run this while PBX is still running.

I changed my REALM and users cannot log in

In short, you cannot change your realm, however here are some commands to help you test PINs from the command line. PINs are not stored in the postgres DB for security reasons. Only a hashcode is stored to validate PINs. If you want to test a PIN from the command line, try this command.

For your values of username , password , and realm, the following values must match:

echo -n "username:realm:password" | md5sum
psql -U postgres SIPXCONFIG -c "select pintoken from users where user_name = 'username';"

TIP: If you know basic SQL, it would be relatively easy to write a shell script to reset all passwords to the same value. Better still, if you have access a list of passwords for each user in a text file, you could also write a shell script that sets each pintoken for each user.

SipXconfig won't start

Verify the processes status:

cd sipx/bin
./sipxproc --state

SipXconfig is represented by: "ConfigServer"=>"Running"
You can try starting sipXconfig alone by using
./sipxconfig.sh

For any possible error you can check /var/log/sipxpbx/sipxconfig.log

General failure to start server

TEST: Look for string

"Process ConfigServer state changed: STARTING --> FAILED"

in

/var/log/sipxpbx/watchdog.log

SOLUTION Stop sipXpbx service. Start sipXconfig from console by running

In 3.4

su - sipx
sipxconfig.sh

In 3.2 or older:

su - sipxchange
sipxconfig.sh

You should see an error somewhere in the console.

TEST: Look in

/var/log/sipxpbx/sipxconfig.log

for error messages.

SOLUTION As indicated by the messages.

org.postgresql.util.PSQLException: The connection attempt failed.

An error such as below appears in the console when you run sipxconfig.sh:

/usr/local/sipx/etc/sipxpbx/database/database.xml:33:
org.postgresql.util.PSQLException: The connection attempt failed.

Total time: 0 seconds

ERROR: relation "version_history" does not exist
Error: could not get the database version. Exiting now.

One thing that could be causing this error is if postgres is using IPv6 when it binds to "localhost". This is very common on Fedora Core 6 / Debian Etch (and probably other 2.6 kernel distros) as they enable IPv6 by default. The best way to solve this problem is by disabling IPv6 completely and editing your hosts file, however if your network is using IPv6 you might be able to get away with just editing your /etc/hosts file.

CHECK: If you see ::1 in your /etc/hosts file and not 127.0.0.1 then this is likely the source of your problems.

  1. Do not remove the following line, or various programs
  2. that require network functionality will fail.
    ::1 localhost.localdomain localhost

should be

  1. Do not remove the following line, or various programs
  2. that require network functionality will fail.
    127.0.0.1 localhost.localdomain localhost

use your favorite editor to make this change and then restart postgres

service postgresql stop
service postgresql start

if this is your first time trying to run the sipxconfig then you will need to drop and create the database since that failed the first time sipxconfig.sh tried to do it.

sipxconfig.sh --database drop create

If this does not solve the problem then you may need to disable IPv6 completely. These instructions for Fedora Core 6 should work well for other distro's with some tweaking.

Phones failed to restart

After projecting profiles, Cisco phones should restart. Try restarting phones manually.

TFTP server not started or misconfigured

TEST: Try to download from from your TFTP server. You may need to install tftp client software and your tftp client may have slightly different command syntax

tftp localhost -c get SIPDefault.cnf
less SIPDefault.cnf

SOLUTION: Walk through installation notes for TFTP server installation and look in /var/log/messages for TFTP error messages.

Convenient Commands

  • To take a quick backup of the database

    pg_dump -U postgres -F t SIPXCONFIG | gzip --best > sipxconfig.tar.gz

  • To restore from a quick database

    sipxconfig.sh --database drop
    createdb -U postgres --encoding=UNICODE SIPXCONFIG
    zcat sipxconfig.tar.gz | pg_restore -U postgres -d SIPXCONFIG

Using Wireshark to see inside the box

  • Decrypting the SSL
    sipXconfig uses HTTPS, which in turn uses SSL encryption to hide the details of the transaction from prying eyes. But that can be a pain for developers who want to figure out exactly what is happening. The WireShark network protocol analyzer has the ability to decrypt the SSL communications if given the appropriate keys. The documentation for how to do that is here under "Preference Settings", and below is an example that should work for sipXconfig. In the WireShark "Preferences" pane, under SSL, there is an "RSA keys list" text box (Edit->Preferences->Protocols->SSL->RSA keys list(smile). Fill it out thusly:

    {sipxconfig ip addr},8443,http,{prefix}/var/sipxdata/certdb/{host}.{domain}.key

    Then, after capturing packets between a client and sipXconfig, highlight one of the packets to port 8443, right-click to bring up the menu, and select "Decode As...", then select SSL. Then, right-click again and the option "Follow SSL Stream" should now be enabled. Select that, and enjoy seeing inside the box.