2727 lines
104 KiB
Plaintext
2727 lines
104 KiB
Plaintext
Asterisk/astguiclient install from scratch. v.2.2.0 2010-01-07
|
|
By the VICIDIAL group info@vicidial.com
|
|
|
|
**** IMPORTANT - In order for vicidial/astguiclient to function correctly please
|
|
read the REQUIREMENTS.txt for a minimum requirements list. ***
|
|
|
|
End-user Manuals for Agents and Managers are available from http://www.eflo.net
|
|
|
|
There is also an easier Ubuntu install doc: Ubuntu_Install.txt
|
|
|
|
If you want to skip the experience of installing step-by-step completely, take
|
|
a look at our ISO installer: http://www.vicibox.com
|
|
|
|
|
|
This document will be depricated and not supported after the 2.2.0 release.
|
|
|
|
|
|
|
|
|
|
This document is meant to be a very in-depth step-by-step explanation of
|
|
installing the Asterisk open-source PBX on a Linux system and also installing
|
|
the astGUIclient suite. The instructions will assume starting from nothing and
|
|
will try to give several side step instructions to account for some differences
|
|
in choices of hardware and software.
|
|
|
|
The actual installation that I am doing as I write these instructions will be on
|
|
the following hardware:
|
|
(Changed to more realistic modern hardware)
|
|
- Intel Core 2 Quad CPU
|
|
- SuperMicro Motherboard
|
|
- 4GB RAM
|
|
- 160GB Western Digital SATA ES drive
|
|
- Sangoma VoiceTime USB hardware timer
|
|
- 2U rackmount case with 450W power supply
|
|
- VOIP Phone will be a Zoiper softphone because it's free and does both IAX/SIP
|
|
|
|
All of these parts cost less than $1500 together.
|
|
|
|
This is our test Asterisk server and functions well for 100 or so extensions
|
|
in use if it were to be used in production. A size that is optimal for many
|
|
small offices operating with a fractional data/voice T1 for instance. This
|
|
hardware would also be good for a stand-alone ViciDial system with about 50
|
|
agents handling inbound calls with full recording, or 25 agents doing heavy
|
|
predictive outbound dialing.
|
|
|
|
For hardware you can use almost any modern CPU processor(Intel core2, Xeon, etc)
|
|
, and you can use any Digium or Sangoma telco interface card or USB timer. Both
|
|
of these choices will determine what the capacity of your Asterisk/ViciDial
|
|
server will be. If you want to do simple IVR or conference calling and a few
|
|
extensions, then an Intel Celeron 2GHz with a single Sangoma USB VoiceTime
|
|
dongle will work just fine for you. If you want to use the ViciDial applications
|
|
, you will usually want to get as high-powered of a machine as you can afford.
|
|
|
|
The following is assumed for these installation procedures:
|
|
- You have access to a CD burner and 3 blank CDs(or 1 CD and 1 DVD)
|
|
- You have some sort of broadband internet connection
|
|
- You understand basic linux commands and can use a file editor like vi
|
|
- You have all of the necessary hardware:
|
|
- a pentium-class computer
|
|
- a digium telco interface card with appropriate telco lines
|
|
- at least 1 SIP/IAX VOIP device(this can be a softphone too)
|
|
- a Local Area Network(LAN) with extra ports enough for the new server
|
|
and the number of phones you want
|
|
|
|
|
|
|
|
|
|
|
|
PHASE 1: INSTALLING AN OPERATING SYSTEM
|
|
|
|
|
|
This installation will be using Slackware 12 for the linux distribution,
|
|
Slackware 12.X will also work with these instructions. There are several easier
|
|
linux distributions and there are others that are more popular, but Slackware is
|
|
a nice non-commercial distro that has been around for a long time and proven
|
|
itself to be a very uncluttered and stable platform for development.
|
|
|
|
1. Go to http://www.ultimatebootcd.com/ , download the latest bootcd and
|
|
burn it to a CD. This will be needed to partition the hard drive prior to
|
|
installation of Slackware linux. The latest version as of this writing is 4.1
|
|
(If you have problems with your hardware booting some of the utilities with 4.1
|
|
I suggest trying 1.7, that version has older utilities, but still gets the job
|
|
done and works on every machine I've tried it on).
|
|
|
|
2. Insert the ultimatebootcd you just burned into your CDROM drive and boot
|
|
to it. You will select "filesystem utilities" and then "XFDISK"
|
|
|
|
3. Select any old partitions and delete them and then create 2 new
|
|
partitions:
|
|
- 150000 MB, select yes to validate, change partition type to "Linux Native"
|
|
- 3332 MB, select yes to validate, change partition type to "Linux Swap"
|
|
- press F3 to exit and let it do it's thing, this will take an hour or so.
|
|
|
|
4. Go to http://www.slackware.com/getslack/ to download Slackware linux.
|
|
The most recent release we recommend is 11.0. This release fits on 3 CDs
|
|
or 1 DVD. Download both installation disks from any close server listed on the
|
|
download page and burn them both to CDs.
|
|
|
|
5. Insert Disk 1 of the Slackware installation CD and boot your computer.
|
|
If you have a simple computer with just an IDE drive just hit enter at the boot:
|
|
prompt. If you have other hard drive adapters(SCSI/RAID/SATA/etc..) you will
|
|
need to look at the Slackware installation help page to determine what boot
|
|
image you will need to use to install Slackware correctly.
|
|
|
|
6. Login as root and type "setup" at the prompt to go to the setup menu.
|
|
7. Go to ADDSWAP and hit Enter
|
|
8. Select the swap partition you just created and hit Yes, The swap
|
|
partition will then be formatted
|
|
9. Select the root partiton you just created as Linux Native and hit
|
|
Select, then select "ext3" for the file system, then select 4096 for the inodes
|
|
and the root partition will then be formatted
|
|
10. Select "Install Slackware from a CD" and hit OK
|
|
11. Select "auto" installation and hit OK
|
|
12. Select every package except for "KDEI" and hit OK
|
|
13. Select "full" installation and hit OK
|
|
14. Insert the next Slackware installation disk (disk 2) when it prompts
|
|
you, and hit OK to continue
|
|
15. Now you will select the boot kernel that you will use from now on. If
|
|
you have a simple system with IDE drives you can probably just select "skip" and
|
|
go to the next step. If not then you should probably select "cdrom" and select
|
|
the kernel from the list that you selected to boot into the installation.
|
|
16. You can make a bootdisk if you like, but you don't have to.
|
|
17. For Modem you can select "no modem" and hit OK to continue
|
|
18. Enable hotplug, hit Yes to continue
|
|
19. Install lilo "simple" and hit OK to continue
|
|
20. lilo frame buffer console 640x480 is safe choice if you're not sure
|
|
21. Optional Lilo append, leave blank and hit OK to continue
|
|
22. Lilo destination, I usually choose MBR but root works most of the time
|
|
23. Mouse, select the mouse type that you have hooked up, or select ps/2
|
|
24. Load GPM at boot time, Hit Yes to continue
|
|
25. select Yes to configure your network
|
|
26. Hostname, we are typing "phone"
|
|
27. network, we are typing our local domain name
|
|
28. IP address, we are selecting Static IP, here's what we enter for
|
|
network, you should enter a network setup that will work with your local LAN:
|
|
- IP address: 10.10.10.15
|
|
- subnet: 255.255.0.0
|
|
- gateway: 10.10.10.1
|
|
- name server: 10.10.10.1
|
|
29. Accept your network settings
|
|
30. Startup services to run, change nothing and select OK to continue
|
|
31. select NO for custom screen fonts
|
|
32. Hardware clock to UTC, select NO
|
|
33. Select your time zone and hit OK
|
|
34. I usually select gnome as the window manager, even though you won't be
|
|
using it on this machine
|
|
35. Select Yes to enter a root password. type something that you will
|
|
remember.
|
|
36. Setup of Slackware Linux is complete, hit OK and EXIT then press
|
|
CTRL-ALT-DELETE to reboot your computer
|
|
|
|
|
|
|
|
|
|
|
|
PHASE 2: COMPILING A CUSTOM LINUX KERNEL
|
|
|
|
|
|
From this step on you should be able to continue the installation remotely
|
|
although it is wise to at least have quick access to the machine if something
|
|
goes wrong.
|
|
|
|
To connect remotely through SSH on linux type "slogin serveripaddress" or to use
|
|
Windows to connect you can use a piece of free software called putty available
|
|
here: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
|
|
Also, for windows you can use SSH file transferring(SFTP) with a program called
|
|
filezilla: http://filezilla.sourceforge.net/
|
|
|
|
This is an optional step if your linux system is running, but compiling your own
|
|
custom kernel is always a way to optimize your system for the hardware you have
|
|
installed or a way to remove the unnecesary modules that are in the default
|
|
kernel. You will definately want to build your own kernel if you have a multi
|
|
processor machine. If you are new to Linux you probably do not want to do this.
|
|
|
|
If you are using a newer Digium Octasic-based echo-cancellation quad T1/E1 card
|
|
then you need to use a 2.6 Linux kernel in order to use the echo-cancellation
|
|
functionality of the card.
|
|
|
|
If you want to compile a 2.6 kernel then start with OPTION 1:
|
|
|
|
OPTION 1: compile Linux kernel 2.6.17 *NOT REQUIRED*
|
|
|
|
1. cd /usr/src
|
|
2. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.gz
|
|
3. gunzip linux-2.6.17.11.tar.gz
|
|
4. tar xvf linux-2.6.17.11.tar
|
|
5. mv -f /usr/src/linux /usr/src/linux-old
|
|
6. ln -s /usr/src/linux-2.6.17.11 /usr/src/linux
|
|
7. cd linux
|
|
8. make mrproper # prep for kernel assembly
|
|
9. make menuconfig # launch configuration menu app
|
|
(this part is very dependant upon your own hardware)
|
|
(what is mentioned below are only changes beyond what is selected by default)
|
|
|
|
Block Layer --->
|
|
-> IO Scheduler
|
|
this should be set to CFQ if you do not have a hardware caching controller
|
|
if you have a hardware caching controller DEADLINE or NO-OP are the best
|
|
choices, if you have a battery backuped caching controller that is set to write-back you should use NO-OP.
|
|
Processor Type and Features --->
|
|
->Symmetric multi-processing support
|
|
(if you have multiple processors or a Dual-core or HT enabled)
|
|
->High Memory Support
|
|
(if you have more than 900MB of System RAM move upto 4GB)
|
|
->Timer frequency (1000 HZ)
|
|
(change to 1000Hz if using ztdummy for timer on pre 2.6.17 kernel)
|
|
->[*]Tickless System (enable UNLESS using ztdummy on pre 2.6.17 kernel)
|
|
->[*]Enable Kernel irq balancing
|
|
->Preemption Model (No Forced Preemption (Server))
|
|
(^This one is very important!!!)
|
|
Power management options (ACPI, APM) --->
|
|
->ACPI (Advanced Configuration and Power Interface) Support
|
|
(enable all down to Processor and thermal zone)
|
|
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
|
|
->[*] PCI Express support
|
|
(if using Sangoma PCI Express card)
|
|
Networking --->
|
|
Amateur Radio support --->
|
|
<*> Amateur Radio AX.25 Level 2 protocol
|
|
[*] AX.25 DAMA Slave support
|
|
<*> Amateur Radio NET/ROM protocol
|
|
<*> Amateur Radio X.25 PLP (Rose)
|
|
(all needed for new Digium Octasic drivers)
|
|
Device Drivers --->
|
|
ATA/ATAPI/MFM/RLL support --->
|
|
<*> SCSI emulation support
|
|
(needed for SATA drives, also further down check chipset drivers)
|
|
SCSI device support --->
|
|
<*> RAID Transport Class
|
|
(needed if you are using a RAID)
|
|
SCSI low-level drivers --->
|
|
<*> Serial ATA (SATA) support
|
|
(required if using SATA drives)
|
|
(if using a SCSI RAID card pick correct driver here)
|
|
Multi-device support (RAID and LVM) --->
|
|
(select proper RAID types if using Linux RAID)
|
|
Network device support --->
|
|
Ethernet (10 or 100Mbit) --->
|
|
Ethernet (1000 Mbit) --->
|
|
(select proper drivers for the eype of network card you have)
|
|
Character devices --->
|
|
<*> Enhanced Real Time Clock Support
|
|
(double-check that this is enabled, very important)
|
|
Real Time Clock --->
|
|
<*> RTC class
|
|
(double-check that this is enabled, very important)
|
|
File systems --->
|
|
<*> Ext3 journalling file system support
|
|
(important if using ext3 filesystem)
|
|
pseudo filesystems --->
|
|
<*> Virtual memory file system support
|
|
(this is usually checked anyway but mandatory for recording to RAM[tmpfs])
|
|
Library routines --->
|
|
<*> CRC-CCITT functions
|
|
<*> CRC16 functions
|
|
<*> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check
|
|
(important for new Digium Octasic drivers)
|
|
EXIT AND SAVE YOUR CONFIGURATION
|
|
|
|
10. make clean # clean up the kernel build areas
|
|
11. make bzImage # create a kernel bzImage
|
|
12. make modules # build the modules into the image
|
|
13. make modules_install # install kernel modules
|
|
14. cp arch/i386/boot/bzImage /boot/bzImage-XXXX # copy image
|
|
(put whatever you want in XXXX, that is your new kernel name)
|
|
15. cp System.map /boot/System.map-XXXX # copy system map
|
|
16. mv -f /boot/System.map /boot/System.map-orig
|
|
17. ln -s /boot/System.map-XXXX /boot/System.map # symlink map
|
|
18. vi /etc/lilo.conf # edit the lilo boot config file
|
|
image=/boot/bzImage-XXXX # add the new image in above-
|
|
label=test-XXXX # the previous one
|
|
root=/dev/hda1 # device of root partition
|
|
read-only
|
|
19. /sbin/lilo # run the lilo reload script
|
|
20. vi /etc/fstab # to include the following line for recording to RAM
|
|
tmpfs /var/spool/asterisk/monitor tmpfs rw 0 0
|
|
21. shutdown -r 0 # reboot machine and hope it worked
|
|
|
|
|
|
After compiling your kernel you can run a few commands to verify that you are
|
|
running your new kernel and that devices are running as they are supposed to:
|
|
ps --info (will show you your linux kernel version and other info)
|
|
cat /proc/cpuinfo (will show you processor type and more than one if SMP)
|
|
top (will show you system memory)
|
|
|
|
|
|
|
|
|
|
PHASE 3: INSTALLING SOFTWARE BEFORE ASTERISK
|
|
|
|
In this step we will be installing software that Asterisk and/or astGUIclient
|
|
needs to be able to function to its fullest ability. Not all of these software
|
|
packages are manditory to successfully install Asterisk and some of them can be
|
|
installed on other machines on your network like MySQL or Apache. But, in this
|
|
installation we are assuming that there are no other machines on our network to
|
|
help the Asterisk server, so it must have everything it needs installed locally.
|
|
|
|
|
|
|
|
SUBPHASE 3.0: install new Gnu Make
|
|
|
|
A new version of the "make" compilation application replaced the 4-year-old
|
|
version that most Linux distros(Including Slackware) use. This is only needed
|
|
if you will be building Asterisk from the 1.4 release tree.
|
|
|
|
- wget http://mirrors.kernel.org/gnu/make/make-3.81.tar.gz
|
|
- gunzip make-3.81.tar.gz
|
|
- tar xvf make-3.81.tar
|
|
- cd make-3.81
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
|
|
|
|
|
|
SUBPHASE 3.1: MySQL requirements
|
|
|
|
You must at least have Mysql client installed on each VICIDIAL server, but you
|
|
only need one database server.
|
|
|
|
MySQL is a fast database system that is very easy to integrate with any
|
|
application. You can either install the server on the local Asterisk system or
|
|
have one somewhere on your network. For our purposes, we are creating an Asterisk
|
|
installation that is self contained and needs no other local servers to operate,
|
|
so we will need to install mysql on this machine.
|
|
*REQUIRED and OPTIONAL* (only install MySQL server locally if you don't want to use an installation
|
|
on another machine, Mysql client is required on all VICIDIAL servers)
|
|
NOTE: a minimum of MySQL server 5.0.X is required
|
|
You should increase the connect_timeout so connections do not fail on
|
|
a more loaded system.
|
|
|
|
Go to http://www.mysql.com/ and download the mysql package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local/
|
|
- wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz
|
|
- gunzip mysql-5.0.67.tar.gz
|
|
- tar xvf mysql-5.0.67.tar
|
|
- cd mysql-5.0.67
|
|
- groupadd mysql
|
|
- useradd -g mysql mysql
|
|
- ./configure --prefix=/usr/local/mysql --enable-shared=yes --with-readline --enable-thread-safe-client --enable-large-files --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-big-tables
|
|
**** If only MySQL client is needed for DBD::mysql then use this:
|
|
- "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline"
|
|
- make
|
|
- make install
|
|
- PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
|
|
- export PATH
|
|
- PATH=$PATH:$HOME/bin:/usr/local/mysql/include/mysql/
|
|
- export PATH
|
|
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/
|
|
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
|
- cd /usr/local/mysql-5.0.67
|
|
- scripts/mysql_install_db
|
|
- chown -R root /usr/local/mysql
|
|
- chown -R mysql /usr/local/mysql/var
|
|
- chgrp -R mysql /usr/local/mysql
|
|
- cp support-files/my-huge.cnf /etc/my.cnf
|
|
- /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache &
|
|
- ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock
|
|
- vi /etc/my.cnf
|
|
# add this line below 'skip-locking'
|
|
skip-name-resolve
|
|
# comment out the line 'log-bin=mysql-bin'
|
|
max_connections = 200
|
|
connect_timeout=60
|
|
|
|
**** For some systems you may need to add the mysql/bin directory to your PATH:
|
|
- PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
|
|
- export PATH
|
|
**** you may also want to add those two lines to your /root/.bash_profile file
|
|
**** For Mysql 5 tree only, you also may need to copy the libmysqlclient.so file to libs
|
|
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/
|
|
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
|
- you are done
|
|
|
|
** INSTALLATION NOTE **
|
|
If you are having Linuxthreads problems upon onfigure, just execute the following command:
|
|
echo '/* Linuxthreads */' >> /usr/include/pthread.h
|
|
|
|
***** NOTE: if you will be using any of the DBI perl scripts: *****
|
|
Every machine that you will be using the newer BDI perl scripts on will need
|
|
to have the perl modules DBI and DBD::mysql installed on them. To do this
|
|
you will also need to at least have the MySQL client installed on the server
|
|
(see above) then you will need to go to 'cpan' and "install DBI" and
|
|
"install DBD::mysql". You may need to "force install DBD::mysql" if the DBD
|
|
tests fail on your first try, but that is OK since the tests are not needed
|
|
|
|
|
|
|
|
SUBPHASE 3.2: Installing Perl Modules
|
|
|
|
NOTE - you can install ActiveState http://www.activestate.com perl, but it is not required.
|
|
http://www.activestate.com/activeperl/downloads
|
|
|
|
cpan is the "Comprehensive Perl Archive Network". It's a mirrored archive of
|
|
most of the perl modules out there complete with a installation and management
|
|
command-line interface. Here's what you do to start it:
|
|
*REQUIRED* (needed for perl AGIs)
|
|
|
|
1. perl -MCPAN -e shell # type in the command line
|
|
2. You will then go through CPAN setup, just hit ENTER for most prompts except
|
|
for the mirrors list, you will want to select at least 4 mirrors
|
|
- yes for manual configuration
|
|
- enter for the next 18 prompts
|
|
- for the "make install options" it's a good idea to add UNINST=1
|
|
- enter for the next 4 prompts
|
|
- select your continent and country
|
|
- select a few cpan mirrors
|
|
- enter for the next 2 prompts
|
|
3. Once you see the cpan> prompt you can begin installing modules
|
|
4. If you've never installed cpan before you should probably install the
|
|
following modules first: (say YES if asked to install prerequisites)
|
|
- install MD5
|
|
- install Digest::MD5
|
|
- install Digest::SHA1
|
|
- install readline (just hit Enter when it asks for operator)
|
|
- install Bundle::CPAN
|
|
- reload cpan
|
|
- then you can install other modules:
|
|
- install Pod::Usage (this is a core module and should already be installed,
|
|
but we want to be sure it's been installed)
|
|
- install Getopt::Long (this a core module and should already be installed,
|
|
but we want to be sure it's been installed)
|
|
- install DBI
|
|
- force install DBD::mysql (must at least have mysqlclientlibs installed)
|
|
- install Net::Telnet
|
|
- install Time::HiRes
|
|
- install Net::Server
|
|
- install Mail::Sendmail
|
|
- install Unicode::Map (needed for super list loader Excel)
|
|
- install Jcode (needed for super list loader Excel)
|
|
- install Spreadsheet::WriteExcel (needed for super list loader Excel)
|
|
- install OLE::Storage_Lite (needed for super list loader Excel)
|
|
- install Proc::ProcessTable (needed for super list loader Excel)
|
|
- install IO::Scalar (needed for super list loader Excel)
|
|
- install Spreadsheet::ParseExcel (needed for super list loader Excel)
|
|
- if Spreadsheet::ParseExcel fails to install try running the following:
|
|
- force install Scalar::Util (this will enable weak references)
|
|
- install Spreadsheet::ParseExcel
|
|
- install Archive::Zip
|
|
- install Compress::Raw::Zlib
|
|
- install Spreadsheet::XLSX
|
|
- install Test::Tester
|
|
- install Spreadsheet::ReadSXC
|
|
- install Text::CSV
|
|
- install Test::NoWarnings
|
|
- install Text::CSV_PP
|
|
- install File::Temp
|
|
- install Text::CSV_XS
|
|
- install Spreadsheet::Read
|
|
- install LWP::UserAgent
|
|
- install HTML::Entities
|
|
- install HTML::Strip
|
|
- install HTML::FormatText
|
|
- install HTML::TreeBuilder
|
|
- install Switch
|
|
- install Time::Local
|
|
- install MIME::Decoder
|
|
- install Mail::POP3Client
|
|
- install Mail::IMAPClient
|
|
- install Mail::Message
|
|
- install IO::Socket::SSL
|
|
- install MIME::Base64
|
|
- install MIME::QuotedPrint
|
|
- then quit cpan, you are done
|
|
5. Go to http://asterisk.gnuinter.net/ and download the asterisk-perl module
|
|
(backup link: http://download.vicidial.com/packages/asterisk-perl-0.08.tar.gz)
|
|
NOTE: Do NOT use the 0.09 or any newer version, they do not work with VICIDIAL
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
|
|
- gunzip asterisk-perl-0.08.tar.gz
|
|
- tar xvf asterisk-perl-0.08.tar
|
|
- cd asterisk-perl-0.08
|
|
- perl Makefile.PL
|
|
- make all
|
|
- make install
|
|
- you are done
|
|
|
|
|
|
|
|
SUBPHASE 3.3: Installing other utilities
|
|
|
|
Sox is an audio utility that allows you to mix audio files together at their
|
|
start point into one file. it is necessary for Asterisk recordings that record
|
|
in and out as separate files
|
|
*REQUIRED* (needed for recording mixing)
|
|
|
|
1. Go to http://sourceforge.net/projects/sox/ and download the sox package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- cd /usr/local
|
|
- wget http://easynews.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz
|
|
- gunzip sox-14.0.1.tar.gz
|
|
- tar xvf sox-14.0.1.tar
|
|
- cd sox-14.0.1
|
|
- ./configure --disable-shared
|
|
- make (if alsa.o errors add --disable-alsa-dsp to configure and redo)
|
|
- make install
|
|
- you are done
|
|
|
|
|
|
LAME is an MP3 encoder used to convert audio files from WAV to MP3. We prefer GSM
|
|
usually, but some users have standardized on MP3 so they would need this utility
|
|
to be loaded to use that option.
|
|
*OPTIONAL* (only needed if you will be converting recordings to MP3)
|
|
|
|
2. Go to http://lame.sourceforge.net/ and download the lame package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
-wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz
|
|
-gunzip lame-3.96.1.tar.gz
|
|
-tar xvf lame-3.96.1.tar
|
|
-cd lame-3.96.1
|
|
-./configure
|
|
-make
|
|
-make install
|
|
- you are done
|
|
|
|
|
|
|
|
Screen is a terminal emulator that allows you to run a process as command line
|
|
and be able to detach from them('Ctrl+a' then 'd') and log all output of the
|
|
terminal to a screenlog file if desired(add a '-L' to the launching command).
|
|
In our installations this is how we launch Asterisk upon startup and still have
|
|
the ability to log output and still attach to the screen that executed asterisk
|
|
originally.
|
|
*REQUIRED* *MANDITORY FOR VICIDIAL SERVERS*
|
|
|
|
3. Go to http://www.gnu.org/software/screen/ and download the screen package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz
|
|
or for older version:
|
|
- wget http://mirrors.kernel.org/gnu/screen/screen-3.9.15.tar.gz
|
|
- gunzip screen-4.0.2.tar.gz
|
|
- tar xvf screen-4.0.2.tar
|
|
- cd screen-4.0.2
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- you are done
|
|
|
|
|
|
ttyload is a simple terminal application that shows the processor load in a
|
|
graphical time-based scrolling graph. We use it to view how loaded the system is
|
|
and it visualizes load spikes very well
|
|
*OPTIONAL* (only for obsessive admins like me)
|
|
|
|
4. Go to http://www.daveltd.com/src/util/ttyload/ and download the ttyload
|
|
package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://www.daveltd.com/src/util/ttyload/ttyload-0.4.4.tar.gz
|
|
- gunzip ttyload-0.4.4.tar.gz
|
|
- tar xvf ttyload-0.4.4.tar
|
|
- cd ttyload-0.4.4
|
|
- make
|
|
- ln -s /usr/local/ttyload-0.4.4/ttyload /usr/bin/ttyload
|
|
- you are done
|
|
|
|
|
|
ntpd is the network time protocol daemon that matches the time on your machine
|
|
with the time of a master server somewhere in the world. We use it to make sure
|
|
the time is the same on our client computers and our servers.
|
|
*MANDITORY FOR VICIDIAL SERVERS* (install on server and all clients)
|
|
|
|
5. Go to http://www.ntp.org/ and download the ntpd package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.2p3.tar.gz
|
|
If you get compilation errors here try 4.1.2:
|
|
- wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.1.2.tar.gz
|
|
- gunzip ntp-4.2.2p3.tar.gz
|
|
- tar xvf ntp-4.2.2p3.tar
|
|
- cd ntp-4.2.2p3
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- vi /etc/ntp.conf (change to just 1 line: "server ntp.myfloridacity.us")
|
|
- cp /etc/ntp.conf /etc/ntpd.conf # just to be sure
|
|
- /usr/local/bin/ntpdate -u pool.ntp.org # initial sync
|
|
- /usr/sbin/ntpd # run it
|
|
- you are done
|
|
|
|
|
|
iftop is a good console bandwidth visualization tool that shows you active
|
|
connections, where they are going to/from and how much of your precious bandwidth
|
|
they are using. *OPTIONAL*
|
|
NOTE: another good network analysis utility is "iptraf" and is on most system
|
|
|
|
6. Go to http://www.ex-parrot.com/~pdw/iftop/ and download the package
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz
|
|
- gunzip libpcap-0.9.4.tar.gz
|
|
- tar xvf libpcap-0.9.4.tar
|
|
- cd libpcap-0.9.4
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- cd /usr/local
|
|
- wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
|
|
- gunzip iftop-0.17.tar.gz
|
|
- tar xvf iftop-0.17.tar
|
|
- cd iftop-0.17
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- iftop
|
|
- you are done
|
|
|
|
|
|
ploticus is a free graph creation package that allows you to create line graphs
|
|
within PNG files simply by creating a config file and a data file. We use this
|
|
package along with the included PHP script to generate server performance graphs
|
|
that can be displayed real-time on a web page.
|
|
*OPTIONAL* (only needed for server performance graphing web reports)
|
|
|
|
7. Go to http://ploticus.sourceforge.net/ and download the package
|
|
- to install this directly on the command line type:
|
|
NOTE: you may have to edit the Makefile to remove X11 if you don't have it
|
|
- cd /usr/local
|
|
- wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz
|
|
- gunzip pl240src.tar.gz
|
|
- tar xvf pl240src.tar
|
|
- cd pl240src/src/
|
|
- make clean
|
|
- make
|
|
- make install
|
|
- you are done
|
|
NOTE: uncomment these lines to compile on systems without X11(v232):
|
|
NOXFLAG = -DNOX11
|
|
XLIBS =
|
|
XOBJ =
|
|
NOTE: for the graphics to work on the AST_server_performance page you will
|
|
need the 'pl' script to be linked or copied into your htdocs/vicidial/ploticus directory
|
|
NOTE: you may need to edit the Makefile for ploticus if you do not have X11
|
|
|
|
|
|
openssh is a remote login protocol server that is always a good idea to have
|
|
updated on your system, so we're going to install a new version now.
|
|
*OPTIONAL* (only updated as a precaution, not manditory)
|
|
[NOTE: newer zlib is needed before installing]
|
|
|
|
8. Go to http://www.openssh.org/ and download the linux source for openssh
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://www.zlib.net/zlib-1.2.3.tar.gz
|
|
- gunzip zlib-1.2.3.tar.gz
|
|
- tar xvf zlib-1.2.3.tar
|
|
- cd zlib-1.2.3
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- cd /usr/local
|
|
- wget http://ftp.arcane-networks.fr/pub/OpenBSD/OpenSSH/portable/openssh-5.2p1.tar.gz
|
|
- gunzip openssh-5.2p1.tar.gz
|
|
- tar xvf openssh-5.2p1.tar
|
|
- cd openssh-5.2p1
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- you are done
|
|
|
|
|
|
openssl is the open-source SSL libraries package, and to install a fake SSL cert
|
|
locally and have it work with apache, you need it installed on your machine
|
|
*OPTIONAL* (only install openssl if you want to use SSL secured web pages on
|
|
your locally installed copy of Apache web server)
|
|
|
|
9. Go to http://www.openssl.org/ and download the linux source for openssl
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
|
|
- gunzip openssl-0.9.8j.tar.gz
|
|
- tar xvf openssl-0.9.8j.tar
|
|
- cd openssl-0.9.8j
|
|
- ./config
|
|
- make
|
|
- make install
|
|
- you are done
|
|
|
|
|
|
apache is a web server that allows you to use many different modules with it to
|
|
extend it's functionality. In order to use some of the astguiclient
|
|
functionalities we need to have Apache and PHP installed on this machine.
|
|
*OPTIONAL* (only install Apache and PHP locally if you don't want to use an
|
|
installation on another machine)
|
|
|
|
10. Go to http://www.apache.org/ and download the apache unix source
|
|
Go to http://www.php.net/ and download the php unix source code
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz
|
|
- gunzip httpd-2.2.11.tar.gz
|
|
- tar xvf httpd-2.2.11.tar
|
|
- wget http://us2.php.net/distributions/php-5.2.9.tar.gz
|
|
- gunzip php-5.2.9.tar.gz
|
|
- tar xvf php-5.2.9.tar
|
|
- cd httpd-2.2.11
|
|
- ./configure --enable-so --with-apxs2
|
|
- make
|
|
- make install
|
|
- cd ../php-5.2.9
|
|
- ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
|
|
- make
|
|
- make install
|
|
- cp php.ini-dist /usr/local/lib/php.ini
|
|
NOTE: you will want to make sure NOTICE logging is turned off:
|
|
error_reporting = E_ALL & ~E_NOTICE ; (this is default)
|
|
!!! REQUIRED !!! be sure the memory limit for scripts in php.ini is AT LEAST 48M:
|
|
memory_limit = 48M
|
|
Make sure short tags are enabled:
|
|
short_open_tag = On
|
|
some other fields to change if using web-based lead loader:
|
|
max_execution_time = 330
|
|
max_input_time = 360
|
|
post_max_size = 48M
|
|
upload_max_filesize = 42M
|
|
default_socket_timeout = 360
|
|
|
|
- vi /usr/local/apache2/conf/httpd.conf
|
|
add the following lines:
|
|
"AddType application/x-httpd-php .php .phtml"
|
|
"LoadModule php4_module libexec/libphp5.so"
|
|
or
|
|
"LoadModule php4_module modules/libphp5.so"
|
|
modify the index.html line and add index.php to the list
|
|
|
|
to disable logging, change:
|
|
"CustomLog logs/access_log common"
|
|
to this:
|
|
"CustomLog /dev/null common"
|
|
|
|
to enable web browsing of Recordings on Asterisk server, add this:
|
|
Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/"
|
|
|
|
<Directory "/var/spool/asterisk/monitorDONE">
|
|
Options Indexes MultiViews
|
|
AllowOverride None
|
|
Order allow,deny
|
|
Allow from all
|
|
<files *.mp3>
|
|
Forcetype application/forcedownload
|
|
</files>
|
|
</Directory>
|
|
|
|
- /usr/local/apache2/bin/apachectl start
|
|
- go to http://your-new-asterisk-server-ipaddress/ to see if it worked
|
|
- you are done
|
|
NOTE: If using PHP5 you may need to add the following line to php.ini:
|
|
short_open_tag = On
|
|
|
|
OPTIONAL- Load eAccelerator PHP-caching application:
|
|
Even so this is technically an optional part, it is strongly recommended that you install eAccelerator
|
|
since it will slash PHPs processing power requirements greatly. Without eAccelerator load on the system
|
|
can be ten times as high, which can cause all kinds of problems, this is especially true for single
|
|
system setups.
|
|
- Go to http://eaccelerator.net and download the most recent package
|
|
- cd /usr/local
|
|
- wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.3.zip
|
|
- unzip eaccelerator-0.9.5.3.zip
|
|
- cd eaccelerator-0.9.5.3
|
|
- export PHP_PREFIX="/usr/local"
|
|
- $PHP_PREFIX/bin/phpize
|
|
- ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
|
|
- make
|
|
- make install
|
|
- vi /usr/local/lib/php.ini
|
|
Add the following lines to the dynamic extensions section of php.ini:
|
|
(you may need to change the extension location depending on your install of php)
|
|
zend_extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so"
|
|
eaccelerator.shm_size="48"
|
|
eaccelerator.cache_dir="/tmp/eaccelerator"
|
|
eaccelerator.enable="1"
|
|
eaccelerator.optimizer="1"
|
|
eaccelerator.check_mtime="1"
|
|
eaccelerator.debug="0"
|
|
eaccelerator.filter=""
|
|
eaccelerator.shm_max="0"
|
|
eaccelerator.shm_ttl="0"
|
|
eaccelerator.shm_prune_period="0"
|
|
eaccelerator.shm_only="0"
|
|
eaccelerator.compress="1"
|
|
eaccelerator.compress_level="9"
|
|
- mkdir /tmp/eaccelerator
|
|
- chmod 0777 /tmp/eaccelerator
|
|
# to verify installation:
|
|
- php -v
|
|
|
|
|
|
NOTE: there is now a utility available to manage eaccelerator from a web interface:
|
|
#> cd /usr/src/eaccelerator-0.9.5.3
|
|
#> cp control.php /srv/www/htdocs/eaccelerator_control.php
|
|
#> cd /srv/www/htdocs/
|
|
#> vim eaccelerator_control.php
|
|
Edit the following two lines:
|
|
$user = "username";
|
|
$pw = "password";
|
|
#> vim /etc/php5/conf.d/eaccelerator.ini
|
|
Add the following line:
|
|
eaccelerator.allowed_admin_path = "/srv/www/htdocs/"
|
|
|
|
|
|
|
|
|
|
|
|
balance is a load-balancing application for Linux that will allow you to spread
|
|
the load of your web traffic across many servers. If you are running more than
|
|
70 agents on a single server you may want to install this application and build
|
|
another cheap web server to handle the extra load.
|
|
*OPTIONAL*
|
|
|
|
11. Go to http://balance.sourceforge.net to download the most recent source version
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://voxel.dl.sourceforge.net/sourceforge/balance/balance-3.34.tgz
|
|
- gunzip balance-3.34.tgz
|
|
- tar xvf balance-3.34.tar
|
|
- cd balance-3.34
|
|
- make
|
|
- make install
|
|
- /usr/sbin/balance -f 81 localhost:80 10.10.10.16:80
|
|
That command will take port 81 traffic and send it evenly to the local
|
|
server and the 10.10.10.16 server reducing the load and speeding up
|
|
the applications. More info on balance: http://www.inlab.de/balance.pdf
|
|
|
|
|
|
subversion is the new code control framework use by the Asterisk community. If
|
|
you want to use the latest development code of Asterisk you will need to have
|
|
this loaded on your system.
|
|
*OPTIONAL*
|
|
|
|
12. Go to http://subversion.tigris.org to download the most recent source version
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.gz
|
|
- gunzip subversion-1.5.2.tar.gz
|
|
- tar xvf subversion-1.5.2.tar
|
|
- cd subversion-1.5.2
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
|
|
|
|
mtop is a great utility for real-time monitoring of mysql and the queries that
|
|
are running in it.
|
|
*OPTIONAL*
|
|
13. Go to http://mtop.sourceforge.net to download the most recent version
|
|
- to install this directly on the command line type:
|
|
- cd /usr/local
|
|
- wget http://superb-east.dl.sourceforge.net/sourceforge/mtop/mtop-0.6.6.tar.gz
|
|
- gunzip mtop-0.6.6.tar.gz
|
|
- tar xvf mtop-0.6.6.tar
|
|
- cd mtop-0.6.6
|
|
- cpan
|
|
- install Curses
|
|
- install Net::Domain
|
|
- quit
|
|
- perl Makefile.PL
|
|
- make
|
|
- make install
|
|
- /usr/local/bin/mtop --dbuser=root --seconds=3
|
|
|
|
|
|
sipsak is an optional utility that VICIDIAL can use to send messages to an
|
|
agent's SIP-based phone(like the Snom 320) to display text on their LCD screen.
|
|
If you want to use this, make sure it is installed on the same server that your
|
|
web server is installed on(Apache).
|
|
*OPTIONAL*
|
|
14. Go to http://sipsak.org to download the most recent version
|
|
- to install this directly on the command line, type:
|
|
- cd /usr/local
|
|
- wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz
|
|
- gunzip sipsak-0.9.6-1.tar.gz
|
|
- tar xvf sipsak-0.9.6-1.tar
|
|
- cd sipsak-0.9.6-1
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- /usr/local/bin/sipsak --version
|
|
|
|
|
|
|
|
|
|
|
|
PHASE 4: INSTALLING ASTERISK
|
|
|
|
OK, all the prep work is done, now it's time to start having fun with Asterisk.
|
|
There are two basic ways to install Asterisk, an official release(at the time of
|
|
this writing the recommended release is 1.4.21.2). These instructions are how we
|
|
get our Asterisk system with it's T1 line installed with our Zoiper softphone.
|
|
|
|
NOTE: If you want to use Asterisk 1.2, you will need to make sure that you set
|
|
the servers table "asterisk_version" field to the proper version number and you
|
|
can use the docs/conf_examples/extensions.conf.sample file for your default
|
|
dialplan
|
|
|
|
1. follow these command line steps:
|
|
mkdir /usr/src/asterisk-1.4
|
|
cd /usr/src/asterisk-1.4
|
|
wget http://downloads.digium.com/pub/asterisk/old-releases/asterisk-1.4.21.2.tar.gz
|
|
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz
|
|
wget http://downloads.digium.com/pub/libpri/libpri-1.4.9.tar.gz
|
|
tar xzf asterisk-1.4.21.2.tar.gz
|
|
tar xzf zaptel-1.4.12.1.tar.gz
|
|
tar xzf libpri-1.4.9.tar.gz
|
|
cd libpri-1.4.9
|
|
make clean; make; make install
|
|
cd ../zaptel-1.4.12.1
|
|
./configure; make clean; make; make install
|
|
cd ../asterisk-1.4.21.2
|
|
wget http://www.eflo.net/files/enter.h
|
|
wget http://www.eflo.net/files/leave.h
|
|
mv -f enter.h apps/enter.h
|
|
mv -f leave.h apps/leave.h
|
|
wget http://download.vicidial.com/asterisk-patches/1.4-gsm-gcc4.2.patch
|
|
patch -p1 ./codecs/gsm/Makefile 1.4-gsm-gcc4.2.patch
|
|
wget http://download.vicidial.com/conf/res_agi_defunct.patch
|
|
patch -p1 < res_agi_defunct.patch
|
|
File to patch: res/res_agi.c
|
|
cd apps/
|
|
rm -f app_waitforsilence.c
|
|
wget http://download.vicidial.com/conf/app_waitforsilence.c
|
|
cd ../channels/
|
|
rm chan_sip.c
|
|
wget http://download.vicidial.com/conf/chan_sip.c
|
|
cd ../
|
|
./configure; make clean; make; make install
|
|
# this makes sample conf files (only use for new installs)
|
|
make samples
|
|
modprobe zaptel
|
|
|
|
- modprobe zaptel # this loads the zaptel module
|
|
- install the module for the digium device that you are using, we are
|
|
using the T100P single span T1 card so we use:
|
|
- modprobe wct1xxp
|
|
or if you have no timer, just "modprobe ztdummy"
|
|
Here's the list of all digium cards and the modules you use with
|
|
them:
|
|
Card Module
|
|
-----------------
|
|
TDM400P wctdm
|
|
X100P wcfxo
|
|
TDM* wcfxs
|
|
S100U wcusb
|
|
T100P wct1xxp
|
|
E100P wct1xxp
|
|
T400P tor2
|
|
E400P tor2
|
|
TE110P wcte11xp
|
|
TE410P wct4xxp
|
|
TE405P wct4xxp
|
|
TE411P wct4xxp
|
|
TE406P wct4xxp
|
|
TE210P wct2xxp
|
|
TE205P wct2xxp
|
|
TDM2400P wctdm24xxp
|
|
- If you have chosen a Sangoma T1/E1 or analog card, you will need to
|
|
follow their instructions for installation of their driver software
|
|
LATEST Sangoma Wanpipe drivers:
|
|
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.3.9.tgz
|
|
- now your asterisk installation is built and loaded and it's time to
|
|
configure it.
|
|
|
|
NOTES: If you want to install zttool diagnostics you may need the newt package installed:
|
|
- wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
|
- gunzip newt-0.51.6.tar.gz
|
|
- tar xvf newt-0.51.6.tar
|
|
- cd newt-0.51.6
|
|
- ./configure
|
|
- make
|
|
- make install
|
|
- cd ../
|
|
- ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51
|
|
then go to your zaptel folder and do 'make zttool'
|
|
|
|
Digium/Clone X100P EXAMPLE:
|
|
Here is an example of a configuration where an X100P single FXO card is used for
|
|
zaptel timing and not used for calling:
|
|
|
|
NOTE: you can get an X100P through ebay for $10-$30 that will work with Asterisk
|
|
|
|
/etc/zaptel.conf:
|
|
loadzone=us
|
|
defaultzone=us
|
|
fxsks=1
|
|
|
|
/etc/asterisk/zapata.conf:
|
|
[trunkgroups]
|
|
[channels]
|
|
context=unused
|
|
signalling=fxs_ks
|
|
channel => 1
|
|
|
|
Added this to the rc.local file:
|
|
# Load zaptel drivers for x100p
|
|
modprobe zaptel
|
|
modprobe wcfxo
|
|
|
|
If you will be doing native music-on-hold for your inbound calls, you will need
|
|
musiconhold audio files to be converted to native formats like GSM, ULAW and ALAW:
|
|
|
|
cd /var/lib/asterisk/mohmp3/
|
|
mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-sunshine.mp3 > /var/lib/asterisk/mohmp3/fpm-sunshine.raw
|
|
sox -r 44100 -w -s -c 1 fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav
|
|
sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm
|
|
sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm
|
|
mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-calm-river.mp3 > /var/lib/asterisk/mohmp3/fpm-calm-river.raw
|
|
sox -r 44100 -w -s -c 1 fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav
|
|
sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm
|
|
sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm
|
|
mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-world-mix.mp3 > /var/lib/asterisk/mohmp3/fpm-world-mix.raw
|
|
sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav
|
|
sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm
|
|
sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm
|
|
mkdir ../orig-mp3
|
|
mv -f *.mp3 ../orig-mp3/
|
|
mkdir ../quiet-mp3
|
|
cd ../quiet-mp3
|
|
sox -r 44100 -w -s -c 1 ../mohmp3/fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav vol 0.25
|
|
sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm
|
|
sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm
|
|
sox -r 44100 -w -s -c 1 ../mohmp3/fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav vol 0.25
|
|
sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm
|
|
sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm
|
|
sox -r 44100 -w -s -c 1 ../mohmp3/fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav vol 0.25
|
|
sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm
|
|
sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm
|
|
rm -f ../mohmp3/*.raw
|
|
|
|
|
|
|
|
PHASE 5: CONFIGURING ASTERISK AND YOUR SIP PHONES
|
|
|
|
As of the 2.0.5 release it is possible to configure SIP and IAX phones and
|
|
carrier trunks without editing conf files, just by using the web administration
|
|
interface. For more information on this, please read the VICIDIAL Manager
|
|
Manual available at www.eflo.net
|
|
|
|
In this phase we will configure the telco lines, the SIP phones, the extensions,
|
|
meetme(conference calling) rooms, dialplan extensions and the voicemail boxes.
|
|
After this phase your Asterisk system should be able to place and receive calls
|
|
to and from the SIP phones you have installed over the telco lines you've hooked
|
|
up. There are several things that we will not be showing how to do because
|
|
Asterisk is extremely flexible and has so many different ways of being
|
|
configured, that if we were to try to explain them all in this document it would
|
|
be 99% asterisk configuration and be 20,000 lines long, and that would
|
|
just be a barrier for those who just want to get it set up. The "Wiki" and the
|
|
mailing list are two very good resources for finding answers if you run into
|
|
problems configuring your system, here are links to them:
|
|
The Wiki: http://www.voip-info.org/tiki-index.php
|
|
The Lists: http://www.asterisk.org/index.php?menu=support
|
|
|
|
I need to note that it is possible to install Asterisk and use astGUIclient
|
|
applications with no Zaptel(Digium/Sangoma/Rhino/etc...) cards installed, but it
|
|
is not recommended even if you are not going to use Zap trunks for your inbound-
|
|
outbound calls with no real Zap devices, you would need to use a dummy timer
|
|
(zt_dummy) based on you USB ports to get meetme conference rooms working
|
|
properly and you may have other issues along the way. We would at least
|
|
recommend getting a X100 or X101 board from Digium or a clone manufacturer so
|
|
there is a dedicated hardware timer in place on your system.
|
|
|
|
|
|
|
|
SUBPHASE 5.0: setting up your Asterisk configuration files
|
|
|
|
1. edit zaptel.conf
|
|
- vi /etc/zaptel.conf
|
|
There are many examples inside of the zaptel.conf file that is
|
|
generated with the "make samples" command that we issued at the end
|
|
of the last phase. There are many different parameters for the
|
|
different telco line possibilities, because we are installing a T1
|
|
that is NON-PRI-isdn B8ZS ExtendedSuperframe(ESF) E&M Wink start and 24
|
|
channels, we will use the following settings for zaptel.conf:
|
|
span=1,1,0,esf,b8zs
|
|
e&m=1-24
|
|
loadzone = us
|
|
defaultzone=us
|
|
FOR A PRI YOU WOULD USE SOMETHING LIKE THIS:
|
|
span=2,2,0,esf,b8zs
|
|
bchan=25-47
|
|
dchan=48
|
|
|
|
2. edit zapata.conf
|
|
- vi /etc/asterisk/zapata.conf
|
|
There are also many examples of how to configure zapata.conf online.
|
|
we decided to separate our T1 into two line groups to keep some
|
|
incoming calls from being busy if we filled up all of our lines.
|
|
Here's what we used(you can set echocancel=no if you are using PRIs):
|
|
[channels]
|
|
group=1
|
|
language=en
|
|
signalling=em_w
|
|
usecallerid=yes
|
|
callerid=asreceived
|
|
context=default
|
|
echocancel=64
|
|
echocancelwhenbridged=yes
|
|
rxgain=1.0
|
|
txgain=1.0
|
|
channel => 1-2
|
|
group=2
|
|
language=en
|
|
signalling=em_w
|
|
usecallerid=yes
|
|
callerid=asreceived
|
|
context=default
|
|
echocancel=64
|
|
echocancelwhenbridged=yes
|
|
rxgain=1.0
|
|
txgain=1.0
|
|
channel => 3-24
|
|
FOR A PRI YOU WOULD USE SOMETHING LIKE THIS:
|
|
group=3
|
|
language=en
|
|
signalling=pri_net
|
|
usecallerid=yes
|
|
callerid=asreceived
|
|
callprogress=no
|
|
busydetect=no
|
|
context=default
|
|
echocancel=64
|
|
echocancelwhenbridged=yes
|
|
rxgain=1.0
|
|
txgain=1.0
|
|
channel => 25-47
|
|
|
|
3. edit sip.conf
|
|
|
|
!!!!! IMPORTANT NOTE !!!!!
|
|
As of the 2.0.5 release it is possible to configure SIP and IAX phones and
|
|
carrier trunks without editing conf files, just by using the web administration
|
|
interface. For more information on this, please read the VICIDIAL Manager
|
|
Manual available at www.eflo.net
|
|
|
|
- vi /etc/asterisk/sip.conf
|
|
here is where we will edit the configuration of our SIP compatible
|
|
phone devices. As stated at the beginning, we will be setting up a
|
|
Grandstream Budgetone 102 phone and a Sipura/Linksys SPA-2000 adapter with
|
|
two analog phones connected(each with it's own extension). Here are
|
|
the settings we used to set each of them up:
|
|
[general]
|
|
port = 5060
|
|
bindaddr = 0.0.0.0
|
|
context = default
|
|
; register SIP account on remote machine if using SIP trunks
|
|
; register => testSIPtrunk:test@10.10.10.16:5060
|
|
;
|
|
; setup account for SIP trunking:
|
|
; [SIPtrunk]
|
|
; disallow=all
|
|
; allow=ulaw
|
|
; allow=alaw
|
|
; type=friend
|
|
; username=testSIPtrunk
|
|
; secret=test
|
|
; host=10.10.10.16
|
|
; dtmfmode=inband
|
|
; qualify=1000
|
|
|
|
[gs102]
|
|
disallow=all
|
|
allow=ulaw
|
|
allow=alaw
|
|
type=friend
|
|
username=gs102
|
|
secret=test
|
|
host=dynamic
|
|
dtmfmode=inband
|
|
defaultip=10.10.10.16
|
|
qualify=1000
|
|
mailbox=102
|
|
[spa2000]
|
|
disallow=all
|
|
allow=ulaw
|
|
allow=alaw
|
|
type=friend
|
|
username=spa2000
|
|
secret=test
|
|
host=dynamic
|
|
dtmfmode=inband
|
|
defaultip=10.10.10.17
|
|
qualify=1000
|
|
mailbox=2000
|
|
[spa2001]
|
|
disallow=all
|
|
allow=ulaw
|
|
allow=alaw
|
|
type=friend
|
|
username=spa2001
|
|
secret=test
|
|
host=dynamic
|
|
dtmfmode=inband
|
|
defaultip=10.10.10.17
|
|
qualify=1000
|
|
mailbox=2001
|
|
4. edit meetme.conf
|
|
- vi /etc/asterisk/meetme.conf
|
|
This is known as the conference calling configuration file. We are
|
|
just going to add two conferences(one without a pin number and one
|
|
with a pin number required for entry):
|
|
[rooms]
|
|
conf => 8600
|
|
conf => 8601,1234
|
|
5. edit iax.conf
|
|
|
|
!!!!! IMPORTANT NOTE !!!!!
|
|
As of the 2.0.5 release it is possible to configure SIP and IAX phones and
|
|
carrier trunks without editing conf files, just by using the web administration
|
|
interface. For more information on this, please read the VICIDIAL Manager
|
|
Manual available at www.eflo.net
|
|
|
|
- vi /etc/asterisk/iax.conf
|
|
This is the IAX configuration file, below is a very simple config for
|
|
having two Asterisk servers connect natively to each other, if you
|
|
will be using this, make sure to add the optional lines included
|
|
after the extensions.conf section. Also, there is an account setup
|
|
here for a firefly IAX softphone to use.(details on that later)
|
|
* IMPORTANT NOTE * if you plan to use IAX2 trunks for VICIDIAL
|
|
outbound dialing you must register with the remote IAX2 server
|
|
through the iax.conf file, not just in the Dial or TRUNK line
|
|
of the extensions.conf dialplan.
|
|
[general]
|
|
bindport=4569
|
|
iaxcompat=yes
|
|
bandwidth=high
|
|
allow=all
|
|
allow=gsm ; Always allow GSM, it's cool :)
|
|
jitterbuffer=no
|
|
tos=lowdelay
|
|
register => ASTtest1:test@10.10.10.16:4569
|
|
|
|
[ASTtest2]
|
|
type=friend
|
|
accountcode=IAXtrunk2
|
|
context=default
|
|
auth=plaintext
|
|
host=dynamic
|
|
permit=0.0.0.0/0.0.0.0
|
|
secret=test
|
|
disallow=all
|
|
allow=ulaw
|
|
qualify=yes
|
|
|
|
[firefly01]
|
|
type=friend
|
|
accountcode=firefly01
|
|
context=default
|
|
auth=plaintext
|
|
host=dynamic
|
|
permit=0.0.0.0/0.0.0.0
|
|
secret=test
|
|
disallow=all
|
|
allow=gsm
|
|
qualify=yes
|
|
|
|
##### EXAMPLE - This is a config example for setting up Binfone service(http://www.binfone.com)
|
|
|
|
NOTE: The "1112223333" is your iax username. When you signup, Binfone creates
|
|
a default IAX username for you, (a 5 digit number, usually, starting with a 1).
|
|
This works for most customers. Folks that want inbound then also sign up for
|
|
DIDs, each of which has its own IAX username. (Which is the 10 digit DID).
|
|
Each username has its own password which is managed through their web interface.
|
|
|
|
NOTE: If you will be using the G729 codec through binfone there is now a
|
|
dedicated G729 gateway that only handles G729 calls. Please use this address to
|
|
register to if you plan on using G729 as your codec: iax-g729.binfone.com
|
|
|
|
iax.conf:
|
|
[general]
|
|
register => 1112223333:PASSWORD@iax.binfone.com
|
|
|
|
[1112223333]
|
|
auth=md5
|
|
type=friend
|
|
username=1112223333
|
|
secret=PASSWORD
|
|
host=iax.binfone.com
|
|
context=incoming-IAX-context-in-extensions.conf
|
|
|
|
|
|
extensions.conf:
|
|
[global]
|
|
TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface
|
|
|
|
[default]
|
|
exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o)
|
|
exten => _91NXXNXXXXXX,3,Hangup
|
|
|
|
[incoming]
|
|
exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 1112223333,2,Dial(sip/gs102,55,o)
|
|
exten => 1112223333,3,Hangup
|
|
|
|
|
|
dnsmgr.conf: # It is very helpful to enable dnsmgr
|
|
[general]
|
|
enable=yes ; enable creation of managed DNS lookups
|
|
refreshinterval=300 ; refresh managed DNS lookups every <n> seconds
|
|
|
|
|
|
##### END EXAMPLE
|
|
|
|
|
|
6. edit voicemail.conf
|
|
|
|
!!!!! IMPORTANT NOTE !!!!!
|
|
As of release 2.2.0 it is now possible to configure voicemail and musiconhold
|
|
without editing conf files, just by using the web administration interface.
|
|
For more information on this, please read the VICIDIAL Manager Manual available
|
|
at www.eflo.net
|
|
|
|
- vi /etc/asterisk/voicemail.conf
|
|
This is where we set up the voicemail boxes for the extensions that
|
|
we have set up:
|
|
[general]
|
|
format=wav49|gsm|wav
|
|
serveremail=asterisk
|
|
attach=yes
|
|
skipms=3000
|
|
maxsilence=10
|
|
silencethreshold=128
|
|
maxlogins=3
|
|
[zonemessages]
|
|
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
|
|
central=America/Chicago|'vm-received' Q 'digits/at' IMp
|
|
central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours'
|
|
[default]
|
|
102 => 102,Grandstream Mailbox,root@localhost
|
|
2000 => 2000,Sipura Mailbox 1
|
|
2001 => 2001,Sipura Mailbox 2
|
|
3001 => 3001,Firefly Mailbox 1
|
|
7. edit manager.conf
|
|
- vi /etc/asterisk/manager.conf
|
|
This is where we set up remote logins to the asterisk manager
|
|
interface, to allow sending of Action commands from remote
|
|
connections to the Asterisk server, this will be important for the
|
|
astguiclient applications so let's set that up now:
|
|
[general]
|
|
enabled = yes
|
|
port = 5038
|
|
bindaddr = 0.0.0.0
|
|
[cron]
|
|
secret = 1234
|
|
read = system,call,log,verbose,command,agent,user
|
|
write = system,call,log,verbose,command,agent,user
|
|
[updatecron]
|
|
secret = 1234
|
|
read = command
|
|
write = command
|
|
[listencron]
|
|
secret = 1234
|
|
read = system,call,log,verbose,command,agent,user
|
|
write = command
|
|
[sendcron]
|
|
secret = 1234
|
|
read = command
|
|
write = system,call,log,verbose,command,agent,user
|
|
|
|
8. edit logger.conf
|
|
- vi /etc/asterisk/logger.conf
|
|
This file determines the messages that are logged to the console and
|
|
the /var/log/asterisk/messages file. We usually turn on full logging
|
|
to the messages file to more easily diagnose any problems that we may
|
|
run into, the problem with this is that is does produce very large
|
|
files, so be warned:
|
|
[logfiles]
|
|
console => notice,warning,error
|
|
messages => notice,warning,error,debug,verbose
|
|
9. edit extensions.conf
|
|
- vi /etc/asterisk/extensions.conf
|
|
|
|
!!!!! IMPORTANT NOTE !!!!!
|
|
You should be using the sample extensions.conf that is included with the
|
|
release of VICIDIAL that you installed. There is also an auto-generated
|
|
extensions-vicidial.conf file that contains dynamic dialplan entries.
|
|
|
|
10. edit dnsmgr.conf: # It is very helpful to enable dnsmgr
|
|
[general]
|
|
enable=yes ; enable creation of managed DNS lookups
|
|
refreshinterval=300 ; refresh managed DNS lookups every <n> seconds
|
|
|
|
|
|
11. Now that you have configured Asterisk, it is time to try to start it for the
|
|
first time.
|
|
- First make sure that your T1 line(or other telco line) is connected to the
|
|
digium card.
|
|
- next type the following at the command prompt: "ztcfg -vvvvvv"
|
|
- you should see a confirmation that the Zaptel device has loaded
|
|
- now you can launch asterisk with the following command:
|
|
"asterisk -vvvvvvvvvvvvgc"
|
|
- you should see a lot of messages scroll by and at the end you should
|
|
be given a CLI> prompt if everything loaded OK. To get out of Asterisk you can
|
|
type "stop now". Now that you are sure it is running you can either run it in a
|
|
separate terminal window or use the start_asterisk_boot.pl that you will
|
|
install with astguiclient to start Asterisk:
|
|
/usr/share/astguiclient/start_asterisk_boot.pl
|
|
|
|
|
|
|
|
SUBPHASE 5.1: setting up your SIP phones
|
|
|
|
You will need to follow the instructions for the phones that you are using with
|
|
your system, but here's the way to set up a Grandstream 102 and a Linksys/Sipura
|
|
SPA-2000
|
|
|
|
1. Here are basic instructions for setting up a Grandstream BT 102:
|
|
- On the phone plug it in to power only at first and follow these
|
|
instructions:
|
|
- wait for the phone to boot up and press the MENU button
|
|
- go through the menu screens with the menu key and the up/down arrow
|
|
keys to move from setting to setting. We are setting the following
|
|
values:
|
|
- DHCP OFF
|
|
- IP Addr: 010.010.010.016
|
|
- Subnet: 255.255.000.000
|
|
- router: 010.010.010.001
|
|
- dnS: 010.010.010.001
|
|
- tftp: we leave this blank for now
|
|
- menu 7 we change the codec to G-711u
|
|
- now wait 10 seconds and unplug the power and plug it back in
|
|
- you can also plug the network cable into the LAN port on the phone
|
|
- at this time you can go to your workstation and open a new web browser
|
|
- go to http://10.10.10.16/ the password is "admin"
|
|
- here is where you will enter in the configuration details for the
|
|
phone to register with the Asterisk server
|
|
- SIP server: 10.10.10.15
|
|
- SIP user ID: gs102
|
|
- Authenticate ID: gs102
|
|
- Password: test
|
|
- Name: gs102
|
|
- Voice Mail UserID: 102
|
|
- Send DTMF: in-audio
|
|
- NTP Server: tick.mit.edu
|
|
- then click update, click review changes, and click reboot
|
|
- your phone should now be able to register with the Asterisk server. If you
|
|
still have your console screen up you should see a registration message
|
|
appear telling you that gs102 has registered.
|
|
|
|
2. Here are the basic instructions for setting up a Sipura SPA-2000 analog
|
|
adapter with 2 lines.
|
|
- Plug power and two analog phones into the adapter.
|
|
- pick up the phone plugged into line1 and press **** to enter admin menu
|
|
- press 101# then 0# to disable DHCP
|
|
- press 111# then 10*10*10*17# to change the IP address
|
|
- press 121# then 255*255*0*0# to change the subnet mask
|
|
- press 131# then 10*10*10*1# to change the default gateway
|
|
- hang up the phone, unplug the power, plug in the network cable and plug in
|
|
the power cable
|
|
- now you can go the the admin website: http://10.10.10.17/admin/advanced
|
|
- you will need to make these setting changes:
|
|
- click on the "Line 1" tab at the top and change the following values:
|
|
- Proxy: 10.10.10.15
|
|
- Display Name: spa2000
|
|
- userID: spa2000
|
|
- password: test
|
|
- authID: spa2000
|
|
- change the dialplan to the following:
|
|
(*xx|xxx|xxxx|xxxxx|xxxxxx|xxxxxxx|xxxxxxxx|xxxxxxxxxxx|xxxxxxxxxxxx|xxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx.)
|
|
- then click the "submit all changes" button at the bottom of the page
|
|
and your first phone line should work now
|
|
- to register the second line, simply click on the "Line 2" tab and go
|
|
through the above steps except use spa2001 instead of spa2000 for the use IDs
|
|
|
|
3. Now both of your phone devices are set up and you can try making phone calls
|
|
between the three phones
|
|
|
|
|
|
|
|
SUBPHASE 5.2: setting up an IAX2 phone
|
|
|
|
This is optinal and we won't go into too much detail about this, but currently
|
|
there are several IAX hard and softphones on the market and more are coming
|
|
every month. Follow the instructions with the IAX phone you have chosen and
|
|
follow the steps below:
|
|
|
|
1. Add an entry into your iax.conf file like below if you have not already
|
|
[firefly01]
|
|
type=friend
|
|
accountcode=firefly01
|
|
context=default
|
|
auth=plaintext
|
|
host=dynamic
|
|
permit=0.0.0.0/0.0.0.0
|
|
secret=test
|
|
qualify=yes
|
|
|
|
2. Add an entry into your extensions.conf file like below if it is not in there
|
|
; Extension 3001 rings IAX phone
|
|
exten => 301,1,Dial(IAX2/firefly01@firefly01/s)
|
|
exten => 301,2,Voicemail,u301 ; Send to voicemail...
|
|
|
|
3. Download Firefly 3rd party, or IDEfisk for Windows or Linux:
|
|
- http://www.virbiage.com/firefly/download/firefly-thirdparty.exe
|
|
MIRRORS:
|
|
- http://mirror.isp.net.au/ftp/pub/firefly/firefly-thirdparty.exe
|
|
- http://download.vicidial.com/softphones/firefly-thirdparty.exe
|
|
IDEFISK:
|
|
- http://www.asteriskguru.com/idefisk/
|
|
- Install the application
|
|
- Launch Firefly Softphone
|
|
- click the "I wish to connect to a 3rd party network" button
|
|
- Enter in network name: Asterisk
|
|
- Select IAX2 as the protocol
|
|
- enter in your server address: "10.10.10.15" in our case
|
|
- enter login and pass: "firefly01" and "test" for in our case
|
|
- click OK and you should be logged in and can place calls
|
|
|
|
|
|
SUBPHASE 5.3: setting up a Zap phone
|
|
|
|
This is optinal and we won't go into too much detail about this either, there
|
|
are a few ways to use Zap devices as phones on your Asterisk system: Zaptel
|
|
phone cards, Channel Banks going through Zaptel T1 card, outside line call
|
|
coming in going through Zaptel line card. There isn't much to do but set your
|
|
Zaptel config files up and put entries into your extensions.conf file:
|
|
|
|
1. Add an entry into your extensions.conf file like below
|
|
; Extension 4001 rings Zap phone
|
|
exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1
|
|
exten => 4001,2,Voicemail,u4001 ; Send to voicemail...
|
|
|
|
|
|
|
|
|
|
PHASE 6: INSTALLING ASTGUICLIENT AND VICIDIAL
|
|
|
|
Now that Asterisk is installed and running we can add the astGUIclient and
|
|
VICIDIAL components to the system.
|
|
|
|
|
|
|
|
SUBPHASE 6.0: putting the files in place
|
|
|
|
There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN
|
|
|
|
1. Go to http://astguiclient.sf.net/ and download the latest astguiclient
|
|
package(as of this writing it is 2.2.0)
|
|
- for 2.0.X release:
|
|
- mkdir /usr/src/astguiclient
|
|
- cd /usr/src/astguiclient
|
|
- wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.2.0.zip
|
|
- unzip astguiclient_2.2.0.zip
|
|
- perl install.pl (make sure you are in the directory with the install.pl file)
|
|
- for SVN 2.2.0 branch:
|
|
- mkdir /usr/src/astguiclient
|
|
- cd /usr/src/astguiclient
|
|
- svn checkout svn://svn.eflo.net:3690/agc_2-X/branches/agc_2.2.0
|
|
- cd agc_2.2.0
|
|
- perl install.pl
|
|
- for SVN 2.4 trunk:
|
|
- mkdir /usr/src/astguiclient
|
|
- cd /usr/src/astguiclient
|
|
- svn checkout svn://svn.eflo.net:3690/agc_2-X/trunk
|
|
- cd trunk
|
|
- perl install.pl
|
|
select to do interactive setup and customize to your server
|
|
NOTE: if this is a fresh install, it is strongly suggested that you
|
|
select 'Y' to copy the sample conf files.
|
|
- there is one more file you need that's not included with the download
|
|
package, it's the conf.gsm file(this is the half-hour music file that we use
|
|
to put people on hold). I have a free classical music file that is available
|
|
free for download at the following two sites:
|
|
http://download.vicidial.com/sounds/conf.gsm
|
|
http://astguiclient.sf.net/conf.gsm
|
|
Once you have downloaded it, you will need to copy it to this folder:
|
|
/var/lib/asterisk/sounds/
|
|
Then you will need to execute this command to copy it as the park file
|
|
'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm'
|
|
Here are the steps spelled out:
|
|
cd /var/lib/asterisk/sounds
|
|
wget http://download.vicidial.com/sounds/conf.gsm
|
|
cp conf.gsm park.gsm
|
|
|
|
- you are done
|
|
|
|
|
|
|
|
SUBPHASE 6.1: creating the MySQL "asterisk" database
|
|
|
|
we will create the database and add a few initial records so that we can
|
|
use the administrative web interface. Since this is a new install it is easier
|
|
to use our new mysql script file to add the tables to the database:
|
|
|
|
1. at the command prompt type go to the mysql client:
|
|
/usr/local/mysql/bin/mysql
|
|
2. type the following into the mysql client prompt:
|
|
(make sure you put your IP address in place of "10.10.10.15" in the queries below)
|
|
######------ BEGIN Mysql data entry(you can copy and paste this into terminal) #
|
|
create database asterisk;
|
|
|
|
NOTE: if you will be using lead files with a language that does not use the
|
|
standard latin character set then you will want to use UTF8 for your default
|
|
characterset in the MySQL database. This requires at least MySQL 5.0.X and you
|
|
can use the following query to create the database:
|
|
CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
|
|
|
|
|
|
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234';
|
|
GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234';
|
|
|
|
GRANT RELOAD ON *.* TO cron@'%';
|
|
GRANT RELOAD ON *.* TO cron@localhost;
|
|
|
|
GRANT ALTER,CREATE on asterisk.* TO custom@'%' IDENTIFIED BY 'custom1234';
|
|
GRANT ALTER,CREATE on asterisk.* TO custom@localhost IDENTIFIED BY 'custom1234';
|
|
|
|
flush privileges;
|
|
|
|
# To make sure that new processes can connect to the Database under load we should
|
|
# increase the global connect_timeout
|
|
|
|
SET GLOBAL connect_timeout=60;
|
|
|
|
# NOTE: make sure you do NOT put any spaces or other punctuation in the
|
|
# server_id, phone, extension, or user fields in the queries below if you edit them.
|
|
|
|
use asterisk;
|
|
|
|
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
|
|
or you may need to run this if you get an error:
|
|
\. /usr/src/astguiclient/agc_2.2.0/extras/MySQL_AST_CREATE_tables.sql
|
|
\. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql
|
|
|
|
### to load in default IAX and SIP phone accounts run the following query
|
|
|
|
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
|
|
or you may need to run this if you get an error:
|
|
\. /usr/src/astguiclient/agc_2.2.0/extras/sip-iax_phones.sql
|
|
\. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql
|
|
|
|
### to load the initial server values for this first system install
|
|
|
|
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
|
|
or you may need to run this if you get an error:
|
|
\. /usr/src/astguiclient/agc_2.2.0/extras/first_server_install.sql
|
|
\. /usr/src/astguiclient/astguiclient/first_server_install.sql
|
|
|
|
quit
|
|
|
|
to populate the timezone/country table run this command from command line:
|
|
- /usr/share/astguiclient/ADMIN_area_code_populate.pl
|
|
|
|
to load the performance testing leads run these commands:
|
|
- cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
|
or
|
|
- cp /usr/src/astguiclient/agc_2.2.0/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
|
- cp /usr/src/astguiclient_2.2.0/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
|
|
|
- /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1
|
|
|
|
|
|
######------ END Mysql data entry ------######
|
|
|
|
NOTE: If you will be using channelbanks for agent phones you can use the
|
|
/extras/single_channelbank_phones.sql file to help enter the phones table entries.
|
|
|
|
NOTE: If you will be using IAX or SIP phones for agent phones you can use the
|
|
/extras/sip-iax_phones.sql file to help enter the phones table entries.
|
|
|
|
NOTE: if you are not installing using default user/pass or have MySQL on another
|
|
server, you will need to edit either the /etc/astguiclient.conf file or the
|
|
dbconnect.php files in the astguiclient, vicidial and agc directories of your
|
|
webroot.
|
|
|
|
3. Enter the vicidial administration page:
|
|
http://10.10.10.15/vicidial/admin.php
|
|
NOTE: if you click on the Logout button you must leave the user/pass empty and click OK
|
|
- Here you will enter the login and password that you inserted into the mysql
|
|
database in the vicidial_users table (subphase 6.1 [6666/1234])
|
|
- Now that you are logged into the astGUIclient administration system we can
|
|
add a new phone entry for each of the sipura lines we created.
|
|
- click on the "Admin" link at the top, then the "ADD PHONE" link below
|
|
that and enter in the proper information for each of the new phone lines.
|
|
Here's what we entered for spa2000:
|
|
- Phone extension: spa2000
|
|
- Dialplan Number: 2000
|
|
- Voicemail Box: 2000
|
|
- Phone IP address: 10.10.10.17
|
|
- Computer IP address: 10.10.9.17
|
|
- Server IP: 10.10.10.15
|
|
- Login: spa2000
|
|
- Password: test
|
|
- Conf File Secret: test
|
|
- Status: ACTIVE
|
|
- Active Account: Y
|
|
- Phone Type: Sipura SPA-2000 line 1
|
|
- Full Name: Sipura line 1 test
|
|
- Company: TEST
|
|
- Picture:
|
|
- for the next phone simply replace 2000 with 2001 in the above example
|
|
- now your phones are all all set up in the astguiclient system and you can
|
|
use this website to add new phones to be used with astguiclient and monitor
|
|
the number of calls people are making.
|
|
- now your database is set up for the astguiclient conferences which
|
|
will allow you to have over 6 remote parties that you called from your
|
|
GUI client application in one conference.
|
|
- click on the "LIST ALL SERVERS" link at the top then click on the
|
|
server to modify. Verify that the GMT time zone and all other fields
|
|
are what you want them to be. There is a setting(Max VICIDIAL Trunks)
|
|
that can be modified to limit the number of VICIDIAL outbound trunks
|
|
that will be allowed to use on this server.
|
|
|
|
4. **OPTIONAL** For IAX clients you will need to use full phone name as the
|
|
extension on the admin page entry: "firefly01@firefly01" for our IAX phone example
|
|
previously. And do not forget to set the protocol on this page to IAX2
|
|
|
|
5. **OPTIONAL** For Zap clients you will need to use full Zap Channel name as the
|
|
extension on the admin page entry: "1-1" for our Zap phone example
|
|
previously. And do not forget to set the protocol on this page to Zap
|
|
|
|
|
|
|
|
|
|
SUBPHASE 6.2: making additions to your Asterisk conf files
|
|
|
|
Now that the database is set up and our phones have entries in the system we can
|
|
make the additions to the running Asterisk system that will allow astguiclient
|
|
to work with it.
|
|
|
|
!!!!! IMPORTANT NOTE !!!!!
|
|
Again, if you have selected to use the sample conf files during installation
|
|
then you do not have to add any of these lines to your conf files, they should
|
|
already be included. There is also an auto-generated
|
|
extensions-vicidial.conf file that contains dynamic dialplan entries.
|
|
|
|
|
|
1. Add the call_log entries to all incoming/outgoing extensions entries:
|
|
- here is how our sample dialplan changes for adding call_log entries(only
|
|
effected extension groups are show):
|
|
######------ START extensions.conf changes for call_log ------######
|
|
|
|
##### This 'h' exten is VERY important for VICIDIAL usage,
|
|
##### you will have problems if it is not in your dialplan!
|
|
exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})
|
|
|
|
; MANDITORY VDAD extens:
|
|
; In this setup, the serverIP is the prefix followed by agent conf_exten
|
|
; These lines are REQUIRED for VICIDIAL to work properly
|
|
; local server extens:
|
|
; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS!
|
|
exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1)
|
|
exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)
|
|
exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi)
|
|
; Local blind monitoring
|
|
exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To)
|
|
; OPTIONAL server 2 extens, needed for load balancing:
|
|
exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o)
|
|
|
|
; Extension 3429 - Inbound 800 number (1-800-555-3429)
|
|
exten => _**3429,1,Ringing
|
|
exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _**3429,3,Answer
|
|
exten => _**3429,4,Dial,sip/spa2000&sip/spa2001,30,to
|
|
exten => _**3429,5,Voicemail,u2000
|
|
; Extension 3429 - with ANI [callerID]
|
|
exten => _*NXXNXXXXXX*3429,1,Ringing
|
|
exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _*NXXNXXXXXX*3429,3,Answer
|
|
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001,30,to
|
|
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000
|
|
|
|
; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery
|
|
; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4
|
|
exten => 7275551212,1,Ringing
|
|
exten => 7275551212,2,Wait(1)
|
|
exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME})
|
|
exten => 7275551212,4,Answer
|
|
exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001,30,to
|
|
exten => 7275551212,6,Voicemail,u2000
|
|
|
|
; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls,
|
|
|
|
; dial a long distance outbound number to the UK
|
|
exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo)
|
|
exten => _901144XXXXXXXXXX,3,Hangup
|
|
|
|
; dial a long distance outbound number to Australia
|
|
exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
|
|
exten => _901161XXXXXXXXX,3,Hangup
|
|
|
|
; Extensions for performance testing
|
|
exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo)
|
|
exten => _91999NXXXXXX,3,Hangup
|
|
exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo)
|
|
exten => 999999999999,3,Hangup
|
|
|
|
; dial an 800 outbound number
|
|
exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
|
|
exten => _91800NXXXXXX,3,Hangup
|
|
exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
|
|
exten => _91888NXXXXXX,3,Hangup
|
|
exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
|
|
exten => _91877NXXXXXX,3,Hangup
|
|
exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
|
|
exten => _91866NXXXXXX,3,Hangup
|
|
|
|
; dial a local 727 outbound number with area code
|
|
exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo)
|
|
exten => _9727NXXXXXX,3,Hangup
|
|
|
|
; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls,
|
|
; dial a long distance outbound number
|
|
exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
|
|
exten => _91NXXNXXXXXX,3,Hangup
|
|
|
|
; dial a local outbound number (modified because of only LD T1)
|
|
exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo)
|
|
exten => _9NXXXXXX,3,Hangup
|
|
|
|
######------ END extensions.conf changes ------######
|
|
|
|
|
|
2. Add the call_inbound entries to all incoming extensions entries that you want
|
|
CallerID popups on(ONLY WORKS IN astguiclient.php APPLICATION):
|
|
(Using the DID configuration is the preferred method of call routing in ViciDial)
|
|
|
|
- here is how our sample dialplan changes for adding call_inbound
|
|
entries(only effected extension groups are show):
|
|
######------ START extensions.conf changes for call_inbound ------######
|
|
; parameters for call_inbound.agi (7 fields separated by five dashes "-----"):
|
|
; 1. the extension of the phone to ring as defined in the asterisk.phones table
|
|
; 2. the phone number that was called, for the live_inbound/_log entry
|
|
; 3. a text description of the number that was called in
|
|
; 4-7. optional fields, they are also passed as fields in the GUI to web browser
|
|
|
|
; Extension 3429 - Inbound 800 number (1-800-555-3429)
|
|
exten => _**3429,1,Ringing
|
|
exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
|
|
exten => _**3429,4,Answer
|
|
exten => _**3429,5,Dial,sip/spa2000&sip/spa2001|30|to
|
|
exten => _**3429,6,Voicemail,u2000
|
|
; Extension 3429 - with ANI [callerID]
|
|
exten => _*NXXNXXXXXX*3429,1,Ringing
|
|
exten => _*NXXNXXXXXX*3429,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
|
|
exten => _*NXXNXXXXXX*3429,3,Answer
|
|
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
|
|
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000
|
|
|
|
* NOTE, you need to set the dial_level of the CLOSER campaign to 1 or higher for inbound/closers to work
|
|
|
|
######------ END extensions.conf changes for call_inbound ------######
|
|
|
|
|
|
3. Add the ZapBarge entries for all zap lines:
|
|
- here is how our sample dialplan changes for adding zapbarge line-specific
|
|
entries(this is a pure addition, nothing is being modified):
|
|
|
|
; ZapBarge direct channel extensions
|
|
exten => _86120XX,1,ZapBarge(${EXTEN:5})
|
|
|
|
|
|
4. Add the meetme entries for astguiclient and VICIDIAL conferences to
|
|
meetme.conf:
|
|
|
|
!!!!! IMPORTANT NOTE !!!!!
|
|
Again, if you have selected to use the sample conf files during installation
|
|
then you do not have to add any of these lines to your conf files, they should
|
|
already be included. There is also an auto-generated
|
|
meetme-vicidial.conf file that contains dynamic conference entries.
|
|
|
|
- here is how our sample meetme.conf file changes for adding conference
|
|
entries (this is a pure addition, nothing is being modified):
|
|
######------ START meetme.conf additions for conferences ------######
|
|
conf => 8600001
|
|
conf => 8600002
|
|
conf => 8600003
|
|
conf => 8600004
|
|
conf => 8600005
|
|
conf => 8600006
|
|
conf => 8600007
|
|
conf => 8600008
|
|
conf => 8600009
|
|
conf => 8600010
|
|
conf => 8600011
|
|
conf => 8600012
|
|
conf => 8600013
|
|
conf => 8600014
|
|
conf => 8600015
|
|
conf => 8600016
|
|
conf => 8600017
|
|
conf => 8600018
|
|
conf => 8600019
|
|
conf => 8600020
|
|
conf => 8600021
|
|
conf => 8600022
|
|
conf => 8600023
|
|
conf => 8600024
|
|
conf => 8600025
|
|
conf => 8600026
|
|
conf => 8600027
|
|
conf => 8600028
|
|
conf => 8600029
|
|
conf => 8600030
|
|
conf => 8600031
|
|
conf => 8600032
|
|
conf => 8600033
|
|
conf => 8600034
|
|
conf => 8600035
|
|
conf => 8600036
|
|
conf => 8600037
|
|
conf => 8600038
|
|
conf => 8600039
|
|
conf => 8600040
|
|
conf => 8600041
|
|
conf => 8600042
|
|
conf => 8600043
|
|
conf => 8600044
|
|
conf => 8600045
|
|
conf => 8600046
|
|
conf => 8600047
|
|
conf => 8600048
|
|
conf => 8600049
|
|
conf => 8600050
|
|
conf => 8600051
|
|
conf => 8600052
|
|
conf => 8600053
|
|
conf => 8600054
|
|
conf => 8600055
|
|
conf => 8600056
|
|
conf => 8600057
|
|
conf => 8600058
|
|
conf => 8600059
|
|
conf => 8600060
|
|
conf => 8600061
|
|
conf => 8600062
|
|
conf => 8600063
|
|
conf => 8600064
|
|
conf => 8600065
|
|
conf => 8600066
|
|
conf => 8600067
|
|
conf => 8600068
|
|
conf => 8600069
|
|
conf => 8600070
|
|
conf => 8600071
|
|
conf => 8600072
|
|
conf => 8600073
|
|
conf => 8600074
|
|
conf => 8600075
|
|
conf => 8600076
|
|
conf => 8600077
|
|
conf => 8600078
|
|
conf => 8600079
|
|
conf => 8600080
|
|
conf => 8600081
|
|
conf => 8600082
|
|
conf => 8600083
|
|
conf => 8600084
|
|
conf => 8600085
|
|
conf => 8600086
|
|
conf => 8600087
|
|
conf => 8600088
|
|
conf => 8600089
|
|
conf => 8600090
|
|
conf => 8600091
|
|
conf => 8600092
|
|
conf => 8600093
|
|
conf => 8600094
|
|
conf => 8600095
|
|
conf => 8600096
|
|
conf => 8600097
|
|
conf => 8600098
|
|
conf => 8600099
|
|
conf => 8600100
|
|
conf => 8600101
|
|
conf => 8600102
|
|
conf => 8600103
|
|
conf => 8600104
|
|
conf => 8600105
|
|
conf => 8600106
|
|
conf => 8600107
|
|
conf => 8600108
|
|
conf => 8600109
|
|
conf => 8600110
|
|
conf => 8600111
|
|
conf => 8600112
|
|
conf => 8600113
|
|
conf => 8600114
|
|
conf => 8600115
|
|
conf => 8600116
|
|
conf => 8600117
|
|
conf => 8600118
|
|
conf => 8600119
|
|
conf => 8600120
|
|
conf => 8600121
|
|
conf => 8600122
|
|
conf => 8600123
|
|
conf => 8600124
|
|
conf => 8600125
|
|
conf => 8600126
|
|
conf => 8600127
|
|
conf => 8600128
|
|
conf => 8600129
|
|
conf => 8600130
|
|
conf => 8600131
|
|
conf => 8600132
|
|
conf => 8600133
|
|
conf => 8600134
|
|
conf => 8600135
|
|
conf => 8600136
|
|
conf => 8600137
|
|
conf => 8600138
|
|
conf => 8600139
|
|
conf => 8600140
|
|
conf => 8600141
|
|
conf => 8600142
|
|
conf => 8600143
|
|
conf => 8600144
|
|
conf => 8600145
|
|
conf => 8600146
|
|
conf => 8600147
|
|
conf => 8600148
|
|
conf => 8600149
|
|
conf => 8600150
|
|
conf => 8600151
|
|
conf => 8600152
|
|
conf => 8600153
|
|
conf => 8600154
|
|
conf => 8600155
|
|
conf => 8600156
|
|
conf => 8600157
|
|
conf => 8600158
|
|
conf => 8600159
|
|
conf => 8600160
|
|
conf => 8600161
|
|
conf => 8600162
|
|
conf => 8600163
|
|
conf => 8600164
|
|
conf => 8600165
|
|
conf => 8600166
|
|
conf => 8600167
|
|
conf => 8600168
|
|
conf => 8600169
|
|
conf => 8600170
|
|
conf => 8600171
|
|
conf => 8600172
|
|
conf => 8600173
|
|
conf => 8600174
|
|
conf => 8600175
|
|
conf => 8600176
|
|
conf => 8600177
|
|
conf => 8600178
|
|
conf => 8600179
|
|
conf => 8600180
|
|
conf => 8600181
|
|
conf => 8600182
|
|
conf => 8600183
|
|
conf => 8600184
|
|
conf => 8600185
|
|
conf => 8600186
|
|
conf => 8600187
|
|
conf => 8600188
|
|
conf => 8600189
|
|
conf => 8600190
|
|
conf => 8600191
|
|
conf => 8600192
|
|
conf => 8600193
|
|
conf => 8600194
|
|
conf => 8600195
|
|
conf => 8600196
|
|
conf => 8600197
|
|
conf => 8600198
|
|
conf => 8600199
|
|
conf => 8600200
|
|
######------ END meetme.conf additions for conferences ------######
|
|
|
|
|
|
5. Add the conference entries for astguiclient conferences:
|
|
- here is how our sample dialplan changes for adding conference entries (this
|
|
is a pure addition, nothing is being modified):
|
|
|
|
; astGUIclient conferences
|
|
exten => _86000[0-4]X,1,Meetme,${EXTEN}|q
|
|
|
|
|
|
6. Add the conference entries for VICIDIAL conferences:
|
|
- here is how our sample dialplan changes for adding VICIDIAL conference
|
|
entries(this is already in the sample extensions.conf file):
|
|
NOTE: see below these entries for app_conference instructions is used
|
|
######------ START extensions.conf changes for VD conf ------######
|
|
exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1})
|
|
exten => _X48600XXX,2,Hangup
|
|
|
|
exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1})
|
|
exten => _X38600XXX,2,Hangup
|
|
|
|
exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1})
|
|
exten => _X28600XXX,2,Hangup
|
|
|
|
exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1})
|
|
exten => _X18600XXX,2,Hangup
|
|
|
|
exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K)
|
|
exten => _55558600XXX,2,Hangup
|
|
exten => 8300,1,Hangup
|
|
|
|
; VICIDIAL conferences
|
|
exten => _86000[5-9]X,1,Meetme,${EXTEN}|F
|
|
exten => _86001XX,1,Meetme,${EXTEN}|F
|
|
exten => _8600200,1,Meetme,${EXTEN}|F
|
|
; quiet entry and leaving conferences for VICIDIAL
|
|
exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq
|
|
; quiet monitor extensions for meetme rooms (for room managers)
|
|
exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq
|
|
; Local blind monitoring
|
|
exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To)
|
|
|
|
; voicelab exten
|
|
exten => _86009XX,1,Meetme,${EXTEN}|Fmq
|
|
; voicelab exten moderator
|
|
exten => _986009XX,1,Meetme,${EXTEN:1}
|
|
|
|
######------ END extensions.conf changes for VD conf ------######
|
|
|
|
NOTE: If you want to do DTMF passthru with app_conference bee sure to add the
|
|
"i" and "t" flags to the 8600XX lines: Conference(8600051|it)
|
|
|
|
|
|
7. Add the more entries for astGUIclient specific uses:
|
|
- here are some more dialplan additions needed to use astGUIclient(this is a
|
|
pure addition, nothing is being modified):
|
|
(this is already in the sample extensions.conf file)
|
|
######------ START extensions.conf other additions ------######
|
|
; park channel for client GUI parking, hangup after 30 minutes
|
|
; create a GSM formatted audio file named "park.gsm" that is 30 minutes long
|
|
; and put it in /var/lib/asterisk/sounds
|
|
exten => 8301,1,Answer
|
|
exten => 8301,2,AGI(park_CID.agi)
|
|
exten => 8301,3,Playback(park)
|
|
exten => 8301,4,Hangup
|
|
exten => 8303,1,Answer
|
|
exten => 8303,2,AGI(park_CID.agi)
|
|
exten => 8303,3,Playback(conf)
|
|
exten => 8303,4,Hangup
|
|
|
|
; park channel for client GUI conferencing, hangup after 30 minutes
|
|
; create a GSM formatted audio file named "conf.gsm" that is 30 minutes long
|
|
; and put it in /var/lib/asterisk/sounds
|
|
exten => 8302,1,Answer
|
|
exten => 8302,2,Playback(conf)
|
|
exten => 8302,3,Hangup
|
|
|
|
exten => 8304,1,Answer
|
|
exten => 8304,2,Playback(ding)
|
|
exten => 8304,3,Hangup
|
|
|
|
; default audio for safe harbor 2-second-after-hello message then hangup
|
|
; create a GSM formatted audio file complies with safe harbor rules
|
|
; and put it in /var/lib/asterisk/sounds then change filename below
|
|
exten => 8307,1,Answer
|
|
exten => 8307,2,Playback(vm-goodbye)
|
|
exten => 8307,3,Hangup
|
|
|
|
; this is used for recording conference calls, the client app sends the filename
|
|
; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV)
|
|
; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4
|
|
exten => 8309,1,Answer
|
|
exten => 8309,2,Monitor(wav,${CALLERIDNAME})
|
|
exten => 8309,3,Wait,3600
|
|
exten => 8309,4,Hangup
|
|
|
|
; this is used for recording conference calls, the client app sends the filename
|
|
; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM)
|
|
; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4
|
|
exten => 8310,1,Answer
|
|
exten => 8310,2,Monitor(gsm,${CALLERIDNAME})
|
|
exten => 8310,3,Wait,3600
|
|
exten => 8310,4,Hangup
|
|
|
|
; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL
|
|
exten => 8320,1,AGI(VD_amd.agi,${EXTEN}-----YES)
|
|
exten => 8320,2,Hangup
|
|
|
|
; this is used to allow the GUI to send you directly into voicemail
|
|
; don't forget to set GUI variable $voicemail_exten to this extension
|
|
; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4
|
|
exten => 8501,1,VoicemailMain(s${CALLERIDNUM})
|
|
exten => 8501,2,Hangup
|
|
|
|
; this is used to allow the GUI to send live calls directly into voicemail
|
|
; don't forget to set GUI variable $voicemail_dump_exten to this extension
|
|
exten => _85026666666666.,1,Wait(2)
|
|
exten => _85026666666666.,2,Voicemail(${EXTEN:14})
|
|
exten => _85026666666666.,3,Hangup
|
|
|
|
; this is used for sending DTMF signals within conference calls, the client app
|
|
; sends the digits to be played in the callerID field
|
|
; sound files must be placed in /var/lib/asterisk/sounds
|
|
exten => 8500998,1,Answer
|
|
exten => 8500998,2,Playback(silence)
|
|
exten => 8500998,3,AGI(agi-dtmf.agi)
|
|
exten => 8500998,4,Hangup
|
|
|
|
; prompts for recording AGI script, ID is 4321
|
|
; first variable is format (gsm/wav)
|
|
; second variable is timeout in milliseconds (default is 360000 [6 minutes])
|
|
exten => 8167,1,Answer
|
|
exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000)
|
|
exten => 8167,3,Hangup
|
|
exten => 8168,1,Answer
|
|
exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000)
|
|
exten => 8168,3,Hangup
|
|
|
|
; playback of recorded prompts
|
|
exten => _851XXXXX,1,Answer
|
|
exten => _851XXXXX,2,Playback(${EXTEN})
|
|
exten => _851XXXXX,3,Hangup
|
|
|
|
#### VDAD STANDARD TRANSFER ENTRIES ####
|
|
; VICIDIAL_auto_dialer transfer script for no-agent campaigns:
|
|
exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8364,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8364,5,Hangup
|
|
|
|
; VICIDIAL_auto_dialer transfer script:
|
|
exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8365,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO)
|
|
exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO)
|
|
exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO)
|
|
exten => 8365,5,Hangup
|
|
|
|
; VICIDIAL_auto_dialer transfer script SURVEY at beginning:
|
|
exten => 8366,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8366,2,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
exten => 8366,5,Hangup
|
|
|
|
; VICIDIAL_auto_dialer transfer script Load Balance Overflow:
|
|
exten => 8367,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8367,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO)
|
|
exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO)
|
|
exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO)
|
|
exten => 8367,5,Hangup
|
|
|
|
; VICIDIAL_auto_dialer transfer script Load Balanced:
|
|
exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8368,2,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8368,5,Hangup
|
|
|
|
; VICIDIAL_auto_dialer transfer script AMD with Load Balanced:
|
|
exten => 8369,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|256)
|
|
exten => 8369,3,AGI(VD_amd.agi,${EXTEN})
|
|
exten => 8369,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
exten => 8369,7,Hangup
|
|
|
|
; VICIDIAL auto-dial reminder script
|
|
exten => 8372,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
|
|
exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
|
|
exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
|
|
exten => 8372,5,Hangup
|
|
|
|
; VICIDIAL SURVEY transfer script AMD with Load Balanced:
|
|
exten => 8373,1,AGI(agi://127.0.0.1:4577/call_log)
|
|
exten => 8373,2,AMD(2000|2000|1000|5000|120|50|4|256)
|
|
exten => 8373,3,AGI(VD_amd.agi,${EXTEN})
|
|
exten => 8373,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
exten => 8373,6,Hangup
|
|
|
|
#### VDAD SIP UNREGISTERED TRANSFER ENTRIES ####
|
|
#### Use these entries IN PLACE OF the entries above if you are using SIP trunks
|
|
#### and are not registering your provider in sip.conf
|
|
;; VICIDIAL_auto_dialer transfer script for no-agent campaigns:
|
|
;exten => 8364,1,Playback(sip-silence)
|
|
;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8364,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
;exten => 8364,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
;exten => 8364,5,Hangup
|
|
;
|
|
;; VICIDIAL_auto_dialer transfer script:
|
|
;exten => 8365,1,Playback(sip-silence)
|
|
;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8365,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO)
|
|
;exten => 8365,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----SO)
|
|
;exten => 8365,5,Hangup
|
|
;
|
|
;; VICIDIAL_auto_dialer transfer script SURVEY at beginning:
|
|
;exten => 8366,1,Playback(sip-silence)
|
|
;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8366,3,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
;exten => 8366,4,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
;exten => 8366,5,Hangup
|
|
;
|
|
;; VICIDIAL_auto_dialer transfer script Load Balance Overflow:
|
|
;exten => 8367,1,Playback(sip-silence)
|
|
;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8367,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO)
|
|
;exten => 8367,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LO)
|
|
;exten => 8367,5,Hangup
|
|
;
|
|
;; VICIDIAL_auto_dialer transfer script Load Balanced:
|
|
;exten => 8368,1,Playback(sip-silence)
|
|
;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8368,3,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
;exten => 8368,4,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
;exten => 8368,5,Hangup
|
|
;
|
|
;; VICIDIAL_auto_dialer transfer script AMD with Load Balanced:
|
|
;exten => 8369,1,Playback(sip-silence)
|
|
;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256)
|
|
;exten => 8369,4,AGI(VD_amd.agi,${EXTEN})
|
|
;exten => 8369,5,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
;exten => 8369,6,AGI(agi-VDAD_ALL_outbound.agi,NORMAL-----LB)
|
|
;exten => 8369,7,Hangup
|
|
;
|
|
;; VICIDIAL auto-dial reminder script
|
|
;exten => 8372,1,Playback(sip-silence)
|
|
;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
|
|
;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
|
|
;exten => 8372,5,Hangup
|
|
;
|
|
;; VICIDIAL SURVEY transfer script AMD with Load Balanced:
|
|
;exten => 8373,1,Playback(sip-silence)
|
|
;exten => 8373,2,AGI(agi://127.0.0.1:4577/call_log)
|
|
;exten => 8373,3,AMD(2000|2000|1000|5000|120|50|4|256)
|
|
;exten => 8373,4,AGI(VD_amd.agi,${EXTEN})
|
|
;exten => 8373,5,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
;exten => 8373,6,AGI(agi-VDAD_ALL_outbound.agi,SURVEYCAMP-----LB)
|
|
;exten => 8373,7,Hangup
|
|
|
|
|
|
|
|
SUBPHASE 6.3: adding entries to your MySQL "asterisk" database for vicidial
|
|
applications
|
|
|
|
We need to add a few initial values to the vicidial tables in the "asterisk"
|
|
database in order to start setting up the vicidial dialer system for use.
|
|
|
|
#### REMOVED, not necessary if you run the first_server_install.sql file above
|
|
|
|
|
|
|
|
SUBPHASE 6.4: setting up asterisk and helper applications for startup
|
|
|
|
1. Make several entries in the rc.local of your system:
|
|
- on the command line type:
|
|
- vi /etc/rc.d/rc.local
|
|
- add the following entries(here's what we used):
|
|
|
|
# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring)
|
|
# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2
|
|
|
|
# Disable console blanking and powersaving
|
|
/usr/bin/setterm -blank
|
|
/usr/bin/setterm -powersave off
|
|
/usr/bin/setterm -powerdown
|
|
|
|
### start time server
|
|
/usr/local/bin/ntpdate -u pool.ntp.org
|
|
/usr/sbin/ntpd
|
|
|
|
### start up the MySQL server
|
|
/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache &
|
|
|
|
### start up the MySQL 4.1.X server (with old passwords)
|
|
/usr/local/mysql/bin/safe_mysqld --old-passwords --skip-name-resolve --skip-host-cache &
|
|
|
|
### start up the apache web server
|
|
/usr/local/apache2/bin/apachectl start
|
|
|
|
### roll the Asterisk logs upon reboot
|
|
/usr/share/astguiclient/ADMIN_restart_roll_logs.pl
|
|
|
|
### clear the server-related records from the database
|
|
/usr/share/astguiclient/AST_reset_mysql_vars.pl
|
|
|
|
### load digium tormenta 4xT1 drivers into system
|
|
modprobe zaptel
|
|
modprobe wct1xxp
|
|
/sbin/ztcfg -vvvvvvvvvvvv
|
|
|
|
### sybsys local login
|
|
touch /var/lock/subsys/local
|
|
|
|
### sleep for 20 seconds before launching Asterisk
|
|
sleep 20
|
|
|
|
### start up asterisk
|
|
/usr/share/astguiclient/start_asterisk_boot.pl
|
|
|
|
- you are done
|
|
|
|
|
|
|
|
|
|
SUBPHASE 6.5: setting up astguiclient scripts for continuous running
|
|
|
|
1. Make several entries in the crontab of your system:
|
|
- on the command line type:
|
|
- cd /usr/share/astguiclient
|
|
- crontab -e
|
|
- add the following entries(here's what we used):
|
|
|
|
### recording mixing/compressing/ftping scripts
|
|
#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl
|
|
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl --MIX
|
|
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl
|
|
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl --GSM
|
|
#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --GSM
|
|
|
|
### keepalive script for astguiclient processes
|
|
* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl
|
|
|
|
### kill Hangup script for Asterisk updaters
|
|
* * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl
|
|
|
|
### updater for voicemail
|
|
* * * * * /usr/share/astguiclient/AST_vm_update.pl
|
|
|
|
### updater for conference validator
|
|
* * * * * /usr/share/astguiclient/AST_conf_update.pl
|
|
|
|
### flush queue DB table every hour for entries older than 1 hour
|
|
###### SHOULD ONLY BE RUN ON ONE SERVER IN A CLUSTER!!!!! #####
|
|
11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q
|
|
|
|
### fix the vicidial_agent_log once every hour and the full day run at night
|
|
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
|
|
50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours
|
|
## uncomment below if using QueueMetrics
|
|
#*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check
|
|
|
|
# cleanup of the scheduled callback records
|
|
25 0 * * * /usr/share/astguiclient/AST_DB_dead_cb_purge.pl --purge-non-cb --quiet
|
|
# removal of duplicate scheduled callback records
|
|
#35 0 * * * /usr/share/astguiclient/AST_DB_dead_cb_purge.pl --purge-non-cb --remove-dup-cb --quiet
|
|
|
|
## uncomment below if using Vtiger
|
|
#1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet
|
|
|
|
### updater for VICIDIAL hopper
|
|
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
|
|
|
|
### adjust the GMT offset for the leads in the vicidial_list table
|
|
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --list-settings
|
|
|
|
### reset several temporary-info tables in the database
|
|
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
|
|
|
|
### optimize the database tables within the asterisk database
|
|
3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl
|
|
|
|
## adjust time on the server with ntp
|
|
30 * * * * /usr/local/bin/ntpdate -u pool.ntp.org 2>/dev/null 1>&2
|
|
|
|
### VICIDIAL agent time log weekly and daily summary report generation
|
|
2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl
|
|
22 0 * * * /usr/share/astguiclient/AST_agent_day.pl
|
|
|
|
### VICIDIAL campaign export scripts (OPTIONAL)
|
|
#32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl
|
|
#42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.pl
|
|
|
|
### inbound email parser
|
|
#* * * * * /usr/share/astguiclient/AST_inbound_email_parser.pl
|
|
|
|
### inventory report optional
|
|
#1 7 * * * /usr/share/astguiclient/AST_dialer_inventory_snapshot.pl -q --override-24hours
|
|
|
|
### remove old recordings more than 7 days old
|
|
#24 0 * * * /usr/bin/find /var/spool/asterisk/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f
|
|
|
|
### roll logs monthly on high-volume dialing systems
|
|
#30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl
|
|
|
|
### roll call_log and vicidial_log_extended daily on very high-volume dialing systems
|
|
#20 1 * * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl --daily
|
|
|
|
### remove old vicidial logs and asterisk logs more than 2 days old
|
|
28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f
|
|
29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f
|
|
30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f
|
|
|
|
### remove text to speech file more than 4 days old
|
|
#20 0 * * * /usr/bin/find /var/lib/asterisk/sounds/tts/ -maxdepth 2 -type f -mtime +4 -print | xargs rm -f
|
|
|
|
|
|
|
|
|
|
- once your system starts up you can attach to the screen running asterisk by
|
|
typing "screen -r <screen>" find which screen by typing "screen -r" and
|
|
looking for the lowest screen number. Then to detach again from the screen
|
|
while you are in it type 'Ctrl+a' then 'd'
|
|
- you are done
|
|
|
|
NOTES:
|
|
- The AST_agent_day.pl and AST_agent_week.pl scripts create an ASCII fixed-length report of all agent activity on the system
|
|
- The AST_VDsales_export.pl script allows for the exporting(into several different formats) of specified vicidial_list data based on status and campaign as well as inbound group
|
|
- The AST_sourceID_summary_export.pl script summarizes leads in the system by source_id and generates a text report
|
|
|
|
|
|
|
|
|
|
|
|
SUBPHASE 6.6: adding test leads to the VICIDIAL database and configuring a
|
|
VICIDIAL campaign and users
|
|
|
|
First we will add a few test leads to the vicidial_list table so that we can
|
|
test our system. There is also an application included with the distribution
|
|
that will accept a delimited file of leads placed in the /usr/share/astguiclient/VICIDIAL/LEADS_IN/
|
|
directory and load it into the database automatically(VICIDIAL_IN_new_leads_file.pl
|
|
[a sample lead file in the proper format is included with this release:
|
|
- test_VICIDIAL_lead_file.txt])
|
|
If you want to use the lead import script I suggest looking at the code to make
|
|
sure it is entering what you want it to. We are not going to go over that
|
|
particular script in this document.
|
|
|
|
Also, there is a web-based lead loader that was made available as of the 1.1.1
|
|
release and is accessible from the VICIDIAL admin.php web page(click on the
|
|
"LOAD NEW LEADS" link at the top of the admin page). To get to this page you
|
|
must have permissions in the vicidial_user table(Load Leads set to 1) .
|
|
Instructions on it's use are included on the page through the help question
|
|
mark link.
|
|
NOTE: in PHP you must have "fileuploads" enabled for this page to work.
|
|
NOTE: it is important to have your proper country code in the phone_code field of your leads so that the GMT offset encodding will properly code the time zones for your leads. For the USA/Canada/Caribbean this would be 1. For the UK this is 44 and Mexico is 52 and so on.
|
|
|
|
Second we need to add the disposition statuses into the system, all of these
|
|
queries are below:
|
|
(Note: you may want to replace 7275551212 with a real number to test in these
|
|
records)
|
|
|
|
#### REMOVED, not necessary if you run the first_server_install.sql file above
|
|
|
|
|
|
Now that the sample leads and disposition codes have been entered, we can go
|
|
into the VICIDIAL administration website and set up our campaigns, lists and users.
|
|
But first let's make sure that they have the right GMT offset:
|
|
run this on the command line:
|
|
- /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --postal-code-gmt
|
|
|
|
3. Enter the astguiclient administration page:
|
|
http://10.10.10.15/vicidial/admin.php
|
|
(use the username and password created when we entered a record into the
|
|
vicidial_users table in SUBPHASE 6.1, In our case this is 6666 and 1234)
|
|
NOTE: if you click on the Logout button you must leave the user/pass empty and click OK
|
|
- Now that you are logged into the vicidial administration system we can add
|
|
new user entries for each of the new users and enter new campaigns and new
|
|
lists.
|
|
- The first step is to enter your new users, Click on the ADD A NEW USER
|
|
and fill in the appropriate information for each now user you want to
|
|
add.
|
|
- Next, you need to create a new campaign, click on the ADD A NEW
|
|
CAMPAIGN link and fill in what you want the campaign to be called as
|
|
well as a description
|
|
- Next, you need to define a new list, click on the ADD A NEW LIST link
|
|
and fill in what you want the list to be called as well as a using the
|
|
list ID of the leads that we loaded in the previous step "101" and
|
|
select the new campaign from the pull-down menu that we just created.
|
|
- Now that you have created your list, make it active by changing active to Y
|
|
- now modify your campaign ang change the first status to be called to
|
|
NEW and submit. Now your system is ready to dial.
|
|
- you are done
|
|
|
|
|
|
|
|
SUBPHASE 6.7: VICIDIAL remote agents:
|
|
|
|
With v1.0 of VICIDIAL we have the ability to use a simple web form to give
|
|
remote agents a way to receive calls to whatever number they happen to be at,
|
|
and they can view/edit call details and see a call log all through a web page
|
|
(vdremote.php) or http://10.10.10.15/vicidial/vdremote.php on this installation.
|
|
Remote Agents is only recommended for inbound calls because of the extra time
|
|
needed to dial a number out to transfer the call to. To set up remote agents,
|
|
just go to the vicidial admin.php page and ADD NEW REMOTE AGENTS(Make sure the
|
|
userID start also has a user login so they can get to the vdremote page). You
|
|
will see that you can set up a remote agent entry to take multiple lines if you
|
|
wish meaning that, for example, if you need to send all of your calls to another
|
|
location because of a massive snowstorm(and none of your agents showed up at work)
|
|
you just log in that remote agent record with say 10 lines and then all of those
|
|
calls will be directed to the same number you set up for the remote agent. Then
|
|
again you could just get your agents to log in from home if they have a phone
|
|
and computer
|
|
|
|
|
|
|
|
SUBPHASE 6.8: astGUIclient web-only client:
|
|
|
|
With 1.1.1 release of astguiclient we have completely rewritten the astGUIclient
|
|
client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time
|
|
GUI interface using only a web browser. The browser requirements for this are:
|
|
- Firefox 1.0 or greater *** RECOMMENDED ***
|
|
- Mozilla 1.7 or greater
|
|
- Netscape 8 or greater
|
|
- Opera 8.5 or greater
|
|
- Microsoft Internet Explorer 6.0
|
|
|
|
This new version also has more flexibility and functionality than the perl/Tk
|
|
version as well as being prettier. We have successfully tested this on many
|
|
platforms and in remote locations. It functioned wonderfully off-site with one
|
|
of our IAX hardphones and offers a lot of promise for road warriors who need
|
|
a lot of options on their phone usage like conferencing and a detailed call log.
|
|
|
|
To log into this app you will need a login setup in the vicidial_users table
|
|
with a user_level of 1 or greater as well as an entry for the phone you are
|
|
using in the phones table. You will first get a login prompt for the vicidial
|
|
login then you will have the phone login where you enter the Login and Password
|
|
for that phone entry. From there the app should display and you will see the
|
|
MAIN screen with your phone information, voicemail display and your inbound/
|
|
outbound phone call log.
|
|
|
|
The example web page you would go to on this installation would be:
|
|
http://10.10.10.15/agc/astguiclient.php
|
|
|
|
The inbound log and callerID popup is dependant on having a call_inbound.agi
|
|
entry in your dialplan before you phone is dialed(see subphase 6.2 step 2)
|
|
|
|
Another thing to note is that you can have the agc folder(with the .php files
|
|
in it) copied to multiple web servers, you just need to make sure that the
|
|
MySQL database connection works (check the settings in the dbconnect.php file
|
|
that is in the agc directory). We have had astguiclient.php running on 3
|
|
separate web servers for the same DB server and Asterisk server. This is an
|
|
easy way to allow for auto failover and/or redundancy. Also, this client will
|
|
work over SSL connections(https) for encrypted communications with the server.
|
|
|
|
New in astGUIclient release 1.1.7 is multi-language support. multi-language
|
|
versions of web-clients and admin pages are available in the LANG_www directory
|
|
and can be unzipped into your webroot directory.
|
|
|
|
|
|
|
|
SUBPHASE 6.9: VICIDIAL web-only client:
|
|
|
|
NOTE: There is a VICIDIAL Agent manual available from http://www.eflo.net
|
|
|
|
With 1.1.6 release of astguiclient we have finished the rewrite of the VICIDIAL
|
|
client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time
|
|
GUI interface using only a web browser like we have done with astGUIclient.
|
|
The browser requirements for this are:
|
|
- Firefox 1.0 or greater *** RECOMMENDED ***
|
|
- Mozilla 1.7 or greater
|
|
- Netscape 8 or greater
|
|
- Opera 8.5 or greater
|
|
- Microsoft Internet Explorer 6.0
|
|
|
|
This version is fully functional and has been tested in our production
|
|
call center with no problems.
|
|
|
|
To log into this app you will need a login setup in the vicidial_users table
|
|
with a user_level of 1 or greater as well as an entry for the phone you are
|
|
using in the phones table. You will first get a login prompt for the vicidial
|
|
login then you will have the phone login where you enter the Login and Password
|
|
for that phone entry. From there the app should display and you will see the
|
|
VICIDIAL screen with your phone information.
|
|
|
|
The example web page you would go to on this installation would be:
|
|
http://10.10.10.15/agc/vicidial.php
|
|
|
|
One more feature that the VICIDIAL web-client offers is the ability to set up
|
|
an EXTERNAL phone extension in the astguiclient admin section so that you can
|
|
have agents log in to vicidial.php wherever they have access to a phone with
|
|
an external phone number and a web browser. To do this follow these steps:
|
|
- "ADD PHONE" in the admin.php web page and enter whatever name you want
|
|
- For the dialplan number field put in the full digits that you would dial from
|
|
the Asterisk server to get to that agent's external phone(with 91 if used)
|
|
- For the Protocol select EXTERNAL
|
|
- make sure the agent knows the login and password set for this phone entry.
|
|
Then the agent will go to the vicidial.php page and enter in their phone
|
|
login/pass, their vicidial user/pass/campaign and their phone should ring in a
|
|
few seconds, and they are logged in and ready to take calls.
|
|
|
|
Another thing to note is that you can have the agc folder(with the .php files
|
|
in it) copied to multiple web servers, you just need to make sure that the
|
|
MySQL database connection works (check the settings in the dbconnect.php file
|
|
that is in the agc directory). We have had astguiclient.php running on 3
|
|
separate web servers for the same DB server and Asterisk server. This is an
|
|
easy way to allow for auto failover and/or redundancy. Also, this client will
|
|
work over SSL connections(https) for encrypted communications with the server.
|
|
|
|
New in astGUIclient release 1.1.7 is multi-language support. multi-language
|
|
versions of web-clients and admin pages are available in the LANG_www directory
|
|
and can be unzipped into your webroot directory.
|
|
|
|
Admin Note: If you want to enable your agents to login with only their user/pass
|
|
you can hardcode the phone_login and phone_pass into the query string(URL) and
|
|
use a bookmark on their desktop, taking one more step out of their login process
|
|
example: http://10.10.10.15/agc/vicidial.php?pl=gs102&pp=test
|
|
|
|
It is recommended if you are in a call center environment that you would disable
|
|
the "Saved Form Information" option in Firefox settings. This is a checkbox in
|
|
the Privacy settings under the Options menu.
|
|
|
|
|
|
|
|
PHASE 7.0: You are done with installation
|
|
|
|
If you have problems and it is not working right(and are NOT celebrating right
|
|
now), feel free to take a look at the FAQ for solutions to common installation
|
|
errors, read the SCRATCH_INSTALL document, visit the VICIDIAL forum or send an
|
|
email to the mailing list:
|
|
http://www.eflo.net/VICIDIALforum/index.php
|
|
https://lists.sourceforge.net/lists/listinfo/astguiclient-users
|
|
|
|
Also, check out our weblog: http://astguiclient.blogspot.com/
|
|
|
|
|
|
**** IMPORTANT - In order for vicidial/astguiclient to function correctly please
|
|
read the REQUIREMENTS.txt for a minimum requirements list. ***
|
|
|
|
End-user Manuals for Agents and Managers are available from http://www.eflo.net
|