Search code examples
asteriskvoipphone-calltelecommunicationpbx

Open source easy-to-customize call center solution?


Note: A have asked this question at the Superuser community first, but since it involves a lot of software-building-related topics I decided to move it here.

I need to provide a simple call-center solution to a small local business.

They have a local 6-digit land line number. They accept calls locally, i.e. nobody calls them from another cities.

The problem is that they started to lose customers, because with a certain amount of calls every day it has become impossible to reach the local phone number (it is always busy).

So, there is a call center solution needed.

I assume that I can somehow hook to Asterisk PBX and then do all the business logic and CRM stuff with some Java+MySQL custom written module.

I tend to think that I could have a PBX server with a land line somehow plugged in to it, and in addition to that I can call the PBX API from my Java/MySQL custom written module.

So, what should I start with? How can a land line number be attached to a PBX server? What is the best open source PBX that has rich API to call?

P.S. Here is the SRS:

The non-functional requirements are:

  • the client needs the quickest time-to-market possible solution;
  • open source: the client does no like to be in 'vendor lock-in';
  • the main call center server's API should be accessible via the Internet, which means that a telephone operator can pick up phone calls remotely (sitting at her home computer, for example);
  • the solution should be scalable from just a couple of telephone operators (persons who accept calls) to many.

The functional requirements are:

  • when a customer makes a call his phone number should be looked up in a database; if there is a record, then the phone operator should see something like "John Smith is calling you (Customer details: Number: XX-XX-XX; Last_order: 1 Jan 2012; etc.);
  • if there is no db record for the calling customer, the phone operator should be able to add the new customer do the database (the phone number is filled in automatically);
  • the customer's call can be put on hold or redirected to another telephone operator;
  • a next customer in the queue can be picked up the the operator manually or automatically;
  • if a customer calls and the line is busy, she is put in the queue;
  • the telephone operator can set a status: Available/Not available;
  • if the phone operator does not pick up the phone, the call is redirected to the next available operator;
  • the phone operator should be able to make a call back to any of the customers recorded in the database; the call can be manual or automatic (automatic means the software keeps calling if the line is busy);
  • each customer call can be recorded and stored on disk.

Solution

  • You could definitely build everything you want using:

    You could also build all your own software on the asterisk box to perform these functions. However, if you really want something 'quick to market', I suggest you look into one of the available Asterisk CRM products. A quick google search turned up the following open source options:

    Hope one of these solutions fits your needs. If your client becomes more flexible on the open source part, there are also several other CRM integration projects for asterisk.