Create an account | Log in

About

About -> Available Versions -> 3.5.x Releases -> Release 3.5.0

This page has been visited times.


Migration from 3.4.x to 3.5.0


What is new in 3.5.0

OpenSIPS script

  • xlog_print_level - default logging severity for xlog() messaged has been lowered from ERROR (-1) level to NOTICE (2) level
  • The socket parameter can receive a port-range, that can be used to avoid defining the same IP multiple times just for using a different port.

OpenSIPS Core

  • the new move_branch() function allows you to move the information of a specific branch on top of a different one.
  • the swap_branches() function allows you to swap branch information between two existing branches.
  • the set_via_handling() function to control VIA related various behaviors (like rport, tcp aliasing, reply to via, etc)

[NEW] AUTH_AKA module

  • A new module that implements RFC 3310 AKA authentication mechanism. For more information check module's docs.

[NEW] AKA_AV_DIAMETER module

The new AKA_AV_Diameter module is capable of fetching authentication vectors required by auth_aka module through the Cx/Dx Diameter interface.

[NEW] HTTP2D module

An RFC 7540/9113 HTTP/2 server implementation with "h2" ALPN support, based on the nghttp2 library (https://nghttp2.org/).
Module docs: http2d

[NEW] PROTO_IPSEC module

A new protocol module used to establish IPSec tunnels according to the TS 33.203 specifications.
Module docs: proto_ipsec

[NEW] LAUNCH_DARKLY module

This module implements support for the Launch Darkly feature management cloud. The module provide the connectivity to the cloud and the ability to query for feature flags.

[NEW] MQUEUE module

MQUEUE generic message queue system in shared memory for inter-process communication using the config file

[NEW] PRESENCE_REGINFO module

Extension to Presence server for "reg"-events according to RFC 3680

[NEW] PUA_REGINFO module

Publisher for "reg"-events according to RFC 3680

[NEW] SQLOPS module

This module is an offspring of the AVPOPS module. While dropping all the AVP related function (which were obsolete), this new module brings new SQL capabilities:

  • specialized INSERT/SELECT/UPDATE/DELETE functions, with JSON encoded parameters, that are directly using the internal SQL API - this means you can query via all existing DB backends, and also take advantage of prepared statements
  • dedicated query function to return a single row, so not depending on AVPs for simple queries.
  • added support for timing out asynchronous MySQL database queries.

AAA_DIAMETER module

AVPOPS module

  • deprecated in favor of SQLOPS

B2B_ENTITIES module

  • rework the logic in order to have a proper handling of overlaping transactions, as per RFC3261, Section 14.2

B2B_LOGIC module

  • the flag with the late_bye value has been added to the b2b_bridge_request function's parameters to allow delaying the generation of a BYE until the new entity bridging the call establishes it.
  • the old_entity_term_delay parameter has been added to specify the delay for the BYE generation when the late_bye flag is used.

CACHEDB_LOCAL module

CLUSTERER module

DB_TEXT

  • new `buffer_size` parameter to control the size of the buffer used for loading the DB files.

DIALOG module

  • performance: the "dialog values" locking is now independent (per-dialog), rather than re-using the dialog hash locking. In turn, this should not only improve the OpenSIPS throughput on multi-core systems, but also make the dialog API more friendly to program with (mitigating the risk of introducing complex AB/BA deadlocks when developing dialog-client modules).
  • get_profile_size() may now be used from any type of route.
  • the name of the dialog profiles may now contain '-' and '_' chars too

DISPATCHER module

  • "ping_from", "ping_method", and "persistent_state" parameters have been added to the settings that can be defined per dispatcher partition.

DROUTING module

EVENT_RABBITMQ module

  • added new module parameter timeout to indicate how long a RabbitMQ command should be blocking before timing out.

FREESWITCH module

  • several QoL improvements in ESL socket management
    • added exponential backoff behavior when reconnecting to FS (1/5/10/30/90 second retries, counting x20 each)
    • auto-close ESL connections which go unused for a full day
    • freeswitch_esl() will now do a quick-exit in case the socket is down without unnecessarily blocking OpenSIPS (the timer should reconnect the socket anyway)

HTTPD module

  • added new module parameter conn_timeout, in order to auto-close idle TCP connections.

PRESENCE module

  • added new cluster_be_active_shtag module parameter to define a sharing tag to control the node status in HA setups.

PROMETHEUS module

PROTO_HEP module

  • TLS support added as transport protocol

RABBITMQ module

  • added two new module parameter timeout and connect_timeout that indicate how long a RabbitMQ command/connect should be blocking before timing out.

REGEX module

  • two MI functions regex_match and regex_match_group were added to test regular expressions similarly to the way there are checked from the script.

REGISTRAR module

  • remove() may take an extra optional param `bflag` to filter the records to be deleted

SIPMSGOPS module

  • add new script function append_body_to_reply() to be able to add a body to the replies generated by OpenSIPS (in stateless or stateful mode)
  • new sip_to_json() module function to re-pack the current SIP msg into JSON format.

SIPREC module

  • The siprec variable can now receive XML extensions for group and session nodes, as well as for the from_uri and to_uri of the outgoing call.
  • Added group_custom_extension and session_custom_extension to the $siprec variable to specify group and session extensions.
  • The module now replicates information over the B2B cluster, to be able to fallback on a different node.
  • Added support for handling re-INVITEs from SRS.

STIR_SHAKEN module

  • new stir_shaken_disengagement() function which appends the P-Identity-Bypass header field, in accordance with FFT/APNF regulations
  • new e164_max_length modparam, for scenarios where the 15-digit restriction must bypassed. Due to its importance, this parameter has also been backported down to 3.2 version.
  • improve the multi-IDENTITY header management, based on passport type "shaken".

SQL_CACHER module

  • the DOUBLE types are now returned as strings, rather than corrupted numerical values.
  • new bigint_to_str parameter to control how the BIGINT data is returned - integer or string.

TM module

UAC module

  • The uac_inc_cseq function has been added that allows you to increment the CSeq value of an outgoing message.

UAC_REGISTRANT module

  • new failure_retry_interval parameter to control the retry interval in case of failures/errors to register.
  • new reg_force_register MI command to force the (re-)registration of a record (before its normal timeout/retry interval).

USRLOC module


Page last modified on October 01, 2024, at 08:58 am