From openSIPS

About: Version-3-0-0

About -> Available Versions -> 3.0.x Releases -> Release 3.0.0

This page has been visited 7485 times.

Table of Content (hide)

  1. 1. Migration from 2.4.x to 3.0.0
  2. 2. What is new in 3.0.0
    1. 2.1 OpenSIPS script
    2. 2.2 OpenSIPS core
    3. 2.3 Routing Script Reload
    4. 2.4 Processes Auto-Scaling Support
    5. 2.5 Generic Preprocessor Support
    6. 2.6 New OpenSIPS CLI (Command Line Interface) tool
    7. 2.7 Selectable Memory Allocator Support
    8. 2.8 Internal Memory Persistence during Restart
    9. 2.9 MI Interaction Standardization
    10. 2.10 Module Functions Now Benefit From a New Parameter Interface
    11. 2.11 SMPP module (NEW)
    12. 2.12 RABBITMQ_CONSUMER (NEW)
    13. 2.13 TLS_MGM module
    14. 2.14 AUTH_AAA module
    15. 2.15 AUTH_DB module
    16. 2.16 AVPOPS module
    17. 2.17 CACHEDB_LOCAL module
    18. 2.18 CLUSTERER module
    19. 2.19 DB_MYSQL module
    20. 2.20 DB_POSTGRES module
    21. 2.21 DIALOG module
    22. 2.22 DISPATCHER module
    23. 2.23 DROUTING module
    24. 2.24 EVENT_FLATSTORE module
    25. 2.25 EVENT_ROUTING module
    26. 2.26 LOAD_BALANCER module
    27. 2.27 NAT_TRAVERSAL module
    28. 2.28 NATHELPER module
    29. 2.29 PRESENCE module
    30. 2.30 REGISTRAR module
    31. 2.31 REST_CLIENT module
    32. 2.32 RTPPROXY module
    33. 2.33 RTPENGINE module
    34. 2.34 SIPMSGOPS module
    35. 2.35 URI module (removed)
    36. 2.36 USRLOC module

Get familiar with the philosophy behind this release by reading the OpenSIPS 3.0 Overview.

1.  Migration from 2.4.x to 3.0.0


2.  What is new in 3.0.0

2.1  OpenSIPS script

2.2  OpenSIPS core

2.3  Routing Script Reload

OpenSIPS 3.0 exposes the valuable ability of reloading the routes (not the module configuration) during runtime, with zero penalties and with zero SIP traffic losses. See the documentation of the MI "reload_routes" function.

2.4  Processes Auto-Scaling Support

This is the ability of OpenSIPS to scale up and down the number of processes at runtime. Basically OpenSIPS is able to automatically scale up (by forking new processes) according to the volume of traffic, or to scale down (terminating some worker processes) if the internal load is low. This means you do not have to worry if your estimation on the number for worker processes is correct or not (will my OpenSIPS hold to the traffic??) or to worry about planning restarts during the night (to manually resize the number of processes).
Read a full description of this feature here.

2.5  Generic Preprocessor Support

This feature adds full built-in pre-processing support for the OpenSIPS script, allowing any external pre-processor to be seamlessly integrated without the need for an additional, encapsulating file type. This simplifies the management of the script, the script's portability across multiple servers and not to mention the entire deployment process of more complex platforms, where OpenSIPS is just a part of them. In addition, you are now able to use your preferred pre-processor and align OpenSIPS templating with the rest of your system (M4, Jinja, Embedded Ruby or others).
Read a full description of this feature here.

2.6  New OpenSIPS CLI (Command Line Interface) tool

Starting with OpenSIPS 3.0, the old opensipsctl tool becomes deprecated (as functionality and as software) and it is replaced by the new opensips-cli - a powerful Python3-based console environment that allows you to interact in a smart way with OpenSIPS, to invoke advanced tools such as diagnose or tracer, as well as to perform DB provisioning. Read a full description of opensips-cli here.

2.7  Selectable Memory Allocator Support

This feature allows the internal memory manager to be selected at startup time. In OpenSIPS 3.0, the memory manager selection becomes a startup option, via command line arguments, allowing you to change it without any need to recompile or redeploy. Read a full description of this feature here.

2.8  Internal Memory Persistence during Restart

As there are several modules caching (in OpenSIPS internal memory, not in external no-sql cachers) large chunks of data, like Dynamic Routing, Dialplan, Dispatcher or Permissions, OpenSIPS 3.0 is able to avoid the data loading and caching penalty during a restart - this segments of the internal memory do "survive" during the restart. This dramatically reduces the time to restart of the entire service.
Read a full description of this feature here.

2.9  MI Interaction Standardization

An extensive rework of the Management Interface in an attempt to standardize and speed up development of external applications which need to interact with OpenSIPS. The custom, JSON-based HTTP calls of OpenSIPS 2.X are now replaced with the JSON-RPC version 2 standard. The custom, line-oriented syntax was completely dropped. XMLRPC and mi_html (former mi_http) were kept backwards-compatible. Read a detailed description of the new interactions here

2.10  Module Functions Now Benefit From a New Parameter Interface

As a response to frequent mailing list complaints of wildly varying behaviors across different module functions (e.g. some accept integers/strings as inputs while others accept both integers/strings or variables holding such values), we've introduced an abstract layer which handles the parameter passing task for all module functions, effectively making all of them more powerful by globally allowing flexible input. An added benefit is that new OpenSIPS modules are now even faster to develop. See the new function calling conventions here.

2.11  SMPP module (NEW)

OpenSIPS 3.0 provides a new SMPP module that allows you to do bidirectional gatewaying between SIP and SMPP traffic - this is a powerful but flexible way to integrate with most of the SMS providers / gateways. Read a full description of this feature here.

2.12  RABBITMQ_CONSUMER (NEW)

A new RabbitMQ consumer module which manages connections with one or more brokers, subscribes for events and propagates them at OpenSIPS script level via the event interface.

2.13  TLS_MGM module

2.14  AUTH_AAA module

2.15  AUTH_DB module

2.16  AVPOPS module

2.17  CACHEDB_LOCAL module

2.18  CLUSTERER module

2.19  DB_MYSQL module

2.20  DB_POSTGRES module

2.21  DIALOG module

2.22  DISPATCHER module

2.23  DROUTING module

2.24  EVENT_FLATSTORE module

2.25  EVENT_ROUTING module

2.26  LOAD_BALANCER module

2.27  NAT_TRAVERSAL module

2.28  NATHELPER module

2.29  PRESENCE module

2.30  REGISTRAR module

2.31  REST_CLIENT module

2.32  RTPPROXY module

2.33  RTPENGINE module

2.34  SIPMSGOPS module

2.35  URI module (removed)

2.36  USRLOC module


Retrieved from https://www.opensips.org/About/Version-3-0-0
Page last modified on January 13, 2021, at 01:00 PM