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)

 NameDevScoreCommitsLines ++Lines --
1. Liviu Chircu (@liviuchircu)1105141341528
2. Razvan Crainea (@razvancrainea)12103021
3. Vlad Patrascu (@rvlad-patrascu)532141
4. Bogdan-Andrei Iancu (@bogdan-iancu)5385
5. rance3230
6. Maksym Sobolyev (@sobomax)3188
7. Peter Lemenkov (@lemenkov)3122

(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

 NameCommit 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. ranceOct 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