Call Us Today! 877.742.2583

Page tree
Skip to end of metadata
Go to start of metadata

 Table of Contents (click to expand)


Kazoo is an API-based platform that lets you use your existing phones, programming languages and IT skills to build voice, video and SMS services.


Steps are documented on github's project page:

Comparison with mod_erlang_event 

From a thread on "erlang-questions" forum in 2015:

 (click to expand)

[erlang-questions] telephony

James Aimonetti <>
Thu Jul 30 20:38:28 CEST 2015

Hash: SHA256

Le 07/30/2015 12:34 AM, Kukosa Tomáš a écrit :
> On 30.7.2015 0:39, James Aimonetti wrote:
>>> Hi List, Is there any open source application out there that 
>>> provides an Erlanginterface for programming a voip router?  Or
>>> is it the asterisk ecosystem(for instance with Erlang using
>>> AGI) that comes the closest to theoriginal mission? S.
>> FreeSWITCH has two modules, mod_erlang_event and mod_kazoo,
>> which present FreeSWITCH as a C-Node to other Erlang VMs. We
>> built and use mod_kazoo for Kazoo, but it is generic in purpose;
>> I know several folks using mod_erlang_event in production as
>> well. Different use cases for each.
> Is there any simple description of difference between mod_kazoo and
>  mod_erlang_event together with hints which use cases they are good
> for? _______________________________________________ 
> erlang-questions mailing list  

Its been a while that I've looked at mod_erlang_event, but the main
differences I recall are:

mod_kazoo supports multiple connections from multiple VMs;
mod_erlang_event supports one.

mod_kazoo opens many TCP sockets for streaming events out of
FreeSWITCH to the Erlang VM; mod_erlang_event streams them over the
same connection as everything else.

mod_erlang_event allows you to take control during the dialplan
processing; mod_kazoo does not. Both support being in control of the
call from the start (similar to mod_xml_curl if you're familiar with

mod_kazoo runs more threads and seems more performant internally.

I would say (without having seen recent commit history) that mod_kazoo
is a more maintained module with a company being behind it (2600Hz),
while mod_erlang_event is more community supported at this point
(again, could be heresy).

We built Kazoo on mod_erlang_event initially, but decided we needed to
rewrite it from scratch once we hit a certain level of call volume;
mod_kazoo is the result of that effort.

- -- 
James Aimonetti
Lead Systems Architect / Impressionable Scallywag
"I thought I fixed that"

2600Hz |
irc:mc_ @ freenode
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird -


From the #2600hz freenode IRC channel (11/18/2019):

 Click here to expand...


mod_kazoo is a different approach than mod_erlang_event

we use mod_kazoo

it offers setting up separate TCP connections for event streams out of freeswitch
mod_erlang_event only supported multiple connections via DistErl by accident

mod_kazoo explicitly allows multiple connections there

and the new mod_kazoo offers even more good stuff over the existing mod_kazoo