Tuesday, August 15, 2017

Install Backup Vicidial on Digital Ocean

As a back up, I've installed an instance of Vicidial in the cloud through Digital Ocean. I haven't used it yet full time, as I still have my on-premise servers working. It just helps me sleep at night knowing that I have a back up for emergencies. I've tested only a few calls on this and it seems to work fine. I haven't used it full-blown yet so I don't know how well it performs with 5 concurrent users.

Droplet Requirements:

  • Minimum Memory: 1 GB or higher
  • Disk Space: 30 GB or higher
  • OS: CentOS 6.8 x64
For the location of the server, I chose somewhere in North America, because my vendor's VOIP servers are located in United States. I figured that would help with lessening data travel time which prevents choppy calls and delayed voices. (Comment below if you think this logic is wrong.)

Afterwards I just followed the installation instructions on Ray Solomon's website. For me, it was easier to follow than the striker24x7 version. At first try, it took me the whole day, but on the second try I was able to finish in half a day. It's not entirely updated, like some of the installers of the components have a newer version, so just make sure to check the links if there are newer versions and change the download addresses accordingly.

If you find it useful and if you are happy with the outcome, check out Ray Solomon's Amazon wishlist at the bottom of his webpage. I hope he's enjoying the Bayou Seasoning Injector I sent.

P.S. When you're done installing, don't forget to set your iptables properly to block off the hackers!

Update June 2022: The Ray Solomon Website is gone but wayback machine has a copy of it, thankfully! I hope this helps you!

Tuesday, June 13, 2017

Schedule Daily Job on Deletion of Old Recordings

I previously wrote an entry on freeing up space in Vicidial by deleting old recordings and log files (see here). Previously, I didn't have to do this frequently. Now, I have to perform this every 2-3 days thanks to the high volume of calls.

With that, I learned that scheduling this job daily saves me a lot of time from having to do this manually by editing the cron file.

Type in SSH
crontab -e

Add to the bottom then save
### remove WAV files and remove log file daily at after office hours
30 18 * * * rm -f /var/spool/asterisk/monitorDONE/ORIG/*.wav
30 18 * * * rm -f /var/log/httpd/*
35 18 * * * sudo reboot

For this job I've scheduled, it's set to delete old WAV files and logs at 6:30pm then reboot at 6:35pm every day. For more info on the how to add jobs in cron, check here.



Change Logo in Vicidial to Own Company Logo

If you'd like to customize or personalize Vicidial for your company, you can change the Vicidial Logo into your Company Logo. If you have multiple Vicidial Servers in your company and would like to help the agents differentiate them, changing the logo is also one way of helping them distinguish if they're in the right place.

For the first step, I looked for the location of the 2 logo image files and saved it. See below for the images. For mine, one image file is for the front page/login/agent screen, while the other one is for the administration pages. Different versions have different locations and image types!

Logos in Front Page, Log In, Agent Screen
Linux Location: /var/www/html/agc/images/vdc_tab_vicidial.gif

Logos in Administration
Linux Location: /var/www/html/vicidial/vicidial_admin_web_logo.gif

For the second step, I made my logo files fit the dimension of 220 pixels to around 60 pixels and saved it both as vdc_tab_vicidial.gif and vicidial_admin_web_logo.gif -- it must be the same name, so you won't have to tweak the PHP Files. For other versions, the original image file is in .PNG, so you have to save yours in .PNG. I just use regular ol' MS Paint.

For the third step, I used WinSCP to find the folders where the logos need to be (see step 1 in determining the address). I replaced the old logo files with the new ones. It was a lot easier for me to upload files using WinSCP rather than SSH. If you can do it through SSH (unlike me), you won't need WinSCP anymore.



Finally, once you've replaced the logos, use CTRL + SHIFT + R to reload the page with the new logo! For this example, I made a little rainbow colored "Hello World".



Thursday, April 6, 2017

Call Forwarding Inbound DID

With the holidays coming up, I needed to forward calls from our Vicidial into an external number.

Under the Inbound DID Settings:
  • Set "DID Route" to EXTEN
  • Set "Extension" to dialplan prefix + countrycode + area code + number

Unfortunately, I tested it and found that there is a significant delay with the sounds. On top of that, there is a long silence. I need to find out why there is a long silence and if I can replace that with ringing so the caller doesn't feel like he/she got dropped.

To be continued...

Source:
http://www.vicidial.org/VICIDIALforum/viewtopic.php?f=4&t=25793

Friday, February 24, 2017

Deleting Recordings from a Specific Date in Vicidial

How does one delete recordings from a specific date? It's a good thing that vicidial recordings are named by date. In my case, the recordings we use are in MP3 format.

For example here, if I wanted to delete all MP3's from March 19, 2016, I just need to use the command below:
rm -f /var/spool/asterisk/monitorDONE/MP3/20160319*.mp3
It would be helpful in freeing up space if the original .WAV files are also deleted since they eat up a lot of space. This isn't a date-specific command since we only need the MP3's.
rm -f /var/spool/asterisk/monitorDONE/ORIG/*.wav 

To free up more space, check here:
http://simplevicidial.blogspot.com/2016/04/no-mysqlsock-because-root-partition-is.html 

*Another thing I learned: Sometimes, you just need to reboot to free up space.

Wednesday, February 15, 2017

8 Sockets Detached Only in Asterisk, Can't call Softphone

After my hard drive was full again from recordings, I deleted the extra recordings and then rebooted. After this, the users told me that their X-Lite (our softphone) wasn't being called into the conference anymore.

For those unfamiliar, every time the agent logs into the website of Vicidial, the softphone will ring and will join a conference. Vicidial will dial numbers and when it gets an answered call, it will connect this phone call to the conference.

Upon checking using the "screen -ls" command, there are only 8 sockets detached (vs the usual 9). I found that "astsend" was missing. I assume this is the socket that "sends" the calls to the softphones.

I found 2 suggestions on how to fix it:

1. Recompile Asterisk - I don't know how to do this exactly, but might be worth looking into for those who know how to do this.

2. Perform a Mysql Repair - Thankfully, this was the solution that worked for me! Turns out, when deleting unwanted recordings, it also damaged the mysql database.
mysqlcheck --auto-repair asterisk
sudo reboot
After performing the mysql repair and rebooting, Asterisk now calls my X-lite again.

Sunday, January 22, 2017

No More Leads in the Hopper for Campaign

Early this morning, I had to free up some space by deleting unneeded .WAV files. Later in the day, we found out that we couldn't make any outbound calls for all of the campaigns (but we could still receive inbound calls). The error was "No more leads in the hopper for campaign: <campaign name>". This was the same error message regardless of if it was Manual Dialing or Predictive Dialing.



I found the way to identify the issue through Support ALG's blog (see link below).
https://supportalg.blogspot.com/2015/06/how-to-fix-error-this-campaign-has-zero.html

It was the 2nd method that helped me identify the error:
/usr/share/astguiclient/AST_VDhopper.pl --debugX
Sorry, I was only able to get a partial screenshot

Because of this, I was able to identify that the /asterisk/vicidial_list table had crashed. After googling "table vicidial list is marked as crashed", I found this vicidial.org forum thread:
http://www.vicidial.org/VICIDIALforum/viewtopic.php?t=20206

Scrolling down below, I found this command (first when mysql has no password, second has password - you'll only need one of them):
mysqlcheck --auto-repair asterisk vicidial_list
mysqlcheck --auto-repair asterisk vicidial_list -p

Now after running the mysqlcheck, I logged out of and in to the campaign, and I can dial outbound calls again!