Skip to main content



mod_esl provide function to communicate with a remote FreeSwitch. Currently implement to execute API remotely

Click here to expand Table of Contents


In a multi server setup. It might be interesting to query a remote FreeSWITCH™ to gather informations. This module will include different capability to do just that.

single_esl API

This api do a passtruth of an API request to a remote server and return the result.

single_esl [<user>]|<password> <host>[:<port>] <timeout> <remote api> <arguments>


To make things simpler for day to day use, you can use feature from mod_abstraction. Here an example:

<api name="remote_user_password" syntax="<id>@<domain>" parse="(.*)" destination="single_esl" argument="|ClueCon 5000 user_data $1 var effective_caller_id_name"/>

Now you only need to call remote_user_password(1000@default) to get information from the remote FreeSWITCH™.


What is the difference between these two modules, mod_esl and mod_event_socket ? Posted by livem at Nov 19, 2017 21:52
13:14 < toraritte> Hi, I was wondering how the following relate to each other: Event Socket Library, mod_event_socket, mod_esl.The way I understand it, mod_esl == Event Socket Library, that adds convenience methods and allows tapping into the FreeSWITCH event system. mod_event_socket builds on top of this. Whereas mod_esl provides an abstraction layer for scripting languages, mod_event_socket makes it possible to use ESL commands through network sockets in a language agnostic way.Is this close?13:15 < signalwire_slack> <brian> mod_esl isn't that, its so you can mirror events elsewhere or to another server13:15 < signalwire_slack> <brian> libesl is the esl library13:21 < toraritte> brian: So mod_esl and mod_event_socket are both implemented using libesl? If so, is the statement above correct regarding how they differ from each other?Alex Sibyakin3:05 PMthink of mod_event_socket as server and of mod_esl as client a month later: Is there anyone using mod_esl at all? Posted by toraritte at Nov 04, 2019 15:34