[OpenSIPS-Devel] [OpenSIPS/opensips] f0223c: [tm] migrate the branch bitmask to array, to allow...

Bogdan Andrei IANCU noreply at github.com
Fri Feb 13 15:45:16 UTC 2026


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: f0223cc93417cb848ab85c2ca2765d1a4958dcd1
      https://github.com/OpenSIPS/opensips/commit/f0223cc93417cb848ab85c2ca2765d1a4958dcd1
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-02-09 (Mon, 09 Feb 2026)

  Changed paths:
    M modules/cgrates/cgrates_acc.c
    M modules/pua_dialoginfo/pua_dialoginfo.c
    M modules/tm/mi.c
    M modules/tm/t_cancel.c
    M modules/tm/t_fwd.c
    M modules/tm/t_reply.c
    M modules/tm/t_reply.h
    M modules/tm/timer.c
    M modules/tm/tm.c

  Log Message:
  -----------
  [tm] migrate the branch bitmask to array, to allow more than 64 branches (long long)

branch_bm_t data type is an array of integers, currently limited to 256 branches (but can easily increased, by re-compiling)
Added macros to operate with the bits in the bitmask
Updated TM and all modules using TM branches


  Commit: 7b83cabb916d5bf7ae2d0fc20978aac625872758
      https://github.com/OpenSIPS/opensips/commit/7b83cabb916d5bf7ae2d0fc20978aac625872758
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-02-10 (Tue, 10 Feb 2026)

  Changed paths:
    M modules/tm/async.c
    M modules/tm/h_table.c
    M modules/tm/h_table.h
    M modules/tm/t_cancel.c
    M modules/tm/t_cancel.h
    M modules/tm/t_fwd.c
    M modules/tm/t_lookup.c
    M modules/tm/t_msgbuilder.c
    M modules/tm/t_reply.c
    M modules/tm/t_reply.h
    M modules/tm/timer.c
    M modules/tm/tm.c
    M modules/tm/uac.c

  Log Message:
  -----------
  [tm] migrated to dynamic allocated branches per transaction

This allow a really high number of branches per transaction (like the default is 256, but can be increased). The branches are dynamically allocated, on demand, so some transactions which are not subjet to forking (typically non-INVITE) may have the minimum of 4 branches, while the INVITE transaction, depending on the need can scale up to 256


  Commit: 629851f5a84e31cd628e79a5c55f0a874c302bf3
      https://github.com/OpenSIPS/opensips/commit/629851f5a84e31cd628e79a5c55f0a874c302bf3
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-02-10 (Tue, 10 Feb 2026)

  Changed paths:
    M modules/acc/acc_logic.c
    M modules/b2b_entities/dlg.c
    M modules/compression/compression.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_hash.c
    M modules/pua_dialoginfo/pua_dialoginfo.c
    M modules/tracer/tracer.c
    M modules/uac/auth.c
    M modules/uac_redirect/rd_funcs.c
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  updated modules acessing transaction branches

related to 7b83cabb916d5bf7ae2d0fc20978aac625872758. The access to a transaction branch is done via a macro in order to get on the right chunk of the branch.


  Commit: a9c396daa68cfcd2e7f480017e6ca3ef8be0f102
      https://github.com/OpenSIPS/opensips/commit/a9c396daa68cfcd2e7f480017e6ca3ef8be0f102
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-02-10 (Tue, 10 Feb 2026)

  Changed paths:
    M modules/tm/h_table.c
    M modules/tm/h_table.h
    M modules/tm/t_fwd.c
    M modules/tm/t_lookup.c
    M modules/tm/tm.c

  Log Message:
  -----------
  [tm] fix branch init after dynamic alloc

Related to 7b83cabb916d5bf7ae2d0fc20978aac625872758


  Commit: d4ce9bbc62b22598acc8c6add34ce2132326b18d
      https://github.com/OpenSIPS/opensips/commit/d4ce9bbc62b22598acc8c6add34ce2132326b18d
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-02-13 (Fri, 13 Feb 2026)

  Changed paths:
    M modules/acc/acc_logic.c
    M modules/b2b_entities/dlg.c
    M modules/cgrates/cgrates_acc.c
    M modules/compression/compression.c
    M modules/dialog/dlg_handlers.c
    M modules/dialog/dlg_hash.c
    M modules/pua_dialoginfo/pua_dialoginfo.c
    M modules/tm/async.c
    M modules/tm/h_table.c
    M modules/tm/h_table.h
    M modules/tm/mi.c
    M modules/tm/t_cancel.c
    M modules/tm/t_cancel.h
    M modules/tm/t_fwd.c
    M modules/tm/t_lookup.c
    M modules/tm/t_msgbuilder.c
    M modules/tm/t_reply.c
    M modules/tm/t_reply.h
    M modules/tm/timer.c
    M modules/tm/tm.c
    M modules/tm/uac.c
    M modules/tracer/tracer.c
    M modules/uac/auth.c
    M modules/uac_redirect/rd_funcs.c
    M modules/uac_registrant/registrant.c

  Log Message:
  -----------
  Merge branch 'feature/dynamic_branches'


Compare: https://github.com/OpenSIPS/opensips/compare/05ccaa2a03f7...d4ce9bbc62b2

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



More information about the Devel mailing list