KCT-03: The Applications that make Kazoo

The Apps

Kazoo in part is the Apps, all written in erlang. This gives the functionality to the PBX such as call queues, callflows, conferences, user authentication, call rating etc. Below are a list of the apps available inside the open source version of Kazoo and a rough idea of what they do.

  • ACDC
    The paid version of 2600hz Kazoo has a better maintained “Callcenter” module. This is the older module, no longer actively developed. It tracks “Agents” (which represent users with devices), tracks their status and figures out who to connect the call to.
  • Ananke
    I have not used this app yet, but it appears to be a method of having your Voicemail call you. It periodically attempts to call the voicemail box owner (up to a limit) and play the missed calls. If anyone has better information on this module, please leave a comment.
  • Blackhole
    This is a sort of event listener. You can use blackhole to connect your 3rd party code or app to the Kazoo system and receive events. Kind of like webhooks, but instead of the system sending a specific event to an endpoint, you instead connect to blackhole and listen for events.
  • Braintree
    Online payment processor. Documentation on this is very light and since all my customers are post-pay, I’ve not needed Braintree yet.
  • Call Inspector
    An app to perform centralized call inspection, instead of grepping logs across multiple servers. Another app I’ve not yet used as I use Heplify and Homer sip capture server for my call inspection.
  • Callflow
    The callflow app itself holds modules for DND, callerid manipulation and routing to other apps, like ACDC.
  • Camper
    Documentation on this app is very thin. All I know of it, is it provides functionality to a caller to wait for a user/device to become available.
  • Calling Card Callback Platform (CCCP)
    Again, documentation for this application is a bit thin. From my understanding, it allows for an external caller to dial your system and then make a call out but could functionally be used for other cases (like setting up conference calls with multiple participants with a series of API calls).
  • Call Detail Records (CDR)
    Should be obvious, on a CHANNEL_DESTROY event (meaning the end of a call), it records details of the call to the accounts MODB (Monthly Database).
  • Conference
    Supplies config for conference rooms to Freeswitch/mod_conference, controls discovery of conferences and manages participants.
  • Crossbar
    The HTTP Rest API.
  • Doodle
    Handles SMS and MMS routing.
  • Ecallmgr
    Manages call control. Acts as a layer of abstraction for various apps, but is the main layer of interaction with freeswitch.
  • Edr
    Gets EDR events out of Kazoo.
  • Fax
    Runs virtual fax machines for both sending and receiving faxes.
  • Frontier
    Communicates with Kamailio to provide access lists and incoming packet rate limits.
  • Hangups
    Monitors for hangup causes, sets which to ignore and sets hangup metrics for when a volume of hangups should trigger an alert. Since some hangups can be benign in low volumes, an increase in timeouts or similar hangups can indicate a problem.
  • Hotornot
    Rates calls against your ratedeck.
  • Jonny5
    Maintains limits, like trunk, credit or minutes limits.
  • Konami
    Listens to dial codes like DTMF tones and triggers actions, like transfers, call recordings, etc
  • Media Manager
    Manages media for playback to freeswitch. Also generates TTS media files.
  • Milliwatt
    RTP echo and tone testing.
  • Notify
    Sends notifications via SMTP or JSON to url (or both). Handles notifications for faxes, hangup causes, system alerts, etc. Replaced by Teletype.
  • Omnipresence
    Handles/tracks Subscriptions and Notify messages for Kamailio to handle things like BLF and Presence.
  • Pivot
    During a callflow, it can send the call information to a HTTP/HTTPS endpoint of your choice. You can process the sent XML or JSON data and respond with the same to manipulate the call (like changing caller ID, callflow routing, etc).
  • Pusher
    Handles push notifications to wake up devices on an incoming call bridge.
  • Registrar
    Handles caller authentication.
  • Reorder
    If a call hits Kazoo with a destination number that isn’t assigned to an account, it sends a SIP response that it can’t be completed.
  • Skel
    Skeleton App. More or less a demo app showing how to listen to the AMQP message bus and respond.
  • Spyvsspy
    Eavesdrop on calls.
  • Stats
    Collect event, memory, process stats among other statistics.
  • Stepswitch
    Manage your carriers for inbound and outbound routing.
  • Sysconf
    Holds and manages most of the Kazoo Configuration.
  • Tasks
    Runs background jobs, like importing ratedecks, performing monthly rollovers and MODBs.
  • Teletype
    Replaces the Notify application. Listens for events and notifies via email.
  • Trunkstore
    Manages connectivity to existing PBXs.
  • Webhooks
    Send HTTP/HTTPS data in response to events within Kazoo

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.