From Vicidial Wiki
Jump to: navigation, search

I don't quite understand what astGUIclient is or how it is physically set up?

For you we have created this wonderful graphic. To show some of the physical hardware and connections of an Asterisk system and what is needed for astGUIclient and VICIDIAL to run. The software process is much more in-depth and a lot harder to diagram in something viewable on a computer screen.

Do you have any pretty promotional materials or handouts about astguiclient/VICIDIAL?

For astricon 2005 we made a semi-professional handout for the project to handout at our booth. We gave out over 150 of these and because it was so popular there we have made it available in PDF format here on the project site: ./agc_handout.pdf agc_handout.pdf

There is also a more updated VICIDIAL-only promo sheet available from vicidial_brochure_sheet.pdf

Why is VICIDIAL written in capital letters? Are you yelling at me? Is it an acronym?

Voice Interaction Communication Interface Data Integration Active Link But really it started out as a Dialing engine for a company that was named "Vici" and the name stuck. VICIDIAL is a registered trademark and can only be used with permission.

Is there a manual available for astGUIclient or VICIDIAL?

There are two official manuals for VICIDIAL, one for Agents and one for Managers. Both available from For systems administrators, the ./scratch_install.html SCRATCH_INSTALL document is available.

I need help installing astGUIclient or VICIDIAL, how much would you charge to set it up for me?

We are not a consulting company and do not offer paid support, but we do now have a list of companies we recommend for doing installation and troubleshooting of astGUIclient/VICIDIAL systems: CONSULTANTS PAGE

Also, we do have a mailing-list and a Discussion Forum that you can post your questions and help requests to. You can also check the mailing-list archive.

I keep getting this Time::HiRes error when I try to run, HELP!

Depending on what version of perl you are running, you may have a conflicting version of the Time::HiRes perl module installed. To fix this, just go to and download the version that your error message says it's looking for( Nothing needs to be installed, and the same HiRes?.pm file will work on Win32 and UNIX. on Windows or UNIX just copy the HiRes?.pm file to libs/Time folder in your astGUIclient install directory. On the client side, you can often fix this error by deleting the libs/Time folder from your client computer.

Does VICIDIAL work over IAX trunks?

Yes, as of version 1.0.5 the suite supports IAX trunks fully, so you can use astGUIclient and VICIDIAL completely over IAX VOIP trunks.

Does VICIDIAL work over SIP trunks?

Yes, as of version 1.1.4 we have beta support for SIP trunks, we tried it with a couple providers and it does work, but there are many different providers and many different ways of setting them up. If anyone out there has problems with SIP trunks please let us know so we can run some tests and make it work. We would still like to encourage people wanting to use SIP trunks for VICIDIAL to try IAX2 trunks instead. IAX2 is much more efficient for multiple phone calls than SIP(meaning more calls over the same bandwidth) and it is much easier to configure through a firewall. Another reasons for using IAX trunks instead of SIP trunks is the faster signalling reception(like Answer and Hangup signals) with IAX. There are IAX providers in most countries around the world including over 100 in the USA alone.

Does VICIDIAL work over CAPI trunks?

No, right now we do not have the facilities to test CAPI channels. But if someone who does would like to work with us, we can do some remote testing and development and offer it. Does VICIDIAL work with BRIstufft Asterisk installations?

Yes, but because of the way that the BRIstufft changes the formatting of the Asterisk uniqueid for calls you have to execute the following MySQL statements to alter the database to allow the longer uniqueids:

 ALTER TABLE live_inbound MODIFY uniqueid VARCHAR(40) NOT NULL;
 ALTER TABLE live_inbound_log MODIFY uniqueid VARCHAR(40) NOT NULL;
 ALTER TABLE live_inbound_log MODIFY uniqueid VARCHAR(40) NOT NULL;
 ALTER TABLE vicidial_manager MODIFY uniqueid VARCHAR(40) NOT NULL;
 ALTER TABLE vicidial_live_agents MODIFY uniqueid VARCHAR(40) NOT NULL;
 ALTER TABLE vicidial_auto_calls MODIFY uniqueid VARCHAR(40) NOT NULL;
 ALTER TABLE call_log DROP INDEX uniqueid;
 ALTER TABLE park_log DROP INDEX uniqueid;
 ALTER TABLE vicidial_log DROP INDEX uniqueid;

Do VICIDIAL and astGUIclient work with any of these CLIENT protocols(Zap/IAX/SIP/H323/Cisco Skinny)?

As of release 1.1.0 the astGUIclient suite works with SIP,IAX2 and Zap connected clients(like the IAXy hardphone or IAX softphones and Digium TDM400P or Channelbanks through a T1 port). astGUIclient has had support for SIP clients since its first release. As for H323 and Skinny, no one has asked us actually.

I keep getting MySQL authentication errors on the server perl scripts, what's wrong?

This error mostly shows up when you are using MySQL server version 4.1.12 or higher because MySQL changed their default authentication method. The error is usually displayed as: "Client does not support authentication protocol requested by server consider upgrading MySQL" There are two ways to fix this. First you could simply start your mysqld server with the "-old-passwords" option, or you can reset the passwords for each login to old state through the mysql client prompt like this: "UPDATE mysql.user set password=OLD_PASSWORD('1234') where user='cron';"

I have it all installed and can get into admin web page vicidial but not asterisk?

the asterisk web administration and the vicidial web administration each use separate methods for authenticating administrative users to allow access. The asterisk web admin looks for an ADMIN status in the phones table while the vicidial web admin looks for a user_level above 7 in the vicidial_users table. It was designed this way to separate administrative functions and avoid people being where they shouldn't be.

In the web-astGUIclient in Internet Explorer it stops working after several hours. What's wrong?

Even though we have done our best to eliminate most memory leaks while still being compatible between Mozilla and IE, we were unable to figure out what was causing some of the IE memory leaks in the web-astGUIclient. For this reason if you plan on leaving the page open for extended periods of time, we recommend using the Firefox web browser. We have had the web-astGUIclient up and running for upto a week in a single session on Firefox with no problems.

Everything works on astGUIclient, but VICIDIAL won't dial out. What's wrong?

There are a lot of things that can cause this, make sure you have ntp installed on your servers and on all of your client machines(or SNTP on Win32). Make sure you have leads in the vicidial_list table, and that you have run the gmt_adjust script. Also, make sure that is running and inserting records into the hopper. Make sure that AST_VDautodial is running. If all else fails contact us or one of our approved consultants listed above.

One other cause of this may be that you are running Asterisk v1.0.8 or greater or CVS_HEAD. The handling of the Local channels was drastically changed in these versions and VICIDIAL no longer worked right. Make sure you are using astGUIclient package 1.1.4 or greater and in the file on your server that you have the $AST_ver variable set correctly('1.0.8' or 'CVS').

Manual dialing in VICIDIAL works, but auto-dialing doesn't. What's wrong?

There are a lot of things that can cause this, make sure if you are using SIP or IAX2 trunks that you have your provider registered in your sip.conf or iax.conf file and check registry status in Asterisk CLI: "sip show registry" or "iax2 show registry".

One other cause of this may be that your AST_VDauto_dial script may not be working(start it up manually), or you may have some junk records in your vicidial_auto_calls table before you start dialing(delete them).

Everything works in VICIDIAL but sometimes calls seem to be dialing for 2 minutes. What's wrong?

There are a lot of things that can cause this, make sure that your dialplan(extensions.conf) is set up properly to allow for dialing of every kind of number that is in your list. For people in the USA, make sure that you have no 10 digit numbers that either begin with the digits '0' or '1' and also make sure that none of the 4th digits in those numbers are '0' or '1' either. Those are numbers that cannot be dialed because they do not conform to the numbering standards, that means that they are never dialed and have to timeout of VICIDIAL because there was no record of going to a trunk. Also, make sure that the call_log.agi script is in the 'h' exten and is in the extens you use to dial out in a priority higher that the Dial line.

One other cause of this may be that your trunks may not be configured properly or for some random reason the call may not go to the 'h' extension when it is hung up. We are looking into what causes this rare occurance.

There was also a bug prior to release 1.1.10 that could cause this if you used a custom callerID for the campaign. It has been fixed in the current version though.

When I try internal transfers to a CLOSER in VICIDIAL none of the calls are going through. What's wrong?

VICIDIAL uses exten 90009 for internal transfers, so if you have something like _9. in your dialplan then the call would go to that and probably hangup instead of going to a closer.

How is VICIDIAL predictive? Does it detect answering machines?

VICIDIAL is predictive in the sense that, if in auto-dial mode, it will call a number of leads per-agent-logged-in and only pass on the calls that were picked up on to an available agent. Because of the way Asterisk is built you do not need to build a mechanism to do Busy-detect, disconnect-detect or listen for a number of rings. This makes the transfer from picked-up customer to the agent very fast, and that was our most important goal. Adding Answering machine detection(AMD) slows down the time-to-agent of all calls, even non-answering-machine calls with a human on the line. This was unacceptable to us, but we added the ability to compile in AMD and use it in a VICIDIAL campaign anyway, read next paragraph for details. In our testing, VICIDIAL has proven equal-to if not better-than several commercial predictive dialing systems(Nothing REALLY expensive like Davox though) in features, ease of use and overall contact ratios. One way to help reduce the number of answering machines that you are receiving without resorting to AMD is to lower your Dial timeout in the vicidial_campaigns web admin page to between 20 and 26(that's between 4-6 rings) depending on how many you want to block.

Answering machine detection(AMD) is also something that has to be compiled into Asterisk since it does not contain it in the code(although app_amd is now in the SVN code tree so maybe in Asterisk 1.4). As of astGUIclient release 1.1.10 there is now AMD available. Instructions of how to compile into Asterisk and use it in a campaign are now in the SCRATCH_INSTALL document.

We are currently using XXXX dialogic-based dialer/phone system, can you make VICIDIAL work like this?

Short answer, No. Long answer: We are not looking to clone someone else's dialing system, we have evolved the functionality of our software suite to fit the needs of our core sponsors and the unique abilities of the Asterisk system all while staying open-source and trying to only use open-source components in these systems.

We would like to sell VICIDIAL on Asterisk systems, how much does a commercial license cost?

The core VICIDIAL codebase is only GPL version 2 licensed at this point in time, and we do not offer a closed(or any other) license for it. If you would like to sell VICIDIAL as an add-on to an Asterisk system, we would suggest selling a Manager Manual and an Agent Manual, or charging for the time it takes to install it. VICIDIAL is not sold on a per-server or per-seat basis, it is available free of cost under the terms of the GPLv2 license.

I would like to help develop for this software suite, how can I help? Where is your SVN server?

Wonderful! Let us know what your skills are. As for the SVN server, we have one available, instructions are available on the wiki, SVN:howto.

Do you have a list of IAX or T1 termination providers that you would recommend for use with your software?

Here is our unsolicited list of T1 providers we recommend: - For Local T1 service: Nuvox (They are the only company that hasn't lied to us yet, and they always meet or beat their deadlines) - For long distance T1 service, we've had problems with most major carriers, but we would recommend Global Crossing based on price and AT&T if quality is what matters most to you. - For IAX VOIP termination, we recommend and have throughly tested our software with BinFone? Telecom

I am dialing out over SIP or IAX2 trunks with VICIDIAL but it never transfers any calls to agents. What's wrong?

Make sure that you are registered to the other SIP/IAX2 server, to make sure you need to have a register=> entry for that server in your sip.conf or iax.conf file and you can type "iax2 show registry" in the Asterisk CLI to see the other IAX servers you are registered to.

I would like to use VICIDIAL to schedule callbacks to customers, does it do this?

As of release 1.1.10 VICIDIAL does do any-agent scheduled callbacks. It is now built in and tested complete with admin reports. As of release 1.1.11 VICIDIAL also does agent-specific callbacks. See the PROCESS_IDEA_CALLBACKS.txt document for more information.

How do you create your multi-language versions?

Starting with release 1.1.7 we include several different language versions of the client web pages and a Spanish version of the admin web pages. We created the first batch of translations using Altavista babelfish to convert all of the phrases into the other languages. All of the phrases are stored in the languages.txt and languages_admin.txt files(UTF-8 formatted) that are included in the release. Before we do a release we run a translation script that looks for the phrases in the languages files and replaces the English phrase with the other languages phrases each in it's own directory(spanish is in a directory ending in "_es"). Then we zip up the translated directories and included them in the release as the and files. To use them, just unzip them to your web root on your webserver and make sure the dbconnect.php file is configured for your database.

How can I help translate astGUIclient/VICIDIAL to another language?

You can import the languages.txt and languages_admin.txt files into a UTF-8 friendly spreadsheet application like OpenOffice? and then translate each phrase and send the resulting file back to us for inclusion in the next release. That's it.

What versions of Asterisk does the astGUIclient suite work with? We have tested astGUIclient with released versions of Asterisk through 1.0.10 as well as 1.2.6. SVN-dev is hit and miss because of the fact they are always messing with the manager interface and CallerID(which is a key element of how the astGUIclient suite works) and other elements of the code.

What is the functional capacity of astGUIclient and VICIDIAL?

As with everything in Asterisk, this depends greatly upon how you are using the suite. Using only astGUIclients in a corporate environment with telco T1 lines, we have had over 60 concurrent clients operating on a single server with a max of 48 Zap -> SIP conversations on a P4 3.4GHz server. For VICIDIAL, we have had upto 40 agents running on a single server with the dial_level set to 1.3 or lower. And with the dial level set to 3.0, we have seen a ceiling of about 20 agents before funny things started to happen. We have tried Channel Banks to see if they help on loaded systems, and they do greatly reduce and eliminate the SIP buffer and echo problems we have. This does limit you to 24 agent channels, but the system does run better. Also, switching to Sangoma Quad T1 cards or 2nd generation Digium cards gave us a minimum of a 30% performance boost over older Digium cards. Quad T1 cards with hardware echo cancellation also raises capacity on these machines.

Any hardware recommendations?

- For cheap SIP analog adapters: Linksys/Sipura SPA-2000(about $45 per port) - For good receptionist phones: Snom 190 or 220 - For good speakerphone: Polycom IP601 or IP501 - For telco PCI interface cards: Digium or Sangoma - For CPUs: Intel P4 or Xeon with HT enabled on the Asterisk server, and AMD on the client side - For Linux distros: we like Slackware on the server and Ubuntu on the client side - For internet browsers: we like Firefox

Hardware Recommendations from Jon Hood: - For small call center (upto 20 seats): hyperthreaded xeon 2GB RAM for single-server setup

- For medium call center (upto 75 seats): asterisk server: single-core opteron mysql/astguiclient/apache server: hyperthreaded xeon (since astguiclient relies on a number of scripts being executed in parallel, it's good to have dual/quad core systems with astguiclient). Remember to nfs-mount the sound recordings directories or record to RAM drive or tmpfs!

- For larger call center (upto 150 seats): asterisk server(s): single-core opteron(s) with optional 64-bit gentoo linux (best performance in our tests) mysql server: (no preference: main load here is going to be the large amounts of SQL connections that will be required). Please make sure nptl is enabled and the number of connections to the mysql database are increased for best performance. astguiclient server: dual-core AMD or dual/quad-core Intel system. nptl preferred. web server: apache can optionally be put separately, or with the astguiclient server. This is the lowest-load part of a typical install. Remember to increase the number of concurrent connections in the apache configuration, and make sure it has direct access to the mysql server.

We also have not experienced any differences with clients' architectures, as normally they're just using a web browser.

For even more performance, I'm currently able to do the following: with a dual-core Athlon x2 4200+ box, I have two 64-bit chroots, each with asterisk installed. two separate asterisk installs are able to use two separate cores on the box. I'd prefer to see all calls through asterisk have their own process, but as for now, this is the best way to use a multi-core machine with vicidial and asterisk.

Personal tools