[OpenSIPS-Devel] [OpenSIPS/opensips] 94d497: dialog: Minor rewrite of get_timeout_dlgs()

Liviu Chircu noreply at github.com
Tue Jun 22 12:16:26 EST 2021


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 94d497c40a342f9db9742a2b9faec64092752504
      https://github.com/OpenSIPS/opensips/commit/94d497c40a342f9db9742a2b9faec64092752504
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2021-06-22 (Tue, 22 Jun 2021)

  Changed paths:
    M modules/dialog/dlg_req_within.h
    M modules/dialog/dlg_timer.c

  Log Message:
  -----------
  dialog: Minor rewrite of get_timeout_dlgs()

    * re-define the ping state values, as they are NOT meant to be
        combined or checked as a bitmask (they are mutually exclusive)

    * eliminate copy-pasted list detachment blocks (merge into one "if")

(cherry picked from commit d1e2fdc5f44b1950d65ddcb4c97fc0d2d93d49e6)
(cherry picked from commit 4b6097de408ab93682ee719764f12aba3d5b552c)


  Commit: 048ca1a72fc14e83e0974d3ba17c5a3ea787c4f0
      https://github.com/OpenSIPS/opensips/commit/048ca1a72fc14e83e0974d3ba17c5a3ea787c4f0
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2021-06-22 (Tue, 22 Jun 2021)

  Changed paths:
    M modules/dialog/dlg_timer.c

  Log Message:
  -----------
  dialog pinging: Avoid nested pinging transactions

This fixes a rare condition that could occur whenever the
OPTIONS/Re-INVITE pinging interval was lower than the SIP transaction
timeout (typically 15 seconds, so a pinging interval of < 15 seconds).

In this case, a new pinging transaction would be continuously started,
before the previous one would get the chance to complete, e.g. with 408
Timeout for a dead SIP endpoint.

Fixes #2535

(cherry picked from commit ae1ffaf892f6a018bb1639d39665fffbe6bb3a1e)


Compare: https://github.com/OpenSIPS/opensips/compare/415b6d8cb671...048ca1a72fc1



More information about the Devel mailing list