Open Source Installation Guide
From VoiceRDWiki
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.
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:
- Latest release files from the forge. http://forge.voicerd.org
- Novell's eDirectory 8.8 http://download.novell.com
- 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
- Download, compile, & install IAXmodem: https://sourceforge.net/projects/iaxmodem
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!
