Wednesday, September 28, 2005

astGUIclient 1.1.7 beta 3

We've thrown together all of the new features and the multi-language support and put a beta release for everyone to test while we do some testing on our side of some of the newer features. Please download it and let us know what you think and if you have any problems:
astguiclient_1.1.7b3

Note: we're on our third beta release, fixed a few more little bugs and have a better Spanish agc translation now.

Spanish login screenshot:


Spanish VICIDIAL screenshot:



Here are some of the changes:
- Added HotKeys key binding for VICIDIAL web-client fast dispositioning
(agent must be level 5 or higher to use HotKeys, that is changable)
- Internationalization(multi-language) of web-clients and admin pages
- Added ability in manual VICIDIAL to call alternate lead phone numbers
- Added option of pull-down of active campaigns to VICIDIAL web login
- Fixed some issues with scripts interacting with Asterisk 1.2
- other small changes listed in the TODO.txt file
UPGRADE NOTES:
* if upgrading from 1.1.6 you need to:
- download the new version from the project website
- unzip the zip file into the /home/cron/astguiclient directory
- and either:
+ copy the web pages and all server apps to their proper locations manually
+ or run the install_server_files.pl script to put all items in their default places
(make sure AST_SERVER_conf.pl and dbconnect.php files are config'd properly)
- perl/TK clients have been slightly updated(will be unsupported soon)
- multi-language versions of web-clients and admin pages are available in the LANG_agc.zip and LANG_admin.zip files and can be unzipped into your webroot directory. Make sure you check the dbconnect.php file in each directory.
* if upgrading from 1.1.6 run the upgrade_1.1.7.sql script in MySQL
(\. /home/cron/astguiclient/upgrade_1.1.7.sql)

Tuesday, September 27, 2005

Digium 405P v2 Review

A couple months ago Digium announced their new firmware version for the TE4XXP series of T1 cards(TE405P/TE410P) as well as announcing the new dual port cards(TE205P/TE211P) and the echo-canceller cards(TE406P/TE411P). After several weeks of asking for a test TE406P card, I was able to get Digium to put an echo-canceller daughter card on to a TE405P, that I was sending in for a firmware upgrade anyway, so that I could test it for a couple weeks.

I received the card a couple weeks after sending it in, and it is just the same as a TE405P except that it has a daughter card with several little green LEDs on it connected to the expansion ports on the card. I was only able to run the card on CVS_HEAD or 1.2 beta 1 because the 1.0.X code tree didn't work properly with the echo-canceller portion of the card. After getting the card working I ran some tests and everything ran just fine so I placed the system in production. After one day of complaints about dropping audio I ran some more tests and upgraded to the current CVS_HEAD per suggestions from Digium for day 2. The second day started with a lot of complaints of audio drops again, so at mid-day I turned the server off, removed the echo-daughtercard from the TE405P and restarted with no config changes. After that there were no audio drop problems. I posted on the user list and found that many other people are using the TE406P with no audio drop problems and Digium logged into my machine and said everything looked right. It might just be that in our setup we do a lot of Zap -> meetme <- Zap calls and the echo canceller is having problems with that. It is now three weeks later and still no fix from Digium, I do get emails from them periodically saying that they are trying to figure out a good way of diagnosing the problem. So that is my excuse for why I do not have any good benchmarks for the Digium Echo-canceller card, maybe it'll be fixed by the time I have a test Sangoma echo-card to pit it against in a few weeks. Now onto the new firmware.

The first half-day of running the TE405Pv2 card I noticed right away that Digium had drastically improved the new firmware over version 1 because the load seemed to be about the same as on my Sangoma card systems. Now that it seemed that the new firmware was more of a match for the Sangoma a104u quad card it was time to compare them directly in a live production environment.

First a little about the test systems:
- Asus Motherboard with Intel P4(HT enabled) 3.4 GHz 1MB cache
- 2GB DDR2 RAM
- 2 x 160GB SATA hard drives
- 3 x RBS T1s and 1 x PRI T1
- Slackware Linux 10.1 with custom 2.4.29 SMP kernel
- Asterisk 1.2 beta 1
(Sangoma a104 card uses the wanpipe-beta13m-2.3.3 drivers)
(Digium TE405Pv2 card uses zaptel built-in drivers)
- astGUIclient suite 1.1.6 (for client apps and stats generation)
NOTES:
- We ran each of the cards in each system to ensure conclusive load results.
- The load numbers on the graph represent 200 = 100% load
- The stats generator in astGUIclient now also grabs CPU usage %(user/system/idle)



The results after one week(3 days of each card in each system) were very interesting. Under smaller loads, less than 30 conversations(60 channels) the Sangoma card has slightly better performance than the Digium card, about 2-5% on average. And under higher channel loads the Digium card has slightly better performance, about 2-8% on average. This is a dramatic change from the performance tests I did a few months ago and shows that Digium has really done a lot to improve their firmware. The Digium card does still consistently have a few random load spikes that are always higher than the random load spikes with the Sangoma card as well as higher and more consistent user CPU usage spikes than the Sangoma system, but these don't seem to have much effect on overall system load.

One side note to these tests, I do run a Sangoma card on a system with all PRIs and I did test the Digium card with this kind of setup as well and there was virtually no difference in performance between the two for the day I tested them. That shows that the difference between the two seems to be limited to how they handle RBS T1 spans. A call to Sangoma confirmed that they do handle RBS circuits differently than Digium does and that they are in the process of writing some optimizations into their drivers to make their RBS handling more efficient.

In conclusion, I congratulate Digium on their new firmware as a giant leap forward that slightly edges out Sangoma in our performance tests. It also should be mentioned that over the last few months Asterisk as a whole has become more stable and efficient reducing load on almost all Asterisk setups. As for Quad T1 cards, I would recommend both Digium and Sangoma cards for production environments with these notes:
- Digium cards have slightly better performance with RBS circuits under higher load than Sangoma cards
- Digium cards are easier to install and configure than Sangoma cards
- Sangoma cards have a 5 year warranty(while Digium only has a 2 year warranty)
- Sangoma quad T1/E1 cards can fit upright in a 2U case and are shipped with 4 x T1/E1 cables
- Sangoma cards work in both 5v and 3v PCI slots.
- Sangoma cards are guaranteed to work with all x86 Intel/AMD-based motherboards(Digium cards are not)
- Both manufacturer's cards are FCC certified, although Digium is not currently placing their FCCID[LINDDNANWCTE410P] on their cards but will start with their next production run.
Both companies are dedicated to Asterisk development and offer free hardware setup support with the purchase of a new card.

I should be receiving a Sangoma echo-canceller card to test in the next couple months and I hope to be able to compare it to the TE406P if its issues get resolved by then.

Friday, September 23, 2005

Internationalization and project update

We're about 90% done with our Internationalization framework for the web-clients and web administration pages for astGUIclient and VICIDIAL and I wanted to go into a little more detail about how the availability of multiple languages will work for the project.

All server code and client code will continue to be written and maintained in English and there will be two languages translations files, in UTF-8 format. One will contain the text phrases for the web clients and the other the translations for the admin web pages. When we build a release we will generate a ready-to-use folder for each language that will be included in the release(vicidial_es for the spanish VICIDIAL admin pages and so on).

The first release with multiple languages we hope to release at the end of next week with English and Spanish admin pages and English, Spanish, French, German, Italian, Portuguese and Greek web-client apps. Keep in mind that these translations are mostly gathered from babelfish and may not be perfect, but it's a start. For the web-clients there will only be button images for English and Spanish since they take so much time to create, the clients will work without them, but not be as pretty.

After this first multi-language release we will accept modified and new language translation files for these and other languages that would be included in future releases.

In other news I will post a review of the new v2 Digium quad T1 card firmware this week with a comparison to the Sangoma quad card(a104) and a summary of the development going on in T1/E1 cards.

Also, in response to my post from a while ago about recording skipping, changing to high-performance SCSI drives and two Sangoma quad cards has fixed the problem. We no longer get any skipping on the system with this setup.

That's all for now.

Friday, September 09, 2005

VICIDIAL web-client beta 0.0.35

We've made several bug fixes and a few new features for the VICIDIAL web-client and we thought we'd release them before the weekend.

The new features available in this release are:
- lead preview for manual dial which lets the agent decide if they want to dial the lead or skip to the next.
- manual dial ring-time-hangup, allows you to hangup the call before pickup or if it is busy before the timeout
- auto-dial agent hotkeys, allows agents to press a single numerical key on their keyboard to hangup the call and dispo it allowing them to go through calls at a much faster pace(their mouse needs to stay on the HOTKEYS bottom at the bottom for the feature to be available). Hot keys are definable per campaign in the new vicidial admin.php page.

To use the new beta you need:
- you must be running astGUIclient version 1.1.6
- first go to the experimental downloads section of the project site:
http://astguiclient.sourceforge.net/experimental_code/
and download the following file:
- vdc_beta_0.0.35.zip - (unzip on your web server and replace existing files)
- run the upgrade_1.1.7.sql script in MySQL
(\. /home/cron/astguiclient/upgrade_1.1.7.sql)

There are also these files included in the release that allow for better Asterisk 1.2 beta1 compatibility, simply place them in your /home/cron directory on your Asterisk server replacing the older versions:
- AST_manager_listen.pl
- AST_send_action_child.pl
- AST_manager_send.pl

Let me know what you think.

Sunday, September 04, 2005

Project update and direction

Time for me to do another project update now that the web-based client apps are released and we have started thinking about what new features we want to start working on now.

The client web apps(especially the VICIDIAL web-client) have generated a lot of interest in the project and I have received many phone calls from people and companies that are looking at implementing VICIDIAL at their companies. Some of the places I've heard from are:
- A company in India looking to potentially set up 500 agent seats across their several locations all with VICIDIAL after they do a test setup.
- A small company in Los Angeles that hand-sews traditional Indian clothing, using astGUIclient internally as well as using VICIDIAL to contact clients and resellers.
- A large financial services company in the USA that has been testing VICIDIAL for the last two months and is looking to convert all 200 seats at their company to VICIDIAL in the next two months. They are very excited about the web-client and have accelerated their implementation schedule. We have received a lot of good feedback and bug catches from them and we thank them very much for their input.

As for what we are working on for the next several releases.
- We have fixed several bugs releated to changes in Asterisk 1.2 and we even have one of our production servers up and running on it and everything works very well. A little while after 1.2 is released we will add a few little features that are now capable due to new features in Asterisk 1.2.
- We have fixed several bugs in the VICIDIAL web-client and plan on releasing at least a code update for those scripts in the next week. we need to do some more testing but we have added a way to hangup calls in manual dial mode before pickup(or if they are busy,disconnected, etc..). we have also added a lead preview option that allows an agent to see the lead information and choose to either dial the lead or skip it and go on to the next one.
- We are working on Internationalization, meaning offering the client apps and admin apps in multiple languages. This requires some changing of the code and creation of more graphics and a language conversion script that are still in the development stages. All code and comments would still be in English but duing the installation process versions in other languages would be created from translation files and placed in subdirectories from the originals allowing multiple language options for users. This is still in the development stages but we do hope to at least have our first translation(Spanish) finished before Astricon in mid October.
- We are working on Localization, meaning adjusting some of the scripts to better work with country codes for users in places other than North America. This will require less work than Internationalization and we hope to have it completed before Astricon as well.
- We have started thinking more about optimization of VICIDIAL in multiple server environments. This is a very difficult one to deal with and have work well, but since our main office is moving in a few months and we are consolidating another office in with us we will have more agents and servers in one place and more incentive and ability to test ways of making the dialing even more efficient across multiple servers. No release date because this one could take quite a while to get working right, but small elements may be folded into releases in the future.
- I will be at the Astricon conference in Los Angeles October 12-14, 2005. The project will have it's own booth where we hope to have astGUIclient and VICIDIAL up and running on laptops for people to try as well as some basic photocopied handouts to give people that come by.

That's it for now, the development items are certainly not the extent of what we are working on, but they are the ones that stick in my mind at this moment. Good bye for now.