[OpenSIPS-Devel] [OpenSIPS/opensips] 6e6c60: freeswitch: Avoid failed "unref" operations during...

Liviu Chircu noreply at github.com
Mon Feb 12 15:32:54 UTC 2024


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 6e6c60bd60329e1b0202e7e57cee5f71e2210f34
      https://github.com/OpenSIPS/opensips/commit/6e6c60bd60329e1b0202e7e57cee5f71e2210f34
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M modules/freeswitch/fs_api.c

  Log Message:
  -----------
  freeswitch: Avoid failed "unref" operations during mod init

This fixes a bug where if a FreeSWITCH socket were defined in both
modparam and DB, it would get a +2 ref instead of +1, thus after a DB
removal + reload operation it would remain in a dangling state.

Many thanks to Five9 (https://www.five9.com) for reporting this issue!


  Commit: 01b5fdd555d2d4906847ae0186b00a46bcc905d2
      https://github.com/OpenSIPS/opensips/commit/01b5fdd555d2d4906847ae0186b00a46bcc905d2
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M modules/freeswitch/fs_api.c
    M modules/freeswitch/fs_api.h
    M modules/freeswitch/fs_proc.c
    M modules/freeswitch_scripting/fss_db.c

  Log Message:
  -----------
  freeswitch: Add socket flags; Avoid re-learning user/pass for DB sockets

While re-learning the user/pass for sockets learned through MI makes
sense (same host/port), the same is not valid for DB-provisioned
sockets.  In that case, just update the table & reload.


  Commit: 3e7231cff85a3dca00ddd1cc8ef1fd8e1a0bfae4
      https://github.com/OpenSIPS/opensips/commit/3e7231cff85a3dca00ddd1cc8ef1fd8e1a0bfae4
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M modules/freeswitch/fs_api.h
    M modules/freeswitch/fs_ipc.c
    M modules/freeswitch/fs_proc.c
    M modules/freeswitch_scripting/fss_evs.c
    M modules/freeswitch_scripting/fss_mod.c

  Log Message:
  -----------
  freeswitch: Several improvements to socket management

* add exponential backoff behavior when reconnecting to a FreeSWITCH
   which is down (1/5/10/30/90 second retries, counting x20 each)

* add monitoring for the ESL command activity of sockets.  Specifically,
   the module now remembers the last ESL command and will reap sockets
   which both do not have event subscriptions and have not run an ESL
   command in the last 86400 seconds.

* freeswitch_esl() will now return faster in case the connection is
   down (the lock might still be grabbed by the timer, reconnecting...),
   thus minimizing the risk of a service outage.

* improved handling for connect error cases (fd management)


  Commit: edf21b1b99572bc9876801febda2caf37058770c
      https://github.com/OpenSIPS/opensips/commit/edf21b1b99572bc9876801febda2caf37058770c
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M status_report.c
    M status_report.h

  Log Message:
  -----------
  Status/Report: Improve function prototype


Compare: https://github.com/OpenSIPS/opensips/compare/93e90a5ac3a3...edf21b1b9957



More information about the Devel mailing list