RTP.IO module
Admin Guide
Section titled “Admin Guide”Overview
Section titled “Overview”The RTP.io module provides an integrated solution for handling RTP traffic within OpenSIPS, enabling RTP relaying and processing directly inside the OpenSIPS process. This eliminates the need for external processes such as RTPProxy, resulting in a more streamlined, efficient, and manageable system for certain use cases.
The rtp.io module starts RTP handling threads in the main OpenSIPS process and allows the rtpproxy module to access these threads via a one-to-one socket pair. This tight integration facilitates efficient RTP traffic management within OpenSIPS without relying on external RTP handling services.
The module requires RTPProxy version 3.1 or higher, compiled
with the --enable-librtpproxy option to build. It utilizes the
librtpproxy library to manage RTP traffic and interfaces with the
existing rtpproxy module to generate commands, parse responses,
and process SIP messages.
When the rtpproxy module is loaded without arguments and the
rtp.io module is also loaded, the sockets exported by
rtp.io are used automatically in set 0.
Alternatively, these sockets can be incorporated into other sets by using the
"rtp.io:auto" moniker.
Dependencies
Section titled “Dependencies”Exported Parameters
Section titled “Exported Parameters”rtpproxy_args(string)
Section titled “rtpproxy_args(string)”Command-line parameteres passed down to the embedded RTPProxy module upon initialization. Refer to the RTPProxy documentation for the full list.
Parameter has no default value.
...modparam("rtp.io", "rtpproxy_args", "-m 12000 -M 15000 -l 0.0.0.0 -6 /::")...Exported Functions
Section titled “Exported Functions”Contributors
Section titled “Contributors”By Commit Statistics
Section titled “By Commit Statistics”Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
| # | Name | DevScore | Commits | Lines++ | Lines— |
|---|---|---|---|---|---|
| 1. | Maksym Sobolyev (@sobomax) | 11 | 3 | 746 | 7 |
| 2. | Stefan Darius | 6 | 4 | 89 | 20 |
| 3. | Razvan Crainea (@razvancrainea) | 3 | 1 | 2 | 2 |
| 4. | Liviu Chircu (@liviuchircu) | 2 | 1 | 3 | 0 |
(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
By Commit Activity
Section titled “By Commit Activity”| # | Name | Commit Activity |
|---|---|---|
| 1. | Stefan Darius | Jun 2026 - Jul 2026 |
| 2. | Razvan Crainea (@razvancrainea) | Jun 2026 - Jun 2026 |
| 3. | Maksym Sobolyev (@sobomax) | Jun 2024 - Jun 2025 |
| 4. | Liviu Chircu (@liviuchircu) | May 2025 - May 2025 |
(1) including any documentation-related commits, excluding merge commits
Documentation
Section titled “Documentation”Contributors
Section titled “Contributors”Last edited by: Razvan Crainea (@razvancrainea), Maksym Sobolyev (@sobomax).
License
Section titled “License”All documentation files (i.e. .md extension) are licensed under the Creative Common License 4.0