[OpenSIPS-Devel] [OpenSIPS/opensips] 067248: dialog: accurate match of outgoing legs

Răzvan Crainea noreply at github.com
Thu Oct 24 15:53:21 UTC 2024


  Branch: refs/heads/3.4
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 06724800b0fa91881dce7aa246e65531612621d9
      https://github.com/OpenSIPS/opensips/commit/06724800b0fa91881dce7aa246e65531612621d9
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2024-10-24 (Thu, 24 Oct 2024)

  Changed paths:
    M modules/dialog/dlg_handlers.c
    M modules/tm/t_cancel.c
    M modules/tm/t_fwd.c

  Log Message:
  -----------
  dialog: accurate match of outgoing legs

The initial code assumes that for each transaction branch, we serially
create a dialog leg - therefore, when a reply is received for a specific
branch, we match the leg based on its index.
This logic breaks when having a branch that has no outgoing leg/message
(i.e. when push notification is used), because the dialog legs id gets
offsetted by the number of "blind" branches, thus we are no longer able
to properly match the reply with the leg.
This fix makes sure that when creating a let, it has the same index as
the transaction's branch id, hence the reply is properly matched.

(cherry picked from commit 5280c86a100ad9414e9beeca620648d8388bab42)



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



More information about the Devel mailing list