freeswitch Module
     __________________________________________________________

   Table of Contents

   1. Admin Guide

        1.1. Overview
        1.2. External Libraries or Applications
        1.3. Exported Parameters

              1.3.1. event_heartbeat_interval (integer)
              1.3.2. esl_connect_timeout (integer)
              1.3.3. esl_cmd_timeout (integer)
              1.3.4. esl_cmd_polling_itv (integer)

        1.4. Exported Functions

   2. Contributors

        2.1. By Commit Statistics
        2.2. By Commit Activity

   3. Documentation

        3.1. Contributors

   List of Tables

   2.1. Top contributors by DevScore^(1), authored commits^(2) and
          lines added/removed^(3)

   2.2. Most recently active contributors^(1) to this module

   List of Examples

   1.1. Setting the event_heartbeat_interval parameter
   1.2. Setting the esl_connect_timeout parameter
   1.3. Setting the esl_cmd_timeout parameter
   1.4. Setting the esl_cmd_polling_itv parameter

Chapter 1. Admin Guide

1.1. Overview

   The "freeswitch" module is a C driver for the FreeSWITCH Event
   Socket Layer interface. It can interact with one or more
   FreeSWITCH servers either by issuing commands to them, or by
   receiving events from them.

   This driver can be seen as a centralized FreeSWITCH ESL
   connection manager. OpenSIPS modules may use its API in order
   to easily establish, reference and reuse ESL connections.

   A FreeSWITCH ESL URL is of the form:
   fs://[username]:password@host[:port]. The default ESL port is
   8021.

1.2. External Libraries or Applications

   The following libraries or applications must be installed
   before running OpenSIPS with this module loaded:
     * None

1.3. Exported Parameters

1.3.1. event_heartbeat_interval (integer)

   The expected interval between FreeSWITCH HEARTBEAT event
   arrivals.

   Default value is “1” (second).

   Example 1.1. Setting the event_heartbeat_interval parameter
...
modparam("freeswitch", "event_heartbeat_interval", 20)
...

1.3.2. esl_connect_timeout (integer)

   The maximally allowed duration for the establishment of an ESL
   connection.

   Default value is “5000” (milliseconds).

   Example 1.2. Setting the esl_connect_timeout parameter
...
modparam("freeswitch", "esl_connect_timeout", 3000)
...

1.3.3. esl_cmd_timeout (integer)

   The maximally allowed duration for the execution of an ESL
   command. This interval does not include the connect duration.

   Default value is “5000” (milliseconds).

   Example 1.3. Setting the esl_cmd_timeout parameter
...
modparam("freeswitch", "esl_cmd_timeout", 3000)
...

1.3.4. esl_cmd_polling_itv (integer)

   The sleep interval used when polling for an ESL command
   response. Since the value of this parameter imposes a minimal
   duration for any ESL command, you should run OpenSIPS in debug
   mode in order to first determine an expected response time for
   an arbitrary ESL command, then tune this parameter accordingly.

   Default value is “1000” (microseconds).

   Example 1.4. Setting the esl_cmd_polling_itv parameter
...
modparam("freeswitch", "esl_cmd_polling_itv", 3000)
...

1.4. Exported Functions

Chapter 2. Contributors

2.1. By Commit Statistics

   Table 2.1. Top contributors by DevScore^(1), authored
   commits^(2) and lines added/removed^(3)
     Name DevScore Commits Lines ++ Lines --
   1. Liviu Chircu (@liviuchircu) 115 53 4261 1560
   2. Razvan Crainea (@razvancrainea) 12 10 30 21
   3. Vlad Patrascu (@rvlad-patrascu) 5 3 21 41
   4. Bogdan-Andrei Iancu (@bogdan-iancu) 5 3 8 5
   5. rance 3 2 3 0
   6. Maksym Sobolyev (@sobomax) 3 1 8 8
   7. Peter Lemenkov (@lemenkov) 3 1 2 2

   (1) DevScore = author_commits + author_lines_added /
   (project_lines_added / project_commits) + author_lines_deleted
   / (project_lines_deleted / project_commits)

   (2) including any documentation-related commits, excluding
   merge commits. Regarding imported patches/code, we do our best
   to count the work on behalf of the proper owner, as per the
   "fix_authors" and "mod_renames" arrays in
   opensips/doc/build-contrib.sh. If you identify any
   patches/commits which do not get properly attributed to you,
   please submit a pull request which extends "fix_authors" and/or
   "mod_renames".

   (3) ignoring whitespace edits, renamed files and auto-generated
   files

2.2. By Commit Activity

   Table 2.2. Most recently active contributors^(1) to this module
                     Name                   Commit Activity
   1. Liviu Chircu (@liviuchircu)         Jan 2017 - May 2024
   2. Maksym Sobolyev (@sobomax)          Feb 2023 - Feb 2023
   3. Razvan Crainea (@razvancrainea)     Feb 2017 - Jul 2021
   4. Bogdan-Andrei Iancu (@bogdan-iancu) Jan 2018 - Apr 2021
   5. rance                               Oct 2020 - Mar 2021
   6. Vlad Patrascu (@rvlad-patrascu)     May 2017 - Apr 2019
   7. Peter Lemenkov (@lemenkov)          Jun 2018 - Jun 2018

   (1) including any documentation-related commits, excluding
   merge commits

Chapter 3. Documentation

3.1. Contributors

   Last edited by: Peter Lemenkov (@lemenkov), Liviu Chircu
   (@liviuchircu).

   Documentation Copyrights:

   Copyright © 2017 www.opensips-solutions.com
