The purpose of SmoothTorque is to make calls. There are a few reasons you might want to do this:

  • Run an automated poll to check the spread of disease
  • Broadcast warning messages to potential tsunami victims
  • Keep your call centre busy
  • Host a message broadcasting service
  • Run large scale conferences where you want to dial out to participants

Download Demo
Latest Tutorial Videos
Get a Quote
Emergency Warning Systems
Screen Shots


Download a trial

While we prefer to get things set up for you so that we can be sure that SmoothTorque meets your needs and is installed correctly, we realise the need to get something now and try it out.

If you would like us to set up a demonstration for you, please send us a note and we'll get everything set up as soon as possible.

If you'd rather try it out for yourself, you'll need to go through the installation steps in order to get your system set up.

Provide a hosted solution

Because of the way that SmoothTorque is designed (with a Linux back end and a web based front end) you can provide a hosted solution to your customers or to other call centres.

As long as you charge your customers more than you are paying for your termination, it's quite easy to ramp up your system and make an ever growing profit.

If you are not looking to provide a hosted solution, but would like to get in contact with someone who is, you can mail us and we'll get you in contact with someone in your local area who is running a message broadcasting/predictive dialer solution.

Keep your call centre busy

Imagine this scenario: you have a call centre of staff who need to call clients. One by one they go through the numbers, listening to answer machines, dialing busy and disconnected numbers etc.

Now imagine a new scenario: instead of the above, the agents come into work, the call centre manager presses start on a campaign, and SmoothTorque takes care of all of the dialing. Agents never need to press another button on their phone, they never speak to answer machines, disconnected numbers or busy numbers. Instead of spending most of their time trying to get in contact with clients, they spend most of their time working with clients.

Another scenario: you have 500 people that you need to call to tell them that they have a library book overdue. You could go through the same thing of dialing them all one by one, or you could do it all automatically, play the client a recorded message (including after the beep on an answering machine), and you can move your call centre staff to another job. Simple, efficient, cost effective.

Hardware Requirements

Minimum requirements:

SmoothTorque, Apache, MySQL: 1 server - 2.0Ghz, 2Gb RAM, 10Gb disk space
Asterisk: 1 server - 1.0Ghz, 1Gb RAM, 5Gb disk space

Recommended requirements for small-medium system:

SmoothTorque: 1 server - 2.0Ghz, 2Gb RAM, 2Gb disk space
Apache, Mysql: 1 server - 2.0Ghz, 2Gb RAM, 10Gb disk space
Asterisk: 1 server - 1.0Ghz, 1Gb RAM, 5Gb disk space

Recommended requirements for medium-large system:

SmoothTorque: 1 server - 2.0Ghz, 2Gb RAM, 2Gb disk space
Apache: 1 server - 2.0Ghz, 2Gb RAM, 10Gb disk space
MySQL: 1 server - 2.0Ghz dual core, 2Gb RAM, 30Gb disk space in a RAID 1 configuration
Asterisk: multiple servers - 1.0Ghz, 1Gb RAM, 5Gb disk space

Recommended requirements for enterprise system:

SmoothTorque: multiple servers - 2.0Ghz, 2Gb RAM, 2Gb disk space
Apache: multiple servers - 2.0Ghz quad core, 2Gb RAM, 10Gb disk space
MySQL: multiple servers - 2.0Ghz eight core, 2Gb RAM, 30Gb disk space in a RAID 1 configuration
Asterisk: multiple servers - 1.0Ghz, 1Gb RAM, 5Gb disk space

Note that for a large enterprise system it is recommended that for redundancy purposes the system is split into blocks of 8-10 Asterisk servers, each with their own MySQL, SmoothTorque and Apache servers.

How it works

It really depends on what kind of capabilities you want out of the system, but the basic design is has four components:

  • SmoothTorque Backend
  • MySQL Database Server
  • Apache Web Server
  • Asterisk Machines

We recommend that Asterisk does not run on the same machine as anything else you are running for performance reasons.

In a small call centre scenario, you would have one machine running SmoothTorque, MySQL and Apache, and another machine running Asterisk.

In a large message broadcasting scenario, you would have one machine for SmoothTorque, another for MySQL, another for Apache, and then a collection of Asterisk Machines depending on the capacity you require.

Note that with SmoothTorque you can do a few extra things to increase capacity to extreme levels. First you can split the CDR records and the SmoothTorque database onto separate machines. If you're looking at hundreds of millions of numbers you may even want to split input numbers from output numbers.

SmoothTorque has been designed so that you can run cronjobs to calculate status images once and produce an output png file. This means that if you have many people all watching the status of a campaign you do not need to calculate the statistics for every viewer.

So, onto the extreme technical details of the inner workings of SmoothTorque:

SmoothTorque polls the MySQL database to check for entries in the queue table.

These entries are to pass requests from the front end to the back end. Entries can be added to start/stop a campaign, change the number of servers or change the number of agents.

Once SmoothTorque starts a campaign it will load in phone numbers into two arrays. Once the first array of numbers has been dialed it swaps the two arrays over and begins filling the second array. The reason for this is that we don't want to have to wait for MySQL to return us the results.

In fact, when it comes to MySQL, we don't rely on any type of response time. Any information that needs to be saved to the database is put into a queue, and SmoothTorque will send items from the queue at the fastest rate possible. The reasoning for this is that if you do something which causes MySQL to slow down for a while, you don't want it to be slowing down SmoothTorque.

We actually doa similar thing with the Asterisk servers. When a campaign wants to make a call, it doesn't actually send it to Asterisk, it sends it to a funnel. The funnel is responsible for distributing the calls amongst Asterisk servers at the rate you specify for the trunk. If an Asterisk server has a problem, the call is sent to another machine instead, and SmoothTorque will try to resurrect the connection to the lost Asterisk machine in another thread.

One of the benefits of this is that campaigns can run at whatever speed they like including temporarily above the maximum rate that an Asterisk machine can accept. If the funnel starts filling up, the campaigns which have the most calls in the funnel are slowed down.

These components result in a system whereby you can even restart the machines that SmoothTorque is connected to without any problems in SmoothTorque. If you need to take a machine down for maintenance, just do it.

While this may all sound pretty complicated, it all happens in the background without needing any user intervention. You don't have to worry about it because SmoothTorque will look after it for you.

Page views: 13603
Created by: ZX81, Last modification: Sun 16 of Aug, 2009 (21:49 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+