[OpenSIPS-Devel] [OpenSIPS/opensips] b2e975: rtpengine: add bracket syntax for lists and dictio...

Norm Brandinger noreply at github.com
Fri Apr 17 12:38:58 UTC 2026


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: b2e975540d62f43b19420cf9acace0bbab3bea50
      https://github.com/OpenSIPS/opensips/commit/b2e975540d62f43b19420cf9acace0bbab3bea50
  Author: Norm Brandinger <n.brandinger at gmail.com>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M modules/rtpengine/doc/rtpengine_admin.xml
    M modules/rtpengine/rtpengine.c
    A modules/rtpengine/rtpengine_bracket.c
    A modules/rtpengine/rtpengine_bracket.h
    A modules/rtpengine/test/opensips.cfg
    A modules/rtpengine/test/test.c

  Log Message:
  -----------
  rtpengine: add bracket syntax for lists and dictionaries (#3818)

Add support for bracket-delimited list and dictionary values in
rtpengine flag strings, enabling access to ng protocol features
that require nested parameters (sdp-media-remove, codec, sdp-attr).

A value enclosed in [...] is parsed as a bencode list of
space-separated items. If any top-level item contains "=", the
value is parsed as a bencode dictionary instead. Brackets can
be nested for multi-level structures such as:

  rtpengine_offer("codec=[transcode=[PCMA PCMU] strip=[EVS]]");
  rtpengine_offer("sdp-media-remove=[video message image]");

Escape sequences (..) and (--) produce space and equals
respectively, matching the rtpengine daemon convention.

Parsing is done module-side into native bencode structures,
compatible with all rtpengine daemon versions.

Closes: https://github.com/OpenSIPS/opensips/issues/3591

Co-authored-by: Debian <gator at opensips-1.goes.com>



To unsubscribe from these emails, change your notification settings at https://github.com/OpenSIPS/opensips/settings/notifications



More information about the Devel mailing list