SipX ConfigServer Installation

From SIPfoundry sipx, The Open Source SIP PBX for Linux - Calivia

Jump to: navigation, search

If you've installed the entire sipX PBX on Fedora or Redhat Enterprise LINUX then there's nothing left to do. Otherwise keep reading.

Contents

[edit] For Redhat Users

These instructions apply to Redhat Enterprise LINUX and Fedora systems unless explicitly noted.

[edit] System Installation

  1. Install Redhat from CDs. You can select any set of packages including the minimum set of packages labeled "router configuration" in the Redhat installer process.
  2. When prompted for firewall support, select "no firewall support" or open up the following ports in your iptables: 80, 8080, 8443, 8090, 8091, 5060 and 5090.

[edit] Installing Java

Download j2sdk 1.4 and follow the installation instructions on that web page. j2sdk 1.5 is also supported. You will have a choice between "RPM in self-extracting file" and "self-extracting file". Choose the latter (non-RPM) because Sun's RPMs are ill-behaved.

[edit] Installing dependencies with yum

Common to all Fedora systems, you need to add the following packages:

yum install tftp-server httpd postgresql-server
Code: For Redhat Enterprise:
yum install tftp-server httpd rh-postgresql-server

[edit] Fedora Core 3 and 4 and Redhat Enterprise 4: Java build tools using JPackage

You can add JPackage to your yum repository as follows (see [1] for more information):

wget -P /tmp http://jpackage.org/jpackage.asc
rpm --import /tmp/jpackage.asc
wget -P /etc/yum.repos.d http://jpackage.org/jpackage.repo

Remove any previous ant install:

rpm -e apache-ant

Now you can update your system to the required packages:

yum install ant ant-nodeps junit ant-junit \
 ant-trax jakarta-commons-beanutils jakarta-commons-collections

[edit] Fedora Core 2 and Redhat Enterprise 3: Java build tools using custom rpm

Although you can get RPMs from JPackage, SIPfoundry has an RPM with all the tools you'll need. NOTE: This will also work on FC3 (but not FC4) if you run into trouble with using JPackage.

wget http://www.sipfoundry.org/pub/sipX/depends/FC/2/apache-ant-1.6.2-2.noarch.rpm
rpm -ivh apache-ant-1.6.2-2.noarch.rpm

[edit] Installing sipX RPMs from SIPfoundry

Download and install the following RPMs from SIPfoundry:

  • sipxportlib
  • sipxtacklib
  • sipxcommserverlib
  • sipxconfig
  • sipxproxy
  • sipxregistry
  • sipxpublisher
  • sipxvxml
  • sipxpbx

[edit] Installing From Source and Non-Redhat Users

At the moment, this includes Debian, not sure about Gentoo.

Install the following software packages. Follow the installation instructions for your OS. Any special installation instructions are noted below.

[edit] Dependencies

[edit] Environment Variables

Set the following environment variables:

ANT_HOME 
where you unzipped (e.g. installed) ant. Example:
export ANT_HOME=/opt/apache-ant-1.6.2
JAVA_HOME 
to where you installed java. This setting is just used to compile. After installation
sipx-config --jdk

is used to find java dynamically. That means you can upgrade your java and not break your installation. Example:

export JAVA_HOME=/usr/java/j2sdk1.4.2_09
LOCALCLASSPATH 
Gentoo only! unit tests fail (e.g. make check), because of checkstyle issue. If you're a developer on Gentoo, you can run all ant targets exception "ant style", however I did discover this hack to get "ant style" to work, but then I have to unset it each time to get any other tasks to work. This is a parent-child classpath issue that will hopefully go away if/when maven is used.
cd sipXconfig
ant clean default test-all
LOCALCLASSPATH="$PWD/lib/antlr-2.7.5H3.jar:$PWD/lib/checkstyle-3.5.jar:\
$PWD/lib/checkstyle-optional-3.5.jar":\
`java-config --classpath commons-beanutils-1.6,ant-core` ant style

[edit] Compiling and Installation

If you've obtained your source from subversion, and not from a tar file, then run these commands:

Code: Build and install sipXconfig
 autoreconf -if
 ./configure
 make all check install
 

After you've run the "make install" from the sipXconfig project, you will need to run this one command, once ever as root:

Code: Initialize Database
  su - root
  sipxconfig.sh --setup
 

[edit] Additional Setup

[edit] FTP

See FTP Setup

[edit] TFTP

[edit] TFTP on Redhat

Run the following commands:

${EDITOR} /etc/xinetd.d/tftp

Make the following edits to the tftp file. If you've installed via RPM, then {where you installed sipXconfig} is empty:

disable = no
server_args = -s {where you installed sipX}/var/sipxdata/configserver/phone/profile/tftproot

Run the following commands for your edits to take effect:

 # ensure tftp server is not already running
 ps aux | grep tftp

 # if so, stop it
 kill -15 {tftp pid}

 # restart xinit.d, that in turn will start tftp on demand
 service xinetd restart

[edit] TFTP on Gentoo

Run the following commands:

emerge net-misc/tftp-hpa
${EDITOR} /etc/conf.d/in.tftpd

Make the following edits:

INTFTPD_PATH="{where you installed sipXconfig}/var/sipxdata/configserver/phone/profile/tftproot"

Then run the following command:

/etc/init.d/in.tftp start

[edit] Security

Set up an SSL key using the instructions in
sipXcommserverLib/doc/INSTALL.ssl
or
/usr/share/doc/sipxcommserverlib-version/INSTALL.ssl

[edit] Running

[edit] Running with other sipX servers

This is the normal configuration. It's where all the sipx servers like the proxy, status server, mediaserver, etc. are running on the same machine. In this case you will want to follow the instructions in the sipXpbx project for starting the sipxpbx service. This will control the starting and stopping of the necessary components of the configuration system. The sipXproxy will direct SIP messages to the Profile Publisher automatically. If you are using another SIP proxy other than the sipXproxy, or running the sipXproxy on another machine, follow next section "Running Standalone".

[edit] Running Standalone

This configuration has just the sipXconfig server running on one machine. You can follow the instructions for running with all the other sipX servers after making the following configuration changes:

[edit] Only start sipXconfig-related services

Edit config file
etc/sipxpbx/ProcessDefinitions.xml
and remove these sections:
<group name="CommServer" >
...
</group>
<group name="MediaServer" >
...
</group>

[edit] Developer Tools

[edit] Ruby Fedora/RH

Ruby is used for unit testing and sample soap client scripts.

[edit] Step 1: Installing Ruby

[edit] Fedora/RH Installation on Redhat/Fedora

 yum install ruby ruby-docs ruby-devel ruby-libs ri irb rdoc

[edit] Windows Installation on Windows

Download and unzip latest stable release from http://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/. I suggest the following

  1. unzip ruby-*-i386-mswin32.zip into C:\ruby.
  2. Verify ruby runs ok
C:\ruby\bun\ruby.exe --version

[edit] Step 2: Installing Additional Ruby Modules

Additional ruby modules are required only if you intend to compile Ruby bindings for SOAP web services.

NOTE: These 2 libraries are not now part of ruby 1.8.4 (at least on FC), however we do require SOAP4R 1.5.6. and the installed version is 1.5.5. You do need to install this module manually on top of your RPM-based ruby installation

  1. SOAP4R ruby module - http://dev.ctor.org/download/archive/soap4r-20051204.tar.gz (later versions appear to have compatability issues
  1. http-access ruby module - http://dev.ctor.org/download (2.0.6 or better. with ruby 1.8.5 you'll want http-access-20060717.tar.gz or better)

Additional ruby modules are required for script unit tests:

  1. gems package manager - http://rubyforge.org/frs/?group_id=126 (0.8.11 or better)
  2. flexmock mocking library - http://onestepback.org/software/flexmock/ (0.1.7 or better)

[edit] Fedora/RHWindows Installing Additional Ruby Modules

Windows users, tar command is available from Cygwin package, but any tar utility is sufficient


  tar -xzf soap4r-20051117.tar.gz
  cd soap4r-20051117
  sudo ruby install.rb

  tar -xzf http-access-2_0_6.tar.gz
  cd http-access-2_0_6
  sudo ruby install.rb

  tar -xzf rubygems-0.8.11.tgz
  cd rubygems-0.8.11
  sudo ruby setup.rb

  sudo gem install flexmock

Eventually these packages may come with ruby making this step unnecessary, see SOAP4R project for details

[edit] Step 3: Building SOAP Ruby Bindings

[edit] Fedora/RH SOAP bindings on linux

 ./configure --enable-ruby-bindings

ruby bindings will be in build/web/dist/ruby-bindings.

[edit] Windows SOAP bindings for ruby on Windows

edit build/build.properties.in and replace

@RUBY_BINDINGS_ENABLED@

with

enable-ruby-bindings=

If you get a windows system error about a missing DLL iconv.dll described here, it appears benign but annoying. To fix this download libiconv-1.9.1.bin.woe32.zip or newer version from here and copy lib\charset.dll and lib\iconv.dll into ruby\lib\ruby\1.8 directory.

Same issues with zlib.dll. I downloaded 1.1.4 from here.

Personal tools