FreeSWITCH Users Manual

website·Indexed 35 days ago

https://developer.signalwire.com/freeswitch/

Comprehensive documentation for the FreeSWITCH open source platform for voice, video, and messaging. Covers configuration, user endpoints, Dialplan call routing, media codecs, modules, applications, and API commands.

Tokens
4.3K
Snippets
0
Records
83
Agent score
70%

What's inside FreeSWITCH

  1. Overview of FreeSWITCH Core Concepts and Setup

    FreeSWITCH is an open-source platform for voice, video, and messaging. Getting started involves installing the platform, starting the FreeSWITCH service, connecting to the console, registering a SIP client, and placing initial calls. The system relies on a set of runtime objects and a structured configuration organization to manage communication flows.
  2. Execute scripts in FreeSWITCH using language modules

    FreeSWITCH supports several scripting modules that allow the dialplan and API callers to execute external scripts on channels. Available language modules include:

    • mod_basic: Embeds the MY-BASIC interpreter.
    • mod_java: Provides Java scripting integration.
    • mod_lua: Provides Lua scripting integration.
    • mod_managed: Embeds the Mono runtime or Microsoft CLR to run C#, F#, and VB.NET.
    • mod_perl: Provides Perl scripting integration.
    • mod_python3: Provides Python 3 scripting integration.
    • mod_v8: Provides JavaScript (V8) scripting integration.
  3. Serve FreeSWITCH configuration and directory data via XML interfaces

    FreeSWITCH can use various backend modules to serve XML configuration or directory data dynamically instead of relying solely on local files:

    • mod_xml_curl: Fetches dynamic XML over HTTP.
    • mod_xml_rpc: Embeds an HTTP server that exposes API commands over HTTP and XML-RPC.
    • mod_xml_scgi: Forwards XML lookup requests to an SCGI backend process via a TCP socket.
    • mod_xml_ldap: Translates LDAP attributes into FreeSWITCH user directory entries for XML section lookups.
    • mod_ldap: Implements the directory interface using an LDAPv3 simple-bind server.
  4. Implement high-precision media scheduling with Timer modules

    For high-precision media scheduling, FreeSWITCH provides mod_timerfd and mod_posix_timer. These loadable modules offer kernel-backed timing as a more precise alternative to the built-in soft timer.
  5. Convert numbers and dates to spoken audio with Say Modules

    The Say Modules provide per-language functionality to convert numbers, dates, currency, and time values into spoken audio by utilizing pre-recorded sound files.