[OpenSIPS-Devel] [OpenSIPS/opensips] fa0ff0: Set the dialog lifetime before running the callbac...

Răzvan Crainea razvan at opensips.org
Tue Mar 18 17:18:21 CET 2014


  Branch: refs/heads/1.8
  Home:   https://github.com/OpenSIPS/opensips
  Commit: fa0ff03b2e1f6c080119cb82303239336131e9ac
      https://github.com/OpenSIPS/opensips/commit/fa0ff03b2e1f6c080119cb82303239336131e9ac
  Author: Walter Doekes <walter+github at wjd.nu>
  Date:   2013-09-10 (Tue, 10 Sep 2013)

  Changed paths:
    M modules/dialog/dlg_handlers.c

  Log Message:
  -----------
  Set the dialog lifetime before running the callbacks.

When the timeout_avp is used to shorten the life of dialogs that never
receive an ACK, the timeout_avp is set to a low value at first and later
increased when the ACK is received.

    modparam("dialog", "timeout_avp", "$avp(10)")
    ...
    # If this is an initial INVITE we want the timeout reduced
    # drastically. The B2BUA's use the default timeout of about
    # ~24 seconds. We need to use the same, or a failed call
    # without an ACK may keep lingering for 7200 seconds here.
    # And that, in turn, may trigger call limits, effectively
    # denying the caller access.
    # (The counter starts when the 200 is received.)
    if (is_method("INVITE")) {
  $avp(10) = 24;
    }
    ...
    if (is_method("ACK")) {
  $avp(10) = 7200;  # 2 hours should be enough for everyone :P
    }

Before this change, the `pua_dialoginfo` callback would get the original
value of 24, which it would happily pass along to the presence server.

After this change, the updated value of 7200 is passed along as Expires
value and the presence server doesn't "forget" calls after a while
anymore.


  Commit: 4df8a64db2d4d017a73c6f131b0925a0a82c488c
      https://github.com/OpenSIPS/opensips/commit/4df8a64db2d4d017a73c6f131b0925a0a82c488c
  Author: Răzvan Crainea <razvan at opensips.org>
  Date:   2014-03-18 (Tue, 18 Mar 2014)

  Changed paths:
    M modules/dialog/dlg_handlers.c

  Log Message:
  -----------
  Merge pull request #74 from wdoekes/wjd-timeout_avp_and_publish

Set the dialog lifetime before running the callbacks.


Compare: https://github.com/OpenSIPS/opensips/compare/500b72ef0049...4df8a64db2d4


More information about the Devel mailing list