Integrate an external application with FreeSWITCH over the Event Socket Library (ESL).
domain: developer.signalwire.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Connect to the event socket on port 8021 (inbound mode) and send auth <password> before any other command.
Subscribe to events with event plain ALL or a specific list (e.g. event plain CHANNEL_CREATE CHANNEL_DESTROY CUSTOM conference::maintenance).
Use api <command> for a blocking call or bgapi <command> for an async call whose result arrives via a later BACKGROUND_JOB event (correlate with Job-UUID).
To originate a call, send bgapi originate {origination_uuid=...}<target> <extension>.
For outbound mode, configure the socket dialplan app so FreeSWITCH connects out to your listening application instead.
Known gotchas
The default ClueCon password only applies to stock/example configs — production systems must change it.
As of FreeSWITCH 1.6+, event_socket.conf.xml requires an ACL entry for the connecting IP or the connection is refused.
Inbound and outbound ESL are structurally different connection models — code written for one doesn't drop in for the other.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?