Table of Contents
List of Tables
List of Examples
The opentelemetry module provides OpenTelemetry tracing for OpenSIPS route execution. It creates a root span per processed SIP message and a child span for each route entry.
The root SIP message span follows a local semantic convention inspired by the OpenTelemetry HTTP span conventions: it uses a method-plus-target span name, server/client/internal span kinds based on the OpenSIPS route type, and generic network, client, server and URL attributes wherever they fit the SIP model.
Spans include common SIP attributes (request method, Call-ID, CSeq, response status) and connection metadata. While a span is active, OpenSIPS logs can be attached as OpenTelemetry events for easier correlation.
Trace data is exported via the OTLP/HTTP exporter from the OpenTelemetry C++ SDK.
The local SIP span convention emitted by this module is documented in
modules/opentelemetry/semantic-convention/sip-spans.md.
Enables or disables OpenTelemetry tracing at startup. It can also be
changed at runtime using the opentelemetry:enable
MI command.
The module is built only when the OpenTelemetry C++ SDK is available at build time.
Default value is “0 (disabled)”.
If enabled, the module will also profile/trace the OpenSIPS processes, not only the script.
Default value is “0 (disabled)”.
Log level threshold used by the OpenTelemetry log consumer when attaching log events to the active span.
Default value is “L_DBG”.
Selects the OpenTelemetry span processor. When enabled, the module uses the batch span processor; otherwise it uses the simple span processor.
Default value is “1 (enabled)”.
Replaces obsolete MI command: otel_enable.
Enables or disables OpenTelemetry tracing at runtime.
Name: opentelemetry:enable
Parameters:
opentelemetry:enable - set to “1” to enable tracing or “0” to disable it.
MI FIFO Command Format:
## enable tracing opensips-cli -x mi opentelemetry:enable enable=1 ## disable tracing opensips-cli -x mi opentelemetry:enable enable=0
Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
| Name | DevScore | Commits | Lines ++ | Lines -- | |
|---|---|---|---|---|---|
| 1. | Vlad Paiu (@vladpaiu) | 15 | 6 | 812 | 71 |
| 2. | Razvan Crainea (@razvancrainea) | 5 | 3 | 15 | 12 |
| 3. | Your Name | 3 | 1 | 230 | 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. 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
Table 2.2. Most recently active contributors(1) to this module
| Name | Commit Activity | |
|---|---|---|
| 1. | Razvan Crainea (@razvancrainea) | Mar 2026 - Mar 2026 |
| 2. | Vlad Paiu (@vladpaiu) | Dec 2025 - Jan 2026 |
| 3. | Your Name | Jan 2026 - Jan 2026 |
(1) including any documentation-related commits, excluding merge commits
Last edited by: Razvan Crainea (@razvancrainea), Your Name.
Documentation Copyrights:
Copyright © 2026 OpenSIPS Project