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

Răzvan Crainea noreply at github.com
Wed Oct 23 09:32:42 UTC 2024


  Branch: refs/heads/3.5
  Home:   https://github.com/OpenSIPS/opensips
  Commit: c8c681a8603238faa510c2924d24fce6d19183b8
      https://github.com/OpenSIPS/opensips/commit/c8c681a8603238faa510c2924d24fce6d19183b8
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2024-10-23 (Wed, 23 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