Login | Register

About

About -> Available Versions -> 3.6.x Releases -> Release 3.6.0

This page has been visited 877 times.


1.  Migration from 3.5.x to 3.6.0


2.  What is new in 3.6.0

2.1  OpenSIPS script

2.2  OpenSIPS Core

  • Added the $return variable which can be used to retrieved the return value of the previously executed route.
  • Routes can return different variables through the return() function.
  • New {s.date2unix} transformation, for easily parsing and/or validating the RFC-3261 format of the SIP "Date" header
  • A new class of pseudo-variables had been added, $challenge.* that allows you to read information present in the WWW-Authorize or Proxy-Authorize headers.
  • new option to set the TOS per socket (versus the global option)
  • the $socket_out variable has been enhanced with the forced subfield, which returns NULL in case no socket has been explicitly enforced/set.

2.3  [NEW] CACHEDB_DYNAMODB module

  • The new cachedb_dynamodb module has been added to provide integration with Amazon's DynamoDB database.

2.4  [NEW] EVENT_SQS module

  • The new event_sqs module is an implementation of an Amazon SQS producer.

2.5  [NEW] JANUS module

  • The new Janus module provides a WEB Socket connector for running commands on Janus server.

2.6  [NEW] TRIE module

  • The new trie module provides a fast, small memory foot-print, storing and searching of numbers.

2.7  [NEW] EXAMPLE module

  • The new example module has been added to be used as a starting point for writing new modules.

2.8  AKA_AV_Diameter module

  • A new parameter has been added named server_uri that allows you to customize the value of the Server-Name value in the Diameter queries.

2.9  B2B_Entities module

2.10  CACHEDB_CASSANDRA module

  • added support for authenticating - user and password in DB URL - the connections to a Cassandra server.

2.11  CACHEDB_REDIS module

  • added support for column-oriented cacheDB operations, using Redis Stack Server features such as RedisJSON and RediSearch. This now allows cachedb_redis to be used as backend for the user location (usrloc) module, in both Federation and Full-Sharing modes of operation. The Redis server-side JSON support is auto-detected, with appropriate startup logs being displayed (zero-configuration).

2.12  CLUSTERER module

  • Enhanced cluster_broadcast_req() script function with the ability to optionally include the current (self) node in the list of broadcast destinations.

2.13  DB_MYSQL module

  • Added support for UNIX Socket DB URLs, e.g. "mysql://username:pwd@unix(/var/lib/mysql/mysql.sock)/opensips"

2.14  DIALOG module

  • the $dlg_val variable now also accepts a dynamic name, e.g. $dlg_val($var(name)), where $var(name) = "branch-" + $T_branch_idx;
  • the dlg_inc_cseq() function has been added to allow you modify the dialog's CSeq for a particular leg.
  • new set_dlg_profile and unset_dlg_profile MI functions were added, with the same functionality as the script functions.

2.15  DISPATCHER module

  • NEW ping_sock= configuration option for the partition module parameter, for customizing the ping origination socket
  • the dlg_inc_cseq() function has been added to allow you modify the dialog's CSeq for a particular leg.

2.16  JSON module

2.17  PROMETHEUS module

2.18  MEDIA_EXCHANGE module

  • All the media_fork_*() functions had been enhanced with a new instance parameter, that allows you to start multiple media fork sessions and control them based on the instance.

2.19  MQUEUE module

  • A new parameter has been added to the mq_fetch MI command that can help you fetch multiple items from the queue at once.

2.20  PERMISSIONS module

  • removed 128 subnets limitation (any number of subnets can be loaded from DB now)
  • improved address lookup performance thanks to internal data structures rework (now using trie-like data structures in order to store & walk IP address bits)
  • all MI input/output is fully-backwards compatible with previous versions

2.21  RATELIMIT module

  • A new function was added, rl_values() that can be used to retrieve all the pipes' names available.

2.22  RTP_RELAY module

  • The module can call a set of routes when media/SDP events are triggered - this can be used to perform custom RTP relaying operations.

2.23  RTPEngine module

  • The rtpengine_stop_media() function can receive an extra parameter that returns the position of the last media file played.
  • Added ping_enabled parameter that makes the module ping enabled nodes as well, if they are idle.
  • The rtpengine_enable MI command has been enhanced to allow setting a node in probing mode.
  • A new parameter named extra_failover_error has been added that allows you to failover to a new node in case of custom errors reported by RTPengine.
  • The E_RTPENGINE_STATUS event contains a new set parameter which helps you differentiate between multiple events of the same socket in different sets.
  • Added the rtpengine_pause_recording() function to pause recording sessions started from script.

2.24  RTPProxy module

  • The rtporoxy_enable MI command has been enhanced to allow setting a node in probing mode.

2.25  SIPREC module

  • Two new events have been added, E_SIPREC_START and E_SIPREC_STOP, that are being triggered when a SIPREC session is started and terminated/stopped.

2.26  Topology Hiding module

  • The topology_hiding function has been enhanced with the possibility to enfoce ca particular Contact username in one of the legs.

2.27  UUID module

  • added support for UUIDv7, which is accessible via the uuid() UUID module function.

Page last modified on April 01, 2025, at 04:47 PM