Open Source Installation Guide

From VoiceRDWiki

Jump to: navigation, search

OK, so you decided to install the VoiceRD Management Console. Keep in mind that this is still beta software. There is no installer so get ready to get your hands dirty.

Contents

SLES SP2 Note:

These instructions will work with SLES SP2, although there are some package conflicts with some Perl packages. We are still testing to see what functionality is missing, but you should be able to get an install working corrently.

Downloading everything and installing system packages

Start by downloading all the necessary packages. You will need:

  • Install dependencies SLES: yast2 -> software -> software management ->

(Some packages may have been renamed)

  apache2-mod_php5
  apache2
  php5
  php5-ldap
  php5-sockets
  kernel-source
  kernel-syms
  mysql
  mysql-client
  mysql-shared
  mysql-devel
  ncurses-devel
  openssl-devel
  openssl 
  ldapcpplib-devel
  gcc
  gcc-c++
  make
  automake
  autoconf
  gnutls
  curl
  curl-devel
  perl-ldap
  perl-net-telnet
  compat-libstdc++
  tftp - recommended for phones (Polycom SoundPoint telephones are the best we've tested.)
  mime-construct
  tiff2ps
  ps2pdf
  python-xml

Accept any automatic changes to package selections.

Extract VoiceRD release packages from Forge

  tar xzvf vrdasterisk.tar.gz
  tar xzvf VoiceRDv12-tar.gz

Change into the "voicerd" directory created.

  cd voicerd

Install Packages

(These packages are in the "voicerd" directory created by the tar archive - version numbers may vary)

  rpm -Uhv libpri-*.rpm
  rpm -Uhv zaptel-*.rpm
  rpm -Uhv imap-*.rpm
  rpm -Uhv python-cheetah-*.rpm
  rpm -Uhv newt-*.rpm
  rpm -Uhv newt-devel*.rpm
  rpm -Uhv speex-*.rpm

Install Asterisk

(These packages are from the vrdasterisk.tar.gz archive)

  rpm -Uhv asterisk-*.rpm
  rpm -Uhv asterisk-addons-*.rpm

Install Simba

(In the voicerd directory)

  rpm -Uhv simba-*.rpm


Install eDirectory

  • The directions below pertain to Novell eDirectory 8.8 If you choose to use a different directory feel free to add documentation to wiki.

Download eDirectory from Novell's page at http://download.novell.com version 8.8 Caution: eDirectory does not work well with the network service Network Manager. Do not use Network Manager on the server hosting eDirectory.

  Unzip the file
  cd eDirectory/setup
  ./nds-install -c server -c admutils -u

  • Edit /root/.profile Add the following:

Note: This file may not exist on your system, in which case create it.

  PATH=/opt/novell/eDirectory/bin:/opt/novell/eDirectory/sbin:$PATH
  LD_LIBRARY_PATH=/opt/novell/eDirectory/lib:/opt/novell/eDirectory/lib/nds-modules:/opt/novell/lib:$LD_LIBRARY_PATH
  MANPATH=/opt/novell/man:/opt/novell/eDirectory/man:$MANPATH
  TEXTDOMAINDIR=/opt/novell/eDirectory/share/locale
  export PATH
  export LD_LIBRARY_PATH
  export MANPATH

For these profile changes to take effect you will have to logout of your system and log back in as root, or place the file .profile into the home directory of your local user. You can test your path by tying "which ndsconfig". It should return the path to ndsconfig.


  ndsconfig new -t VOICERDTREE -n o=voicerd -a cn=admin.o=voicerd
  enter a password
  leave the paths at their defaults

This should start eDirectory for you(check it with ndsstat). If it does not you will have to start it with

  rcndsd start

Modify the eDirectory / LDAP configuration so you can you use ice to import with no TLS.

  ldapconfig -s ldapTLSRequired=no
  User FDN: cn=admin.o=voicerd
  User Password: somepassword
  ldapconfig -s "Require TLS for Simple Binds with Password"=no
  User FDN: cn=admin.o=voicerd
  User Password: somepassword

Note: For FDN use dot format(not comma).


Install VoiceRD LDAP packages

(These packages are in the "voicerd" directory)

  rpm -Uhv VoiceRD-ldap-*.rpm
  rpm -Uhv VoiceRD-misc-*.rpm

Create & Configure Tree Name

Create /var/lib/simba/vrd/conf/treename.xml

The contents should be as follows:

  <Config>
               <treename>TREENAME</treename>
  </Config>
  

Replace "TREENAME" with the name of the eDir tree that you created in the steps above.

Install the eDir Configuration Package

(This package is in the "voicerd" directory)

  rpm -Uhv eDir_config-88-6.i586.rpm

There will be quite a bit of ICE ldap messages scrolling past your screen.

Installing Final VoiceRD Packages

(These packages are in thee "voicerd" directory)

  rpm -Uhv VoiceRD-etc-*.rpm
  rpm -Uhv VoiceRD-asteriskperl-*.rpm
  rpm -Uhv VoiceRD-web-*.rpm

VoiceRD-asteriskperl should also be installed, however this package along with a few others gives an error on SLES SP2

Start Services

  /etc/init.d/apache2 start
  /etc/init.d/mysql start
  asterisk

If Asterisk does not start, change /etc/asterisk/manager.conf 's general section to read:

  enabled=no

This will disable the AMI, but allow asterisk to start. Will need to debug and see what causes this.

Make sure your date is set correctly on the sever

You may do this with the date command, for example:

  date -s 'Thu Oct 15 14:01:01'

or

  ntpdate pool.ntp.org

Setting up the mysql for CDR

  rcmysql start
  mysql -u root -p

NOTE: If your mysql root password is blank just the command above without the p flag: mysql -u root

  mysql> create database cdrdb;
  mysql> use cdrdb;

In the file ~/asterisk-addons-1.2.3/doc/cdr_mysql.txt you will find the table below which you should copy-paste this into your mysql command prompt:

mysql> CREATE TABLE cdr (
 calldate datetime NOT NULL default '0000-00-00 00:00:00',
 clid varchar(80) NOT NULL default ' ',
 src varchar(80) NOT NULL default ' ',
 dst varchar(80) NOT NULL default ' ',
 dcontext varchar(80) NOT NULL default ' ',
 channel varchar(80) NOT NULL default ' ',
 dstchannel varchar(80) NOT NULL default ' ',
 lastapp varchar(80) NOT NULL default ' ',
 lastdata varchar(80) NOT NULL default ' ',
 duration int(11) NOT NULL default '0',
 billsec int(11) NOT NULL default '0',
 disposition varchar(45) NOT NULL default ' ',
 amaflags int(11) NOT NULL default '0',
 accountcode varchar(20) NOT NULL default ' ',
 uniqueid varchar(32) NOT NULL default ' ',
 userfield varchar(255) NOT NULL default ' '
);


Setting up TFTP for Phone Configuration files

(This package is in the "voicerd" directory)

  rpm -Uhv VoiceRD-tftpboot-*.rpm

You may need to start xinetd / tftpd manually.

Faxing with Hylafax & IAXModem

Faxing over VOIP is a big problem. If you want to know why, go here: http://www.voip-info.org/wiki-Asterisk+fax

One way to overcome potential problems is by using a combination of Hylafax ( http://www.hylafax.org ) and IAXmodem ( https://sourceforge.net/projects/iaxmodem ). In short, you let your existing fax machine do outbound faxing, which tends to be more reliable than answering faxes over VOIP, and let asterisk/IAXmodem/hylafax answer faxes. This guide assumes that you have an existing fax machine.

Install IAXmodem

The procedure is as follows:

  • Install dependencies:
  tiff
  libtiff
  libtiff-devel
  libjpeg
  libjpeg-devel
  mgetty
  g3utils
  
  tar zxvf iaxmodem-*.*.*.tar.gz
  cd iaxmodem-*.*.*
  ./configure
  ./build static
  cp iaxmodem /usr/bin/
  cd lib/spandsp
  ./configure
  make
  make install
  mkdir /etc/iaxmodem
  cd /etc/iaxmodem/
  • edit iaxmodem-cfg.ttyIAX (from iaxmodem source tarball)
  peername user#
  password userpassword   
  cp iaxmodem-cfg.ttyIAX /etc/iaxmodem/ttyIAX
  • Start iaxmodem
  iaxmode ttyAIX

Install Hylafax

  rpm -Uhv hylafax.rpm
  • Setup hylafax
  faxsetup

Defaults are OK

  Area Code ? 
  Serial port that modem is connected to ? ttyIAX


  • Add an IAX user via the VoiceRD web interface using the same login info provided in /etc/iaxmodem/ttyIAX
 Make sure youre extconfig.conf file points the iaxpeers and iaxusers to ldap, and that the IAX ldap object has the correct settings. This was broken in some earlier releases. 
  • Start the hylafax service
  /usr/sbin/hylafax start
  • Start the iaxmodem service
  /usr/local/bin/iaxmodem ttyIAX)
  • Try to fax the new iaxmodem extension and see if it answers. If it works, you'll have a tiff file in /var/spool/hylafax/recvq
  • Change the Incoming Route to go to the new IAXmodem extension
  • Make sure that you put both Hylafax and IAXmodem in /etc/inittab so that they start on boot.
  edit /etc/inittab
  mo:35:respawn:/usr/sbin/faxgetty /dev/ttyIAX
  IAX:2345:respawn:/usr/local/bin/iaxmodem ttyIAX

Making hylafax do something

Note: In addition to saving the faxes as tiff files hylafax is typically used for other options. Use the following guides for additonal options: http://www.hylafax.org/content/How-To

We recommend your existing fax machine set up to default cups printer and add this bit to the end of the /var/spool/hylafax/bin/faxrcvd file:

   if [ -n "$SENDTO" ]; then
      echo ""
      echo "The facsimile was automatically dispatched to: $SENDTO."
      else
      /usr/bin/fax2ps $FILE | lpr
   fi

== Known Issues


Good luck!

Personal tools