Open source easy-to-customize call center solution

2019-04-17 16:20发布

问题:

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.

回答1:

You could definitely build everything you want using:

  • an Asterisk box with an FXO/FXS card for connecting to the 'land line' (http://www.digium.com/en/products/hardware/analog)
  • a Webserver (could be on the same box)
  • Software SIP Phones for your queue agents

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:

  • AsterCRM (http://astercc.org/products/astercrm)
  • KINAMU/abcona Open Asterisk Connector for SugarCRM (http://www.sugarforge.org/projects/yaai/)

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.