1. WombatDialer 0.8.0 - it’s rough work to make things smooth

    It’s been a long ride, but WombatDialer 0.8.0 is finally out. The theme of this release was to make the experience of running WombatDialer smoother and to integrate the feedback coming from our users.

    WombatDialer is currently used in a good number of call-centers worldwide implementing scenarios of all kinds - from recalls of lost calls in inbound call-centers, to massive telecasting, to “classic” outbound scenarios like automated dialing and preview dialing with hundreds of live agents.

    The high flexibility of WombatDialer makes it easy to adopt it in existing call-centers and to easily create high value added services for proactive customer care - you call the customer to remind and help him, so he does not have to. This means customers are happy and the call center can organize its works on a predictable workflow.

    There are a good number of changes worth mentioning in version 0.8.0:

    • WombatDialer is future-proof by supporting Asterisk 12 and the upcoming Asterisk 13 right out of the box. It works on any version of Asterisk since 1.4.
    • WombatDialer now runs more quickly - we did a number of optimizations on the database layer. The dialer starts automatically when the system is already configured, so you don’t have to remember to do it.
    • The layout was notably improved - now it looks way better and there is more information available, especially on the Reports and Live pages. We did a large number of tweaks to improve usability - for example, when you are looking at a campaign run, the run refreshes automatically.
    • WombatDialer is able to send e-mails on campaign completions - this feature makes your life easier when running large campaigns that take days to complete.
    • Improved reverse dialing mode - it is possible to set a completion code when rejecting a call, and the agent’s channel is automatically disconnected if the call fails.
    • The APIs were improved to set completion codes when rejecting calls, to set extStatus codes through the HTTP interface and to report system health.
    • We have an automated test suite. Before releasing, we test Wombat with over one million calls in telecasting, direct-to-queue and reverse modes. This may not make a direct difference to you but it means we have a way to run predictable stress tests and make sure WD will handle real-life workloads.
    • We also fixed a large number of little bugs here and there - over 80 items were addressed. Together, these fixes make the experience simpler and smoother.

    WombatDialer can be installed through yum or it can be installed as a standalone Docker app. The User Manual has a chapter on how to run it under Docker, reaping the benefits of a hassle-free installation and upgrade path.

    What comes next?

    The upcoming version 0.9 will cover:

    • Internationalization. WombatDialer will be available in the most common languages.
    • Fax and AMD detection, with user-configurable appropriate behavior (for example, when you connect to a Fax, you might send a default fax page, or leave a default message in the voicemail)
    • Improved time-scheduling for runs (e.g. dial from 9 to 5 from Monday to Friday, dial 9 to 11 on Saturdays but don’t dial at all on Dec 25 and Jan 1).
    • More powerful reschedule rules, with HTTP notifications and the ability to add the current number to a list or blacklist

    We welcome comments and ideas - what is the killer feature you’re missing that would make a difference to you?

    If you want to try WombatDialer now, you can install it automatically on most existing PBXs - see http://wombatdialer.com/installation.jsp - and get it up and running in a few minutes. So you can stop worrying about the subtleties of implementing real-life outbound dialing in Asterisk and make your call-center agents more productive.

    Plus, Erwin is super-cute - try it today!

     
  2. Hey! there’s a Wombat in my Docker!

    It is Summer. So when Erwin started talking about ships and sailing, we considered it quite normal. But what is Erwin doing on an (apparently pirate) container ship?

    Yes - WombatDialer is now available as a working Docker image.

    Why is this cool?

    Docker containers are a new standard for infrastructure management. Docker containers let you install and upgrade software without worrying about dependencies and software versions - each of them behaves as-if it was a separate virtual machine, but it is lightweight as the actual running processes and has very low latency.

    This plays very well with WombatDialer, that is an extremely flexible and scalable outbound dialer for the Asterisk PBX. It follows our philosophy that you should tell the system what you want done, not how, and that WombatDialer will take care of all the low-level details (errors, reschedules, call handling, server clustering, logging) while you focus on the high-value-added business application - be it call reminders, queue recalls, telephony surveys… you name it.

    What this means for WombatDialer

    You can run the Dockerized version of WombatDialer in a single command on any Linux OS that supports Docker. So to test-drive WombatDialer on a new system running Docker v1.0+, you just enter:

     docker run -p 8080:8080 -P -d loway/wombatdialer
    

    This downloads an image containing Wombat and its database, and starts it by binding it to port 8080 of the local server. So you can connect it as http://[serverip]:8080/wombat and it will run immediately. Docker runs on Centos 6.5 systems, CentOS 7 and Debian systems. Just make sure that you are running version 1 or newer. Want to test-drive it fully? get a free WombatDialer demo key and start serious dialing immediately.

    To make sure it’s running and know its id, enter:

     docker ps
    

    And to stop it:

    docker stop {id}
    

    Each container is run as a separate instance - so you could have multiple distinct WombatDialers on the same box, just by binding them to a separate public port. Want to run a quick test? just start a new instance, do your testing and throw it away. Each instance starts as a clean-slate, with a clean database and configuration ready to be customized.

    That’s nice but… how do I keep the data between different runs?

    WombatDialer uses a pattern called “data-only containers”. This means that you can have special containers that only contain the data (databases and custom configuration) where everything else is in a code image. You do this by creating a data-only container, giving it a name (in our case it’s MYWBT) and mounting it to your WombatDialer instance.

    docker run --name=MYWBT loway/data true
    docker run --volumes-from MYWBT -p 8080:8080 -P -d loway/wombatdialer
    

    So if you run a WombatDialer instance without a special data container, everything will be put in the code image. If you do, all data that is supposed to be present on an update will be stored in the data-only container.

    You want to upgrade WombatDialer because a new version is out? stop your existing Wombat instances, and run them again on the same data containers. Docker will download the latest version and when you connect to it, the database will be automatically updated. Want to make backups? connect to the data-only container using a tool like nsenter and run a backup job.

    What is coming next?

    We expect Docker to play a significant role in infrastructure management. We believe that it makes it so simple to run WombatDialer instances that end up being just “fire and forget”. Plus, having higher performance, lower memory consumption and lower latency compared to a separate VM, it plays especially well for telephony applications.

    To know more

     
  3. WombatDialer 0.7.7 - E-mail notifications and more

    After a few months, we are releasing version 0.7.7 of WombatDialer. This includes a large number of bug fixes and a few interesting new features. As you can see, Erwin himself is very excited about the new features.

    Erwin You Got Mail

    The most important feature is e-mail notifications. You can now tell WombatDialer to send you an e-mail when a campaign completes or changes its run status. This is extra useful as it makes tracking long-running campaigns a breeze. When you start using it, you simply won’t live without.

    How do you turn this on? you first have to edit the tpf.properties file to tell Wombat about yous SMTP sending properties - see the updated User Manual. We suggest leaving on the SMTP debug mode, so that it logs SMTP activity to the logs. Create a new campaign that has just a few calls in it, set the e-mail notifications to ALL, enter one or more e-mail addresses in the e-mail field and run the new campaign. You will receive notifications when the campaign starts, when it is paused/unpaused and when it stops.

    How does a notification e-mail look like?

    Campaign name: Test - Started at: 14.07.27 14:36:34 - Current state: COMPLETED
    Runnable on: Su | Mo | Tu | We | Th | Fr | Sa - From: 00:00:00 - To: 23:59:59 - Priority: 10 
    Calls placed: 188 - Items in call cache: 0 - Calls terminated: 100 
    Life-cycle termination rate: 53% - Reschedule rate: 47% - Est. remaining calls: 0 
    Running for: 00:01:20 - Estimated completion in: 00:00:00 - Attempts per hour: 8460 - Completions per hour: 4500 
    

    As you can see, it is the same information that you see on the Live page for that campaign. By the way, the Live page was made “livelier” - now if you are looking at a running campaign, its statistics are updated periodically so you do not have to re-select it. Plus, counters were added on the Live page to see the numbers of runs in a given section even when the section is closed.

    Under the hood, we made a large number of changes to improve the database persistence layer and avoid bottlenecks for high load. The server component that powers the Live page was rewritten from scratch and it is now an order of magnitude faster. Asterisk 8 and Asterisk 11 are now the best supported targets, and we have a standardized regression suite that tests all dialing modes with one million calls.

    So it is an interesting time to run WombatDialer. We are seeing a lot of people coming up with creative and innovative solutions to power their call-centers and improve their workflows, especially with queue recalls.

    You can test-drive WombatDialer now using the free, supplied demo key.

     
  4. Asterisk in the Call-Centre survey - the results are out

    We are glad to announce the release of our first call-centre customer satisfaction survey as a free eBook.

    According to our corporate philosophy that binds accurate data measurement to relevant business improvements, we sent to our customers a survey about the usage of Asterisk® and QueueMetrics™ for their daily needs in call-centers management, analysis and statistics.

    This was done to assess the perceived needs of existing customers so that we could prioritize future improvements. This is the first professional case study of its kind reported in the contact-center industry for installations based on Asterisk® technologies. Data collection for the survey was done in the period of October and November 2013 and treated as an anonymous on-line form. We did not collect personal information on respondents and didn’t offer any prize or giveaway in order to avoid biasing the sample in our favor.

    The results are quite interesting and speak for themselves - find them here: http://queuemetrics.com/callcenter-survey.jsp

     
  5. WombatDialer 0.7.5: bug fixes and more

    What is Erwin the Wombat doing sitting on a large cup of coffee? well, he’s been working quite a bit lately.

    We have just released version 0.7.5, that is meant mostly as a bug fix release but also adds some architectural improvements.

    • First, we fixed a number of issues to improve the accuracy of call and queue tracking. The bottom line is that the dialer is more efficient when tracking queues and will try to keep them fully saturated at all times. We also fixed a number of error conditions that were reported by our partners.
    • Secondarily, we changed the log storage model. This means that logs will no longer make entities impossible to delete. Logs will also be scanned more efficiently for large systems (over 1M records).
    • The third important item is that the dialer will now start up immediately as the web application is loaded, unless you just performed an update. This means that you will not have to log in to restart the dialer after a system reboot.
    • The fourth important item is that from the Reports page you can now export to CSV the details of all the calls that were placed in a set of runs. This was a popular demand.
    • Last but not least, the dialer view is way more clear when tracking queues - you can now see who is logged on, how many calls are being placed, and how many channels are used by that queue.

    The downside is that the upgrade may take a while to run - as logs have to be converted, the updater processes about 30,000 calls per minute - so if you have a log database of one million calls, the upgrade may take about 45 minutes to complete. We suggest making a complete backup of the database beforehand, just in case.

    What remains to be done for 0.8? a public regression test. We are working on a suite of tests that will let you run a stress test of WombatDialer on your own systems, to assess system capacity and gettiong familiar with the different dialing modes Wombat offers. This will be a simplified and cleaned-up version of the one we use internally to test the capacities of a release. We are also working on a tutorial of how to run a blended inbound/outbound call-center using WombatDialer and QueueMetrics.

    So - it’s time to update WombatDialer to 0.7.5 now.

    We welcome your feedback about what you would like to see in new releases - we have a public suggestion jar at http://wombatdialer.userecho.com/

    Happy dialing!

     
  6. Introducing QueueWiz

    For the Astricon 2013, we created a little tool that lets you easily model Asterisk-based call centres.

    QueueWiz is the first free web app for interactive, quick and accurate call center sizing, cost and revenue simulation. Insert your data with the intuitive interface, measure traffic intensity, expected wait times, agents’ engagement, revenue per call and per agent and even hourly margins. Save your simulation and share it via email or social media.

    Completely free of charge at http://queuewiz.queuemetrics.com.

     
  7. WombatDialer 0.7.3: Black lists, CSV uploads and more

    After a few months of work, we are proud to release WombatDialer 0.7.3. This is a major release that adds a number of features that have been on the wish list for quite a bit of time.

    Namely:

    • Black lists. It is now possible to filter call lists dynamically when dialing out using one or more Black Lists. Black Lists are lists like any other in WombatDialer that can be used to collect numbers that are not to be called anymore. They can be updated through the HTTP API, so you can control this feature externally and while a campaign is running.
    • CSV import / export of lists. You can now prepare lists of numbers to be dialed (with all their attributes) using your favourite spreadsheet and upload them to the dialer through and easy-to-use drag and drop interface. You can also export lists of numbers with attributes as CSV files.
    • Separate Agent CLID. A number of times, you want your agents to receive a call which caller-id contains information on the call being made (e.g. the name of the person called, or their CRM id - you choose). You can now have separate caller-ids for the external versus the internal side of a call.
    • Attributes substitution. You can now use call attributes in caller-id’s, caller presentation and logging code.
    • Sortable campaign runs. In the Live page, you can now decide the sort order of campaigns and runs
    • Number generator. The number generator can now create correctly set of numbers to be dialed whatever their prefixes
    • Better security. On all user-created records, you can now see who created them and who modified them last
    • Live dialer status. The dialer box on the main page can be set to refresh automatically

    Plus a large number of fixes, usability tweaks and minor redesigns meant to make the experience smoother and better.

    You can try the latest version with the free license included or you can upgrade an existing systems through the yum installer. Get started from our Dialer Installation page. We are sure you will like the new release.

    PS. We’ll be exhibiting WombatDialer and QueueMetrics at the Astricon in Atlanta, booth 33 - come and say hi.

     
  8. WombatDialer @ Astricon 2013

    We’ll be exhibiting at Astricon 2013 in Atlanta - we’ll be demoing QueueMetrics and WombatDialer. If you plan to attend, make sure you pass by and say hi. We have an Astricon page at http://queuemetrics.com/astricon.jsp

    We are also organizing an (informal) meeting of QueueMetrics users and Asterisk call-center people to discuss and share ideas and experience. If you’d like to join us, we have a Facebook group set up to organize the meeting - see http://www.facebook.com/groups/507826572618269/ (you’ll need a Facebook account to log in).

    Looking forward to meeting you in Atlanta!

     
  9. WombatDialer 0.7.0 available today

    WombatDialer started to be used for production services about two years ago. Its first adoption scenario was telecasting - delivering voice messages to a large set of recipients in a way that was fully automated, scalable, monitorable and integrated with external processes. We put a lot of effort into making sure that this worked to the point of being 100% reliable. Now our baby wombat is growing up.

    A lot of users are demanding multi-tenancy and better control of how calls ending up to human agents are to be placed. Version 0.7.0 is available now, and it adds a number of interesting new features:

    • Reverse dialing lets you have outbound agents immediately connected when the callee picks up, without the minimal delay of waiting on a queue for dispatching. On top of this we implemented preview dialing, where agents can check the number to dial and approve or skip it - we have a tutorial for this, showing the integration of the default preview panel into the QueueMetrics agent’s page at http://blog.wombatdialer.com/post/52639475437/preview . As with most things in WombatDialer, we included all-powerful APIs to roll your own.
    • A complete security model that closely mimics the one used in QueueMetrics will let you define multiple, separate “tenants” having their own campaigns while sharing the physical Asterisk infrastructure
    • Dynamic Campaigns: runs can now have lists of numbers added (or paused) while they are running. Working fine with “idle” campaigns as well.
    • The Live page was improved to display the dialer status and - when using queue end-points - who is the agent currently connected to a call. Also a number of usability tweaks were implemented to make the experience smoother.
    • The dialer controls now show extensive queue and agent details to make monitoring easier. Also the dialer supports better syncing to live queues when restarted.
    • A number of performance changes will make processing larger campaigns a breeze.

    A complete description of all the changes is available in the updated User Manual, available in HTML and PDF from http://www.wombatdialer.com/manuals.jsp

    You can test drive the latest version now, by running "yum upgrade wombat" on an existing installation. Or see http://wombatdialer.com/installation.jsp

    We look forward to your feedback and suggestions - we have a special forum for feedback located at http://wombatdialer.userecho.com . Let us know what you think of the new version and what you would like to see in the next version of WombatDialer.

     
  10. Tutorial: Reverse preview dialing made easy

    Preview dialing is a type of reverse dialing available since WombatDialer 0.7.0 where the agent has a chance to “preview” the number that is to be called before actually having a call placed.

    The way it works is:

    • The agent logs on to a queue. WombatDialer uses the queue (as it usually does in Reverse dialing modes) to know which agents are available. This makes integration with QueueMetrics very easy.
    • The agent asks WombatDialer for a number to call. WombatDialer gets the next number out - considering all its dialing and reschedule rules - and reserves it for the agent.
    • The agent uses a GUI where they can see the number to be dialed and typically embeds, or links to, an external CRM app so that they can review the call
    • When the agent is ready, they ask for the call to be either placed or skipped.
    • If the call is to be placed, the agent is connected immediatately and listens to Music on Hold until the callee is on line
    • If the call is not to be placed, it is maked with a special code
    • Reschedule rules apply - so error states are handled correctly

    Step 1: Installing Elastix

    In order to run this tutorial, we install a brand-new Elastix 2.4 system. On it we create:

    • Three SIP extensions: 300, 301 and 302. We will use 302 as the agent extension while 301 and 300 will be used as sample end-points
    • One queue, called “400”, to hold our agent. Note that calls will NOT be processed through the queue but we will use the queue to keep track of which agents are available. When defining it, we make sure that we set: “Ring Strategy: rrmemory” - “Event when called: yes” - “Member status: yes” so that WombatDialer can fully observe it.

    Step 2: Installing WombatDialer

    We install WombatDialer on the Elastix system using yum. When we log in, we create:

    • An Asterisk server that can talk to Elastix. We can use the AMI user “admin” with the default password you gave during the system installation.
    • A trunk named named “Trunk”, which dial string will be Local/${num}@from-internal
    • An end-point of type QUEUE, which name is “400” (so that it observes queue 400), located at extension “400” context “from-internal” (this is not really needed if you run only reverse campaigns), setting both “Reverse dialing: yes” and “Manual preview: yes”
    • We create a list called “Numbers” and leave it blank for now
    • We create a campaign called “Reverse”, which has logging set as “QM_COMPATIBLE” and which logging code is “400”. We add to it the trunk, the EP and the list we just created.

    Now we go to the list manager and upload the following list:

    300,NAME:John
    301,NAME:Mike
    

    This tells WD to dial numbers 300 and 301, and sets a NAME attribute for each call (that will be useful when previewing).

    Step 3: Installing and configuring QueueMetrics

    Install QueueMetrics on the same machine as the Elastix system by typing:

    yum install queuemetrics-espresso
    

    Now log in into QM and configure:

    • An agent called agent/302
    • A user for agent 302 called “agent/302” password “999” class “AGENTS”
    • A general monitoring queue called “400”. Set agent/302 in the MAIN level of that queue.

    Now edit the “System parameters” and edit the section realtime.agent_button_1 as follows:

    realtime.agent_button_1.enabled=true
    realtime.agent_button_1.caption=Wombat
    realtime.agent_button_1.url=http://10.10.5.30:8080/wombat/agents/rd_pop.jsp? agent=SIP/[a]&url=http://10.10.5.31/sugar/index.php%3faction=UnifiedSearch%26module=Home%26query_string=<NUMBER>%26name=<NAME>&inset=1
    

    Edit the public IP of your Elastix server and replace the “10.10.5.30” address above.

    This code links to an instance of SugarCRM on 10.10.5.31. On it, create a contact named “John” which telephone number is “300” and one contact named “Mike” which telephone number is “301”. You can link to any other CRM software that has a web-based interface just the same way.

    Making it all work together

    • Log “agent/302” into QueueMetrics and have him join queue 400 on extension “302”. Note that we are using Hotdesking - the agent logs into Asterisk with their SIP extension.
    • Start the dialer. From the Live page, start the campaign “Reverse”. No calls will be placed.
    • Check the dialer status. You should see WombatDialer observing queue 400 and finding “SIP/302” logged on. Try pausing and unpausing the agent and refreshing the dialer: the status of SIP/302 should change accordingly.

    Now click on the button called “Wombat” from the Agent’s page. You should see a preview panel like the one in the picure:

    As you can see the SugarCRM panel is displaying the right record.

    TIP: the first time you call the page, SugarCRM might ask you to log in. Do it and refresh the page.

    If you look at the Live page on WombatDialer, the call should appear as “Reserved”. When the agent clicks on Dial, the call should start. Once the agent answers, your dialer will try and connect the other extension.

    When dialing, the Live page will show what is going on:

    And the same thing will happen on the Agent’s page:

    Nice work, isnt’t it? :)

    Improving the solution

    • You can add PSTN numbers to your lists and the will be dialed as if the had been entered on a local extension.
    • If you want WombatDialer to dial without waiting for an agent decision, just remove the “Manual preview” check and restart the dialer.
    • If you want a customized preview panel, you can create one by using the WombatDialer API.