Skip to content
This repository

Erlang & FreeSWITCH based Automated Contact Distribution (ACD) system

Octocat-spinner-32 attic Fixed gen_spec for new gen_media. November 02, 2011
Octocat-spinner-32 config Add default key location on installation September 18, 2012
Octocat-spinner-32 contrib Set MediaTab to be able to accept arbitary url for content January 31, 2012
Octocat-spinner-32 doc Fixed version in documentation. March 19, 2012
Octocat-spinner-32 include Merge pull request #109 from dannaaduna/master September 02, 2012
Octocat-spinner-32 include_apps Add include_apps src to src_dirs in rebar.config November 29, 2012
Octocat-spinner-32 misc graphics added September 02, 2011
Octocat-spinner-32 priv Add auto log-out on web ui unload August 21, 2012
Octocat-spinner-32 rel Use apps directory for the apps July 30, 2012
Octocat-spinner-32 scripts support using "service" command to operation openacd script November 26, 2012
Octocat-spinner-32 src Add agent_dialplan_connection.erl and fix module name September 25, 2012
Octocat-spinner-32 tests Improvements to testing tcp agent conneciton. March 30, 2012
Octocat-spinner-32 .gitattributes Should ignore XCode files. 'borrowed' from… February 04, 2009
Octocat-spinner-32 .gitignore Move proto to src July 30, 2012
Octocat-spinner-32 .gitmodules Adding in dojo build support August 04, 2011
Octocat-spinner-32 Build and packaging changes: Openacd will install in /lib(64)/openacd… May 16, 2012
Octocat-spinner-32 LICENSE spice -> openacd December 28, 2009
Octocat-spinner-32 Makefile Add default key location on installation September 18, 2012
Octocat-spinner-32 README.markdown Merge branch 'v1' February 01, 2012
Octocat-spinner-32 Added helper script to set up keys and cert files. May 17, 2011
Octocat-spinner-32 devboot Added checks for plugin directory, and fixed devboot to have one. April 25, 2012
Octocat-spinner-32 gen-cpx.config.sample Updated to reflect plugin handling changes. July 05, 2011
Octocat-spinner-32 Remove deletion of apps dir on clean August 03, 2012
Octocat-spinner-32 Fix make if current folder is not named OpenACD May 17, 2012
Octocat-spinner-32 openacd.spec keep proper dep November 23, 2012
Octocat-spinner-32 rebar Replace with rebar built with R14B04 November 21, 2012
Octocat-spinner-32 rebar.config Fix rebar.config type for precompile December 12, 2012
Octocat-spinner-32 success_message Adding the success banner back in. January 25, 2011

Project Overview

OpenACD is an opensource project aimed at providing a distributed, fault tolerant contact/call center platform. It's implemented in Erlang, uses Dojo for its web UI and integrates tightly with FreeSWITCH for its VoIP components. The sister project gen_smtp is used for email support.

Feature Highlights

  • Skill based routing
  • Priority and unified queueing
  • Web-based administration and agent interaction
  • Supervisory interface for managing agents/call flow
  • Support for handling voice calls (inbound and outbound), voicemails and emails
  • Detailed CDRs and agent state recording
  • Extensible architecture for new media types, data collection, and agent interaction


Development is sponsored by KGB and the 2 main developers are:

  • Andrew Thompson (andrew AT
  • Micah Warren (micahw AT

Other contributions are welcome.

You can also (possibly) get help on IRC via #openacd on FreeNode.

A mailinglist also exists at


If you'd like to contribute - simply make a fork on github, and once you've got some changes you like reviewed, send a pull request or email to either of the main developers. We'll review the changes and either include them or let you know why not. Also feel free to contribute documentation, translations or report bugs.

Project Status

OpenACD current exists in two states: version 1.0 which features all the above, and version 2.0, which adds multi-channel, and improved plugin support. For the stable version 1.0, use the 'v1' branch. Master is version 2, and is in heavy development.

There are also two branches to help when developing plugins: embeddable_build and embeddable_build_v1. They correspond to master and v1 respectively. When developing a plugin using rebar to build, using the embeddable_build and embeddable_build_v1 will ensure OpenACD builds properly and gives the developer no trouble.

The OpenACD developers are working with eZuce and KGB to integrate OpenACD as the new sipXecs ACD.

More Info

More information can be found on the github wiki. Please feel free to contribute additional information on the wiki if you have it.

Something went wrong with that request. Please try again.