Posted: October 24th, 2008 | Author: Gregg | Filed under: Asterisk VoIP, Linux, Tech | Tags: Asterisk VoIP, automated, call center, centos, dialer, easy, gnudialer, kickstart, Linux, open-source, voip | 11 Comments »
I’ve had the task of installing GNUDialer for testing and call-centers tend want dialers all the time. Many dialer platforms are extremely bloated and their support fees are enormous! I like GNUDialer because they decided to make an open-source dialer platform that is minimal and functional.
Disclaimer: I am not responsible for any loss of data, server explosions, recessions, depressions, or anything negative that may arise from you running the dialer kickstart script. It was meant with good intentions, but I am not going to be liable for any of your actions.
Glad that is out of the way.
You can read through each script that runs and know exactly how the install was done. Make sure you watch the console throughout the install to catch any possible errors that may be thrown out (2)stderr.
–Prerequisites (Have your server connected to a DHCP-enabled network with internet access)
1. Download and Burn CentOS 4.5 or 4.6 ISO CD1 Here or Here.
2. Start the server with the CD and set the BIOS to boot from CD first
3. You will see this screen if it booted from the CD properly. At the prompt type ‘linux ks=http://www.thiscoolsite.com/scripts/ks_dialer/ks.cfg’ just like it did in the screenshot. Then hit enter.
4. If you typed the command incorrectly you will see this screen asking you to ‘test your media’. If you see this screen reboot your server and try typing the command again, but correctly.
5. After a minute you should see a screen that looks like this. That means you typed the ‘linux ks’ command correctly and it is installing in txt mode. It will take at least 10 minutes, then it will look like it is paused at the end of the install. Don’t worry, it is using yum to install all the latest packages you need to run Asterisk and Gnudialer. The install will reboot itselft, so don’t mess with it.
Upon first boot, the main script runs that will be doing the MySQL databse config, Asterisk install, astcrm, and GNUDialer installs. The script will exit and you will be prompted with a login screen. The default user is ‘root’ and password is ‘star1405’.
Change your root password immediately with the ‘passwd’ command.
Once you are logged in you can check to see that Asterisk is running by typing Asterisk -r and getting in to the console. You can then start the gnudialer daemon for the first time by typing ‘gnudialer –safe’. You should be up and running now! Good Job.
Navigate to http://InternalIPAddress/gnudialer to login to the management interface. Password is ‘gnudialer’.
Make sure you read all of the readme and install files in /usr/src/gnudialer so you can actually setup working campaigns and use the settings properly. Also, a few people are always available for live help in IRC.freenode.net’s #gnudialer channel. Be aware, ignorance is not allowed. If you didn’t attempt to troubleshoot the issue yourself or read everything available to you on the internet, you will be chastised and humiliated in front of your peers. <G>
As always, leave a comment with your email and I will try to help in any way that I can.
Happy automated-dialing trails…to you!
Posted: October 24th, 2008 | Author: Gregg | Filed under: Asterisk VoIP, Linux, Tech | Tags: Asterisk VoIP, bash, convert, cron wav to mp3, g729 to mp3, gsm to mp3, Linux, record, record calls, recordings, scripting, scripts, voip, wav to mp3 | 29 Comments »
From a helpful contributor. Since the encoding has changed and I haven’t had to do file conversion in years and years.
Check out Ernesto’s script here.
I have had many jobs (consulting and Salary) that have involved using Asterisk in a “Call-Center” environment. Whenever an agent would make a sale, the call would need to be recorded for verification purposes. Now I could talk about Asterisk and call-recording for pages upon pages, but I will be focusing on large .wav to .mp3 conversion jobs on the Linux/Asterisk server itself. First off, Asterisk can record calls using several different methods. The first method being that you setup a feature called Automon in /etc/asterisk/features.conf and use *1 (or whatever you specify) to record a call in progress. The second method is recording every call that comes in through a specific DID or enters a specific queue. Another method is to setup a ‘call genie’ that you conference your phone to and it records the entire call-bridge. There are pros and cons to every type of recording method and format. You can use GSM, wav, g729, etc. to record calls. Not matter what method you use, the simple script I wrote will convert your .wav files to .mp3 and also retain the timestamp of when the file was initially created (recorded). The options I use for mlame are what makes this script retain its awesome-ness over time. The options allow the final-result mp3 to be compressed and compatable with Asterisk. This means that you can playback your .mp3 files that you converted over Asterisk if you are using a ‘call-genie’ setup. I have also written scripts to convert your .g729/.gsm/etc => .mp3 so if you need one of those scripts leave a comment and I will email it to you (20090908 UPDATE: Check end of post for .g729 to MP3 file conversion script)
1. Download the script to your server. wget http://www.thiscoolsite.com/scripts/convertwav/convert_recordings.sh or download it here.
2. Put the script anywhere you wish, I tend to leave it in my home directory
3. chmod +x convert_recordings.sh
4. You need to install lame. Get the file from the lame site.
5. Extract the tarball. For Example… tar -zxvf lame-398-2.tar.gz
6. cd lame-398-2
9. make install
10. Now copy the mlame file from lame-398-2/misc/mlame to your .wav directory /var/spool/asterisk/monitor (or wherever your .wavs are)
11. chmod +x mlame
12. Edit the convert_recordings.sh recorddir variable to match your .wav directory path (no trailing ‘/’). The default directory is set to /var/spool/asterisk/monitor
13. Run the script by navigating to the directory and ./recordings_convert.sh
You should see it take a few seconds for each file and go on. I usually test it out by letting it convert a few files then Cntrl + C and ls -l the directory to check the filesizes and timestamps. There is a commented out section at the bottom of recordings_convert.sh that moves the .wav files to a separate directory (easier to check if it worked) and in my case, I keep the old files for a month or so for job security reasons. If you lose a bunch of verification recordings, you are going to have major problems.
Cron it, at it, and happy converting.
Code for .g729 to MP3 script. Very dirty, but works, please test on a small group of test files first.
Leave a comment if you need further assistance.
#Author: Gregg Hansen 20080414
#Used to convert from .g729 -in and -out files to .mp3
#Run on Recordings server
for i in `ls /ramdiskunload/*.g729`;
#convert all .g729 to wav first, then soxmix
DST=`echo $i | sed 's/.g729/.wav/g'`
asterisk -rx "file convert $i $DST"
rm -f $i
mv $DST /recordings
#all files should now be in the /recordings directory
#use soxmix and mlame to convert them to one file => mp3
for j in `ls /recordings/*-in.wav`;
INFILE=`echo $j | sed 's/-in/-out/g'`
MIXED=`echo $j | sed 's/-in//g'`
soxmix $j $INFILE $MIXED
rm -f $j
rm -f $INFILE
/root/test/mlame -f -o "-b 16 -m m -q 9 --resample 8" $MIXED
As always, leave a comment if you need help or clarification.