Call Us Today! 877.742.2583

Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.




titleTable of Contents (click to expand)

Table of Contents


0. About

This page describes how to use the Event Socket Library (ESL) to talk to FreeSWITCH's event system using an application, and not via the C primitives. These applications can be

  • internal to FreeSWITCH (such as fs_cli , communicating with FreeSWITCH via mod_event_socket )
  • external and possibly
  • remote (that is, residing on a different host).

ESL (libesl) is a C library that has no dependencies on FreeSWITCH. It , and it can be built, and moved to client/remote machines. It just encapsulates all the necessary socket stuff to allow talking to FreeSWITCH from an application (i.



Dependencies e., provides an external API to interact with the Event System.

TODO What is the relation between mod_event_socket ( moderlangevent, modkazoo, etc) and ESL?

in the source, mod_esl uses libesl, modeventsocket doesn't even touches it (same goes to the other related mods as well)


Saving my comments here.

This page should be the main source describing modes of operation (inbound, outbound).

Right now, it is described on individual module pages (mod_event_socketmod_erlang_event) but they are just redundant.

Also, there is a subpage beneath Event Socket Library describing outbound mode (Event Socket Outbound) that kind of proves this point.

Image AddedAttila Gulyas

Going further, there should be  a top level page telling about the event system in FreeSWITCH (that's where the Event ListEvent Types (Classes, or Names, of Events)CUSTOM Event SUBCLASSES (Event-Subclass) would go, and only then start introducing Event Socket Library, with its modes of operation, libraries, modules, etc.

1. Prerequisites

TODO this should be under installation divided up into section such as Dependencies, and the thing under Installation should be called build (the config part should go there too).

Dependencies MUST be installed before the initial "configure" of the source directory (i.e.: before compiling FS).