Skip to content

TLS_WOLFSSL module

This module implements TLS operations using the wolfSSL libarary. It provides the primitives required by the tls_mgm module in order to expose a higher-level API used by TLS-based protocol modules like proto_tls or proto_wss.

The wolfSSL library is statically-linked and bundled with this module so no installation or external dependency is required.

The following packages must be installed before compiling this module:

  • autoconf.
  • automake.
  • libtool.

The following modules must be loaded before this module:

  • None.

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

  • None.

All these parameters can be used from the opensips.cfg file, to configure the behavior of OpenSIPS-TLS.

Try to use KTLS for RX and TX ( dependent on Kernel support and loaded modules https://docs.kernel.org/networking/tls-offload.htm ) If kernel support is not found, or if the cypher attempted to be used is not supported ( only AES-GCM for now ), then SSL operations will continue to be done in user-space. IF NIC supports SSL offloading, that can also be enabled without any changes needed to the module https://docs.nvidia.com/doca/sdk/ktls-offloads/index.html

Default value is 0.

Set try_use_ktls variable
...
modparam("tls_wolfssl", "try_use_ktls", 1)
...

Q: Why do I get the following error when compiling the module?

If you obtained the OpenSIPS sources by cloning the repository from Github, without using the —recursive option for the git clone command, you did not properly fetch the wolfSSL library code, which is included as a git submodule pointing to the official wolfSSL repository.

In order to fetch the wolfSSL library code you can run:

Terminal window
git submodule update --init

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

#NameDevScoreCommitsLines++Lines—
1.Vlad Patrascu (@rvlad-patrascu)51242847130
2.Razvan Crainea (@razvancrainea)3121395303
3.Stefan Darius (@dariusstefan)8512321
4.Vlad Paiu (@vladpaiu)613943
5.Maksym Sobolyev (@sobomax)4222
6.Ivan Poddubny313424
7.Ross Henderson3196
8.James Stanley3161
9.Bogdan-Andrei Iancu (@bogdan-iancu)3133
10.Liviu Chircu (@liviuchircu)3122

All remaining contributors: Bence Szigeti, Alexey Vasilyev (@vasilevalex), vladpaiu.

(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

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

#NameCommit Activity
1.Razvan Crainea (@razvancrainea)Aug 2023 - Jul 2026
2.Ivan PoddubnyJul 2026 - Jul 2026
3.Stefan Darius (@dariusstefan)Jun 2026 - Jul 2026
4.Ross HendersonFeb 2026 - Feb 2026
5.Vlad Paiu (@vladpaiu)Dec 2025 - Dec 2025
6.vladpaiuJun 2025 - Jun 2025
7.James StanleyFeb 2024 - Feb 2024
8.Liviu Chircu (@liviuchircu)Oct 2023 - Oct 2023
9.Bence SzigetiOct 2023 - Oct 2023
10.Bogdan-Andrei Iancu (@bogdan-iancu)May 2023 - May 2023

All remaining contributors: Vlad Patrascu (@rvlad-patrascu), Maksym Sobolyev (@sobomax), Alexey Vasilyev (@vasilevalex).

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

Last edited by: Razvan Crainea (@razvancrainea), Vlad Paiu (@vladpaiu), Vlad Patrascu (@rvlad-patrascu).

All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0