Development |
Development.Opensips-3-6-Planning HistoryHide minor edits - Show changes to markup January 15, 2025, at 05:32 PM
by
- Changed line 65 from:
We try to update the list items with their development status, so you can have a clear view over the 3.4 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.4. to:
We try to update the list items with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6. January 15, 2025, at 05:25 PM
by
- Changed line 74 from:
to:
Changed line 76 from:
to:
Changed line 81 from:
to:
January 15, 2025, at 04:06 PM
by
- Added lines 60-86:
Poll ResultsMany thanks to everyone who voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list items with their development status, so you can have a clear view over the 3.4 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.4.
January 10, 2025, at 03:01 PM
by
- Changed line 58 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2025), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 14th January 2025), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 03, 2024, at 01:20 PM
by
- Changed line 58 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2025), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2025), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 03, 2024, at 01:07 PM
by
- Changed lines 42-44 from:
to:
Want to provide feedback? See below Added lines 55-58:
Vote your Favorite Features!We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2025), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 03, 2024, at 01:03 PM
by
- Changed lines 40-41 from:
to:
Changed lines 48-50 from:
to:
December 03, 2024, at 12:41 PM
by
- Changed lines 24-38 from:
to:
December 02, 2024, at 06:03 PM
by
- Changed line 9 from:
Bits and pieces of the IMS (IP Multimedia Subsystem) topic were part of the previous OpenSIPS release, but 3.6 aims to fully focus on the IMS part. Considering the traction and need of IMS solutions, we see the implementation of a consistent and large IMS support in OpenSIPS as a mandatory step in order to answer to the needs of the industry. to:
The 3.6 version needs a special attention as (a) it will be an LTS release and (b) it will be the one ending the 3.x series. So, closing the circle with the 3.0 release which started the 3.x series, the 3.6 release will be focused on 'operational improvement'. As a note, 3.0 was focused on DevOps. Changed line 12 from:
The IMS topic is a large one, transcending the SIP protocol and the scope of OpenSIPS. So, the OpenSIPS 3.6 will identify and work out the parts of the IMS ecosystem which are based or related to SIP, of course. to:
The 'operational improvement' translates into introducing and enhancing in OpenSIPS features / capabilities that (1) improve and (2) simplify the operational activities when comes to running and managing OpenSIPS. Changed lines 19-50 from:
StrategyAs said, the IMS topic is a very large and complex one. Secondly, one goal here is to design and implement an IMS support that is truly able to provide solutions for the industry. So, a quite extensive stage of exploring, understanding and designing on the IMS ecosystem will be required in a first stage. The IMS Working GroupTo facilitate this exchange of information and ideas between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discuss on a specific topic. Starting pointhttps://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims-dia.png As said, the IMS topic is a vast one and the IMS OpenSIPS Working Group will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are not drawing any borders / limits, just considering some starting points for further discussions. Some points
to:
Operational aspectsSeveral enhancements and new concepts are planned for OpenSIPS 3.6 in order to help with operating OpenSIPS - making it simpler to run, to monitor, to troubleshoot and diagnose:
OpenSIPS scriptingThis is about improving the experience of the OpenSIPS script writer (developer), by enhancing and simplifying the OpenSIPS script:
February 02, 2024, at 08:42 PM
by
- Changed line 47 from:
to:
November 14, 2023, at 03:41 PM
by
- Changed line 27 from:
To facilitate this exchange of information and ideas between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discuss on a specific topic.\\ to:
To facilitate this exchange of information and ideas between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discuss on a specific topic.\\ Changed line 29 from:
The first to be created is the IMS OpenSIPS Working Group (IMS WG) - the resource here is a dedicated mailing list where people with interest in IMS may join and contribute to the drafting, designing and implementation of the IMS support in OpenSIPS. Of course, anyone is welcome, the list is a self-subscription list. The group will share a GitHUB WIKI resources also. \\ to:
The first to be created is the IMS OpenSIPS Working Group (IMS OWG) - the resource here is a dedicated mailing list where people with interest in IMS may join and contribute to the drafting, designing and implementation of the IMS support in OpenSIPS. Of course, anyone is welcome, the list is a self-subscription list. The group will share a GitHUB WIKI resources also. \\ November 14, 2023, at 03:16 PM
by
- Changed lines 22-24 from:
As said, the IMS topic is a very large and complex one. Secondly, one goal here it to design and implement an IMS support that is truly able to provide solutions for the industry. So, a quite extensive stage of exploring, understanding and designing on the IMS ecosystem will be required in a first stage. to:
As said, the IMS topic is a very large and complex one. Secondly, one goal here is to design and implement an IMS support that is truly able to provide solutions for the industry. So, a quite extensive stage of exploring, understanding and designing on the IMS ecosystem will be required in a first stage. Changed line 27 from:
To facilitate this exchange of information and idea between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discus on a specific topic.\\ to:
To facilitate this exchange of information and ideas between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discuss on a specific topic.\\ Changed line 29 from:
The first to be created is the IMS OpenSIPS Working Group (IMS WG) - the resource here is a dedicated mailing list where people with inters in IMS may join and contribute to the drafting, designing and implementation of the IMS support in OpenSIPS. Of course, anyone is welcome, the list is a self-subscription list. The group will share a GitHUB WIKI resource also. \\ to:
The first to be created is the IMS OpenSIPS Working Group (IMS WG) - the resource here is a dedicated mailing list where people with interest in IMS may join and contribute to the drafting, designing and implementation of the IMS support in OpenSIPS. Of course, anyone is welcome, the list is a self-subscription list. The group will share a GitHUB WIKI resources also. \\ Changed line 39 from:
As said, the IMS topic is a wast one and the IMS OpenSIPS Working Group will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing any borders / limits, just consider some starting points for the further discussions.\\ to:
As said, the IMS topic is a vast one and the IMS OpenSIPS Working Group will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are not drawing any borders / limits, just considering some starting points for further discussions.\\ Changed line 41 from:
Getting a bit in details, we have wish-list for the IMS work (again, as starting points), but the actual points to be targeted by the OpenSIPS 3.6 implementation will take shape (and get published) once the IMS OpenSIPS Working Group will produce its requirements. to:
Getting a bit in details, we have a starting wish list for the IMS work, but the actual points to be targeted by the OpenSIPS 3.6 implementation will take shape (and get published) once the IMS OpenSIPS Working Group will produce its requirements. November 14, 2023, at 03:12 PM
by
- Changed line 9 from:
Bits and pieces of the IMS (IP Multimedia Subsystem) topic were part of the previous OpenSIPS release, but 3.6 aims to totally focus on the IMS part. Considering the traction and need of IMS solutions, we see the implementation of a consistent and large IMS support in OpenSIPS as a mandatory step in order to answer to the needs of the industry. to:
Bits and pieces of the IMS (IP Multimedia Subsystem) topic were part of the previous OpenSIPS release, but 3.6 aims to fully focus on the IMS part. Considering the traction and need of IMS solutions, we see the implementation of a consistent and large IMS support in OpenSIPS as a mandatory step in order to answer to the needs of the industry. Changed line 12 from:
The IMS topic is a large one, transcending the SIP protocol and the scope of OpenSIPS. So, the OpenSIPS 3.6 will identify and work out the parts of the IMS ecosystem which are based or related to SIP of course. to:
The IMS topic is a large one, transcending the SIP protocol and the scope of OpenSIPS. So, the OpenSIPS 3.6 will identify and work out the parts of the IMS ecosystem which are based or related to SIP, of course. November 14, 2023, at 03:11 PM
by
- Changed line 27 from:
To facilitate this exchange of informatin and idea between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discus on a specific topic.\\ to:
To facilitate this exchange of information and idea between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discus on a specific topic.\\ November 14, 2023, at 03:11 PM
by
- Changed line 31 from:
The IMS OpenSIPS WG will shortly starts its activity by building a set of requirements for the IMS support in OpenSIPS. to:
The IMS OpenSIPS WG will shortly start its activity by building a set of requirements for the IMS support in OpenSIPS. November 14, 2023, at 03:09 PM
by
- Changed line 29 from:
The first to be created is the IMS Working Group (IMS WG) - the resource here is a dedicated mailing list where people with inters in IMS may join and contribute to the drafting, designing and implementation of the IMS support in OpenSIPS. Of course, anyone is welcome, the list is a self-subscription list. The group will share a GitHUB WIKI resource also. \\ to:
The first to be created is the IMS OpenSIPS Working Group (IMS WG) - the resource here is a dedicated mailing list where people with inters in IMS may join and contribute to the drafting, designing and implementation of the IMS support in OpenSIPS. Of course, anyone is welcome, the list is a self-subscription list. The group will share a GitHUB WIKI resource also. \\ Changed line 39 from:
As said, the IMS topic is a wast one and the IMS Working Group (IMS WG) will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing any borders / limits, just consider some starting points for the further discussions.\\ to:
As said, the IMS topic is a wast one and the IMS OpenSIPS Working Group will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing any borders / limits, just consider some starting points for the further discussions.\\ Changed line 41 from:
Getting a bit in details, we have wish-list for the IMS work (again, as starting points), but the actual points to be targeted by the OpenSIPS 3.6 implementation will take shape (and get published) once the IMS Working Group (IMS WG) will produce its requirements. to:
Getting a bit in details, we have wish-list for the IMS work (again, as starting points), but the actual points to be targeted by the OpenSIPS 3.6 implementation will take shape (and get published) once the IMS OpenSIPS Working Group will produce its requirements. November 14, 2023, at 03:02 PM
by
- Changed lines 43-44 from:
CSCF pointsto:
Some pointsChanged lines 50-56 from:
RCS points
to:
November 14, 2023, at 01:52 PM
by
- Changed line 39 from:
As said, the IMS topic is a wast one and the IMS Working Group (IMS WG) will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing an\\y borders / limits, just consider some starting points for the further discussions. to:
As said, the IMS topic is a wast one and the IMS Working Group (IMS WG) will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing any borders / limits, just consider some starting points for the further discussions.\\ November 14, 2023, at 01:51 PM
by
- Changed lines 39-41 from:
As said, the IMS topic is a wast one and the IMS Working Group (IMS WG) will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing any borders / limits, just consider some starting points for the further discussions. to:
As said, the IMS topic is a wast one and the IMS Working Group (IMS WG) will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing an\\y borders / limits, just consider some starting points for the further discussions.
November 14, 2023, at 01:48 PM
by
- Changed line 5 from:
https://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims.jpg to:
https://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims.jpg Changed lines 37-38 from:
https://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims-dia.png to:
https://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims-dia.png Added lines 40-54:
CSCF points
RCS points
November 14, 2023, at 01:40 PM
by
- Changed lines 25-29 from:
to:
The IMS Working GroupTo facilitate this exchange of informatin and idea between all the IMS-interested parties, we considered adding a new mechanism into the OpenSIPS project, namely the Working Groups - a gathering of people to focus and discus on a specific topic. Changed lines 34-35 from:
to:
Starting pointhttps://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims-dia.png As said, the IMS topic is a wast one and the IMS Working Group (IMS WG) will have the task of exploring and identifying the requirements for OpenSIPS 3.6. Still, we need a starting point, and here we consider for sure the Control Layer, mainly the CSCF with all its components. Again, we are note drawing any borders / limits, just consider some starting points for the further discussions. November 14, 2023, at 01:10 PM
by
- Changed line 5 from:
https://cdn.fcw.com/media/img/cd/2021/12/12/consolidate_puzzle/860x394.jpg to:
https://blogopensips.files.wordpress.com/2023/11/opensips-3.6-ims.jpg Changed lines 9-12 from:
Various topics were addressed by the past releases, but most of the work with regards to each topic was mainly covered within a single release, so limited in terms of allocated resources (time and man-power). And some of these past topics are actually wider than what we managed to deliver. This is why the upcoming OpenSIPS 3.6 wants to address the consolidation of various past topics, to complete or even expand them. But one of the most important sides of this consolidation process is the testing of OpenSIPS, from the performance and conformity perspective. This testing is a long overdue task that definitely needs to be addressed. to:
Bits and pieces of the IMS (IP Multimedia Subsystem) topic were part of the previous OpenSIPS release, but 3.6 aims to totally focus on the IMS part. Considering the traction and need of IMS solutions, we see the implementation of a consistent and large IMS support in OpenSIPS as a mandatory step in order to answer to the needs of the industry.
Added lines 19-25:
StrategyAs said, the IMS topic is a very large and complex one. Secondly, one goal here it to design and implement an IMS support that is truly able to provide solutions for the industry. So, a quite extensive stage of exploring, understanding and designing on the IMS ecosystem will be required in a first stage. Changed lines 27-42 from:
TestingTesting is important to maintain the health of the code, in terms of functionality as well as performance. In other words, testing is needed to be sure OpenSIPs works correctly and performs as fast as expected. For each type of test (performance and conformity) we want to have in place tools, methodologies and mechanisms to ensure a continuous and automatic process of testing. Performance testingThe last performance tests were done quite a long time ago. OpenSIPS as base code and module has dramatically evolved since then, so a re-evaluation is mandatory. It is important to know where we are in terms of performance (the throughput in various scenarios) as well as to understand the limitations of OpenSIPS. Part of these tests, for code profiling, will be done in order to identify potential bottlenecks and to work them out, as we aim to optimize the slowest parts. Here we target building an Ansible based test bed that can be quickly deployed in cloud (or any VMs) for performing stress tests based on some pre-defined SIPP scenarios. Conformity testingThere are dozens of functionalities (registration, authentication, call routing, accounting, dialog, b2b and others), complex functionalities, which often inter-operate -- they may depend on each other. So even the smallest changes or extensions in one part of the code may impact unrelated functionalities in unexpected ways. The validation of the code and the detection of possible regressions must be done via a continuous testing of OpenSIPS. The testing is to be done at SIP level, by running various SIP flows on OpenSIPS, as a black box, and observing its behavior and output. The intention here is to build a framework (Docker based) that will allow the creation of any new SIP scenarios. The scenarios will involve various entities, like SIP UAs, DBs, provisioning tools, etc. New such entities (as Docker images) may be added at any time, further down the line. Important, this testing frame will allow the testing of an OpenSIPS instance (1) either running as entity in the testing platform, (2) either running external to the testing platform. to:
Area of interestDeleted lines 30-92:
MSRPIM chat groupThe current IMC module is oldish, supporting only Page Mode for IM and only an IRC-based way of functioning. A refurbish of this module in order to (1) support Session Mode IM (MSRP) as well, (2) to provide a more flexible and modern way of managing the chat rooms (not IRC based) and (3) to provide an API to allow the integration of IM with WEB services. MSRP reportingAdd support for requesting MSRP reports when OpenSIPS is acting as MSRP UA. End-2-end encryptionEvaluate (and implement) support for e2e encryption of the MSRP traffic Instant Message Disposition NotificationEvaluate (and implement) support for RFC 5438 - Instant Message Disposition Notification - for the MSRP traffic (delivery / read reports, typing events) IMSThe IMS topic was part of several OpenSIPS releases (mainly from the Diameter support perspective). We still have to address couple of points before truly saying that OpenSIPS is IMS capable, like the IPSec support, SIP Outbound support (RFC 5626) and other small/medium items. Also the plan is to start drafting basic OpenSIPS cfg samples for the SIP network entities (P-CSCF, I-CSCF, S-CSCF) in IMS. The SIP Back-2-BackAfter the major change in the B2B support, when the XML control logic was replaced with a script driven logic, several improvements/fixes are still due here:
MiscellaneousStructured SDP manipulationInstead of using regexp-based changes over the SDP, we envision a structured way of accessing and modifying the SDP payload, by using easy variables. All the changes will be visible on the spot. This will allow multiple changes over the SDP, from script or modules, while keeping a single, consistent data set. For example, if you change an "a" line in the SDP from script level, the change will be visible to RTPengine. Furthermore, the new SDP from RTPengine will be visible (and changeable) at script level. Federated usrloc: add support for SQL “metadata” DBGiven that there are so many scalable and popular SQL solutions nowadays (Redis Cluster, Percona PXC, YugaByte, etc.), one idea is to add support for the federated usrloc cluster to work with them. With the current solution (originally designed in 2018), you most often end up maintaining an additional NoSQL cluster just for storing user location metadata, which although seems nice from a separation (microservices) point of view, the load on this cluster is not that high and it could very well work with just an extra database in your SQL cluster dedicated to this purpose. GitHub#2908 AVPops re-workAs most of the strictly AVP related functions are obsolete (already doable in different ways via core functions), the module is to be converted to an SQL ops module. Whatever AVP specific functionalities are still present in avpops (only), are to be migrated into OpenSIPS core. DialogSimilar to the message / branch flags, the dialog flags needs to support names too. Something important here is to extend the dialog variables to also support numerical values (currently supporting only strings). Changed line 32 from:
to:
Testing May 23, 2023, at 07:51 PM
by
- Deleted lines 95-125:
Vote your Favorite Features!We are undergoing an OpenSIPS 3.6 Feature Survey (due 18th January 2023), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you!
Poll ResultsMany thanks to everyone who voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list items with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
April 12, 2023, at 03:17 PM
by
- Changed line 114 from:
to:
Changed line 116 from:
to:
Changed line 119 from:
to:
Changed line 123 from:
to:
April 05, 2023, at 12:55 AM
by
- Changed line 117 from:
to:
January 23, 2023, at 10:08 AM
by
- Changed lines 106-108 from:
Many thanks to all of you voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.3 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.3. to:
Many thanks to everyone who voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list items with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6. January 23, 2023, at 10:06 AM
by
- Changed lines 101-127 from:
to:
Poll ResultsMany thanks to all of you voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.3 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.3.
December 21, 2022, at 05:42 PM
by
- Added lines 96-103:
Vote your Favorite Features!We are undergoing an OpenSIPS 3.6 Feature Survey (due 18th January 2023), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 21, 2022, at 04:54 PM
by
- Added lines 85-86:
GitHub#2908 December 21, 2022, at 04:54 PM
by
- Added lines 80-84:
Federated usrloc: add support for SQL “metadata” DBGiven that there are so many scalable and popular SQL solutions nowadays (Redis Cluster, Percona PXC, YugaByte, etc.), one idea is to add support for the federated usrloc cluster to work with them. With the current solution (originally designed in 2018), you most often end up maintaining an additional NoSQL cluster just for storing user location metadata, which although seems nice from a separation (microservices) point of view, the load on this cluster is not that high and it could very well work with just an extra database in your SQL cluster dedicated to this purpose. December 21, 2022, at 04:06 PM
by
- Changed line 27 from:
There are dozens of functionalities (registration, authentication, call routing, accounting, dialog, b2b and others), complex functionalities, which is to inter-operate in most of the cases. So even the smallest changes or extensions in the code may impact the existing functionalities in unexpected ways. to:
There are dozens of functionalities (registration, authentication, call routing, accounting, dialog, b2b and others), complex functionalities, which often inter-operate -- they may depend on each other. So even the smallest changes or extensions in one part of the code may impact unrelated functionalities in unexpected ways. Changed line 29 from:
The intention here is to build a framework (docker based) that will allow the creation of any new SIP scenarios. The scenarios will involve various entities, like SIP UAs, DBs, provisioning tools, etc. Such new entities (as docker images) may be added at any time. to:
The intention here is to build a framework (Docker based) that will allow the creation of any new SIP scenarios. The scenarios will involve various entities, like SIP UAs, DBs, provisioning tools, etc. New such entities (as Docker images) may be added at any time, further down the line. December 21, 2022, at 04:03 PM
by
- Changed lines 9-12 from:
Various topic were addressed by the past releases, but most of the work with regards to each topic was mainly covered within one release, so limited in terms of allocated resources (time and men power). And some of these past topics are actually wider than what we managed to do. This is why the upcoming OpenSIPS 3.6 wants to address the consolidation of various past topics, to complete or expand even them. But one of the most important side of this consolidation process is the testing of OpenSIPS, from the performance and conformity perspective. This testing is a long overdue task that definitely needs to be addressed. to:
Various topics were addressed by the past releases, but most of the work with regards to each topic was mainly covered within a single release, so limited in terms of allocated resources (time and man-power). And some of these past topics are actually wider than what we managed to deliver. This is why the upcoming OpenSIPS 3.6 wants to address the consolidation of various past topics, to complete or even expand them. But one of the most important sides of this consolidation process is the testing of OpenSIPS, from the performance and conformity perspective. This testing is a long overdue task that definitely needs to be addressed. Changed line 18 from:
The testing is important to maintain the health of the code, in terms of functionality as well as performance. In other words, testing is needed to be sure OpenSIPs works correctly and performs as fast as expected. to:
Testing is important to maintain the health of the code, in terms of functionality as well as performance. In other words, testing is needed to be sure OpenSIPs works correctly and performs as fast as expected. Changed lines 22-23 from:
The last performance tests were done quite a long time ago. OpenSIPS as base code and module has dramatically evolved since then, so a re-evaluation is mandatory. It is important to know where we are in terms of performance (the throughput in various scenarios) as well as to understand the limitations of OpenSIPS. Part of these tests, for code profiling, will be done in order to identify potential bottlenecks and to work them out, as optimizing the slowest parts. Here we target building an ansible based test bed that can be quickly deploy in cloud (or any VMs) for performing stress tests based on some pre-defined SIPP scenarios. to:
The last performance tests were done quite a long time ago. OpenSIPS as base code and module has dramatically evolved since then, so a re-evaluation is mandatory. It is important to know where we are in terms of performance (the throughput in various scenarios) as well as to understand the limitations of OpenSIPS. Part of these tests, for code profiling, will be done in order to identify potential bottlenecks and to work them out, as we aim to optimize the slowest parts. Here we target building an Ansible based test bed that can be quickly deployed in cloud (or any VMs) for performing stress tests based on some pre-defined SIPP scenarios. December 21, 2022, at 03:57 PM
by
- Changed lines 9-12 from:
Various topic were addressed by the past releases, but most of the work in regards to each topic was mainly covered within one release, so limited in terms of allocated resources (time and man power). And some of these past topic are actually wider than what we managed to do. This is why the upcoming OpenSIPS 3.6 what to address the consolidation of various past topics, to complete or expand them. But on of the most important side of this consolidation process is the testing of OpenSIPS, from the performance and conformity perspective. This testing is a long over due task that definitely needs to be addressed. to:
Various topic were addressed by the past releases, but most of the work with regards to each topic was mainly covered within one release, so limited in terms of allocated resources (time and men power). And some of these past topics are actually wider than what we managed to do. This is why the upcoming OpenSIPS 3.6 wants to address the consolidation of various past topics, to complete or expand even them. But one of the most important side of this consolidation process is the testing of OpenSIPS, from the performance and conformity perspective. This testing is a long overdue task that definitely needs to be addressed. Changed lines 18-20 from:
The testing is important to maintain the health of the code, in terms of functionality and also performance. In other words, testing is needed to be sure OpenSIPs works correctly and also fast. For each type of test (performance and conformity) we want to have in place a tools, methodologies and mechanisms to ensure a continuous and automatic process of testing. to:
The testing is important to maintain the health of the code, in terms of functionality as well as performance. In other words, testing is needed to be sure OpenSIPs works correctly and performs as fast as expected. For each type of test (performance and conformity) we want to have in place tools, methodologies and mechanisms to ensure a continuous and automatic process of testing. Changed lines 22-25 from:
The last performance tests were done quite a long time ago. OpenSIPS as base code and module has dramatically evolved since that time, so retesting is important. It is important to know where we are in terms of performance (the throughput in various scenarios) and also to understand the limitations of OpenSIPS. Part of these tests, for code profiling, will be done in order to identify potential bottleneck and to work them out, as optimizing the slowest parts. Here we target building an ansible based test bed that can be quickly deploy in cloud ( or any VMs) for performing stress tests based on some pre-defined SIPP scenarios. to:
The last performance tests were done quite a long time ago. OpenSIPS as base code and module has dramatically evolved since then, so a re-evaluation is mandatory. It is important to know where we are in terms of performance (the throughput in various scenarios) as well as to understand the limitations of OpenSIPS. Part of these tests, for code profiling, will be done in order to identify potential bottlenecks and to work them out, as optimizing the slowest parts. Here we target building an ansible based test bed that can be quickly deploy in cloud (or any VMs) for performing stress tests based on some pre-defined SIPP scenarios. Changed lines 27-28 from:
There are dozens of functionalities (registration, auth, call routing, accounting, dialog, b2b and others), complex functionalities, which is do inter-operate in most of the cases. So even the smallest changes or extensions in the code may impact the existing functionalities in unexpected ways. The validation of the code and the detection of possible regressions must be done via a continues testing of OpenSIPS. The testing is to be done at SIP level, by running various SIP flows on OpenSIPS, as a black box, and observing its behavior and output. to:
There are dozens of functionalities (registration, authentication, call routing, accounting, dialog, b2b and others), complex functionalities, which is to inter-operate in most of the cases. So even the smallest changes or extensions in the code may impact the existing functionalities in unexpected ways. The validation of the code and the detection of possible regressions must be done via a continuous testing of OpenSIPS. The testing is to be done at SIP level, by running various SIP flows on OpenSIPS, as a black box, and observing its behavior and output. Changed line 68 from:
to:
Changed line 82 from:
As most of the strictly AVP related functions are obsolete (already doable in different ways via core functions), tje module is to be converted to an SQL ops module. Whatever AVP specific functionalities are still present in avpops (only), are to be migrated into OpenSIPS core. to:
As most of the strictly AVP related functions are obsolete (already doable in different ways via core functions), the module is to be converted to an SQL ops module. Whatever AVP specific functionalities are still present in avpops (only), are to be migrated into OpenSIPS core. December 21, 2022, at 03:47 PM
by
- Changed line 5 from:
to:
https://cdn.fcw.com/media/img/cd/2021/12/12/consolidate_puzzle/860x394.jpg Changed lines 9-16 from:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg
The instant messaging is evolving and gaining more and more importance. This happens in both worlds of VoIP/ITSP and IMS/MNO/MVNOs - and the overlapping and mixing of these worlds in increasing each year. The upcoming OpenSIPS 3.6 is to address more, in depth, the topic of Instant Messaging, in the context of SIP. And this is to be done through two major perspectives: from the Unified Communication perspective, by aligning IM with the voice and presence capabilities in OpenSIPS, and from the IMS perspective, mainly as support/integration with RCS (Rich Communication Services).
to:
Various topic were addressed by the past releases, but most of the work in regards to each topic was mainly covered within one release, so limited in terms of allocated resources (time and man power). And some of these past topic are actually wider than what we managed to do. This is why the upcoming OpenSIPS 3.6 what to address the consolidation of various past topics, to complete or expand them. But on of the most important side of this consolidation process is the testing of OpenSIPS, from the performance and conformity perspective. This testing is a long over due task that definitely needs to be addressed. Changed lines 15-31 from:
Unified CommunicationThe Instance Messaging support was part of OpenSIPS from the very beginning. Nevertheless, this was limited to the Page Mode (RFC 3428, or the MESSAGE method). With 3.6 version we are looking to enhance the IM capabilities of OpenSIPS by adding IM support for Session Mode, or the Message Session Relay Protocol / MSRP (RFC 4975, RFC 4976). The huge advantage of Session Mode is the fact that you can have deal with IM in a more complex way, session based, or chats; and this enables more IM oriented services to be built, or unified with the audio/video/presence capabilities. MSRP relay supportThe MSRP relaying (RFC 4976) for IM Session Mode is a must for a SIP Server/Proxy for handling MSRP related SIP session. Besides the ability of relaying MSRP traffic, the 3.6 must extend the SDP parsing support to properly handle the MSRP specific SDP extensions. This addition will enable the easy integration of web-based chat services with OpenSIPS (web sites using WSS and MSRP for chat sessions). MSRP to MESSAGE gatewayAs MSRP is not widely supported in the end-user devices, but MESSAGE method is, a way of doing IM translation from Page Mode (MESSAGE method) to Session Mode (MSRP) will be useful. Such a gateway may be used also middle layer for achieving SMS (SMPP) to RCS/MSRP conversion. OmniChannel Queue (or Contact Center)The current Call Center module in OpenSIPS supports only SIP calls (as work items in the queue). But with the planned MSRP support, the IM may be supported also. An IM chat, as an MSRP session, may be handled as a new type of work item in the queue. A unified queue (voice and IM) may deliver items (calls or IM sessions) to agents, in the same time. Of course, the queue distribution logic and the agents capabilities/profile will have to be extended in order to support the IM sessions as well. IM chat groupThe current IMC module is oldish, supporting only Page Mode for IM and only an IRC-based way of functioning. A refurbish of this module in order to (1) support Session Mode IM (MSRP) as well, (2) to provide a more flexible and modern way of managing the chat rooms (not IRC based) and (3) to provide an API to allow the integration of IM with WEB services. to:
TestingThe testing is important to maintain the health of the code, in terms of functionality and also performance. In other words, testing is needed to be sure OpenSIPs works correctly and also fast. For each type of test (performance and conformity) we want to have in place a tools, methodologies and mechanisms to ensure a continuous and automatic process of testing. Performance testingThe last performance tests were done quite a long time ago. OpenSIPS as base code and module has dramatically evolved since that time, so retesting is important. It is important to know where we are in terms of performance (the throughput in various scenarios) and also to understand the limitations of OpenSIPS. Part of these tests, for code profiling, will be done in order to identify potential bottleneck and to work them out, as optimizing the slowest parts. Here we target building an ansible based test bed that can be quickly deploy in cloud ( or any VMs) for performing stress tests based on some pre-defined SIPP scenarios. Conformity testingThere are dozens of functionalities (registration, auth, call routing, accounting, dialog, b2b and others), complex functionalities, which is do inter-operate in most of the cases. So even the smallest changes or extensions in the code may impact the existing functionalities in unexpected ways. The validation of the code and the detection of possible regressions must be done via a continues testing of OpenSIPS. The testing is to be done at SIP level, by running various SIP flows on OpenSIPS, as a black box, and observing its behavior and output. The intention here is to build a framework (docker based) that will allow the creation of any new SIP scenarios. The scenarios will involve various entities, like SIP UAs, DBs, provisioning tools, etc. Such new entities (as docker images) may be added at any time. Important, this testing frame will allow the testing of an OpenSIPS instance (1) either running as entity in the testing platform, (2) either running external to the testing platform. Added lines 34-53:
MSRPIM chat groupThe current IMC module is oldish, supporting only Page Mode for IM and only an IRC-based way of functioning. A refurbish of this module in order to (1) support Session Mode IM (MSRP) as well, (2) to provide a more flexible and modern way of managing the chat rooms (not IRC based) and (3) to provide an API to allow the integration of IM with WEB services. MSRP reportingAdd support for requesting MSRP reports when OpenSIPS is acting as MSRP UA. End-2-end encryptionEvaluate (and implement) support for e2e encryption of the MSRP traffic Instant Message Disposition NotificationEvaluate (and implement) support for RFC 5438 - Instant Message Disposition Notification - for the MSRP traffic (delivery / read reports, typing events) Changed lines 57-64 from:
OpenSIPS 3.2 made the first steps towards IMS by providing DIAMETER support. Another part of the broader IP Multimedia Subsystem (IMS), from the IM perspective is RCS. Rich Communication Services (RCS) a protocol between mobile telephone carriers and between phone and carrier, aiming to replace SMS messages. The RCS gains traction both on the MNO's side (more and more already migrated), as well as on the device's side (Android natively support RCS) RCS / ChatThe Chat service (from RCS), for IM services, mainly relies on SIP and MSRP. In order for OpenSIPS 3.6 to properly implement RCS, several extensions for SIP and MSRP must be implemented/supported, to align to the GSMA specifications over RCC.07 - Rich Communication Suite - Advanced Communications Services and Client Specification, version 11.0. The RCS support in OpenSIPS will make possible scenarios like: SIP IM client (non-RCS) <---SIP---> OpenSIPS <---RCS---> IMS (third-party) <----RCS---> mobile device to:
The IMS topic was part of several OpenSIPS releases (mainly from the Diameter support perspective). We still have to address couple of points before truly saying that OpenSIPS is IMS capable, like the IPSec support, SIP Outbound support (RFC 5626) and other small/medium items. Also the plan is to start drafting basic OpenSIPS cfg samples for the SIP network entities (P-CSCF, I-CSCF, S-CSCF) in IMS. Added lines 62-74:
The SIP Back-2-BackAfter the major change in the B2B support, when the XML control logic was replaced with a script driven logic, several improvements/fixes are still due here:
Changed lines 81-86 from:
SIP Outbound supportThe RFC 5626 specification is mandatory for IMS systems and OpenSIPS should be fully supporting it. Media Capabilities in B2B modeThe B2B modules in OpenSIPS provide the mechanisms to create complex SIP scenarios in B2B mode. However, they lack support for RTP/media handling, which, if had to be done at the script level, would require some complex logic to store information throughout the B2B context. These modules should rely on the existing RTP Relay interface to handle B2B media in a more easier fashion. to:
AVPops re-workAs most of the strictly AVP related functions are obsolete (already doable in different ways via core functions), tje module is to be converted to an SQL ops module. Whatever AVP specific functionalities are still present in avpops (only), are to be migrated into OpenSIPS core. DialogSimilar to the message / branch flags, the dialog flags needs to support names too. Something important here is to extend the dialog variables to also support numerical values (currently supporting only strings). Deleted lines 88-121:
Vote your Favorite Features!We are undergoing an OpenSIPS 3.6 Feature Survey (due 17th January 2022), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you!
Poll ResultsMany thanks to all of you voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
May 17, 2022, at 10:40 AM
by
- Changed line 86 from:
to:
Added line 88:
May 13, 2022, at 11:45 AM
by
- Changed line 83 from:
to:
April 01, 2022, at 11:46 AM
by
- Changed line 90 from:
to:
March 28, 2022, at 12:56 PM
by
- Changed lines 83-85 from:
to:
Changed lines 87-88 from:
to:
Changed line 90 from:
to:
February 07, 2022, at 05:37 PM
by
- Changed line 58 from:
RFC 5626 specification are mandatory for IMS systems and OpenSIPS should be fully supporting it. to:
The RFC 5626 specification is mandatory for IMS systems and OpenSIPS should be fully supporting it. January 21, 2022, at 09:09 AM
by
- Added lines 70-78:
Poll ResultsMany thanks to all of you voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6. January 21, 2022, at 09:07 AM
by
- Added lines 70-85:
January 21, 2022, at 08:58 AM
by
- Added line 11:
\\ January 21, 2022, at 08:57 AM
by
- Added line 12:
Learn more from this blog post about the OpenSIPS 3.6's vision on Instant Messaging in the IMS and Unified Communication ecosystem December 23, 2021, at 01:58 PM
by
- Added lines 57-59:
Media Capabilities in B2B modeThe B2B modules in OpenSIPS provide the mechanisms to create complex SIP scenarios in B2B mode. However, they lack support for RTP/media handling, which, if had to be done at the script level, would require some complex logic to store information throughout the B2B context. These modules should rely on the existing RTP Relay interface to handle B2B media in a more easier fashion. December 23, 2021, at 01:51 PM
by
- Added lines 55-56:
SIP Outbound supportRFC 5626 specification are mandatory for IMS systems and OpenSIPS should be fully supporting it. December 23, 2021, at 01:45 PM
by
- Changed line 62 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 17th January 2022), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 17th January 2022), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 23, 2021, at 01:37 PM
by
- Changed line 10 from:
The instant messaging is evolving and gaining more and more importance. This happens in both worlds of VoIP/ITSP and IMS/M(V)NOs - and the overlapping and mixing of these worlds in increasing by each year. The upcoming OpenSIPS 3.6 is to address more, in depth, the topic of Instant Messaging, in the context of SIP. And this is to be done more two major perspectives: from the Unified Communication perspective, by aligning IM with the voice and presence capabilities in OpenSIPS, and from the IMS perspective, mainly as support/integration with RCS (Rich Communication Services). to:
The instant messaging is evolving and gaining more and more importance. This happens in both worlds of VoIP/ITSP and IMS/MNO/MVNOs - and the overlapping and mixing of these worlds in increasing each year. The upcoming OpenSIPS 3.6 is to address more, in depth, the topic of Instant Messaging, in the context of SIP. And this is to be done through two major perspectives: from the Unified Communication perspective, by aligning IM with the voice and presence capabilities in OpenSIPS, and from the IMS perspective, mainly as support/integration with RCS (Rich Communication Services). Changed lines 29-30 from:
The current Call Center module in OpenSIPS supports only SIP calls (as work items in the queue). But with the planned MSRP support, the IM may be supported also. An IM chat, as an MSRP session, may be handled as a new type of work item in the queue. A unified queue (voice and IM) may deliver items (calls or IM sessions) to agents, in the same time. OF course, the queue distribution logic and the agents capabilities/profile will have to be extended in order to support the IM sessions also. to:
The current Call Center module in OpenSIPS supports only SIP calls (as work items in the queue). But with the planned MSRP support, the IM may be supported also. An IM chat, as an MSRP session, may be handled as a new type of work item in the queue. A unified queue (voice and IM) may deliver items (calls or IM sessions) to agents, in the same time. Of course, the queue distribution logic and the agents capabilities/profile will have to be extended in order to support the IM sessions as well. Changed lines 32-33 from:
The current IMC module is oldish, supporting only Page Mode for IM and only an IRC-based way of functioning. A refurbish of this module in order to (1) support also Session Mode IM (MSRP), (2) to provide a more flexible and modern way managing the chat rooms (not IRC based) and (3) to provide an API to allow the integration of IM with WEB services. to:
The current IMC module is oldish, supporting only Page Mode for IM and only an IRC-based way of functioning. A refurbish of this module in order to (1) support Session Mode IM (MSRP) as well, (2) to provide a more flexible and modern way of managing the chat rooms (not IRC based) and (3) to provide an API to allow the integration of IM with WEB services. Changed lines 39-40 from:
OpenSIPS 3.2 made the first steps towards IMS by providing the DIAMETER support. Another part of the broader IP Multimedia Subsystem (IMS), from the IM perspective is RCS. Rich Communication Services (RCS) a protocol between mobile telephone carriers and between phone and carrier, aiming at replacing SMS messages. The RCS gains traction both on the MNO's side (more and more already migrated), but also on the device's side (Android natively support RCS) to:
OpenSIPS 3.2 made the first steps towards IMS by providing DIAMETER support. Another part of the broader IP Multimedia Subsystem (IMS), from the IM perspective is RCS. Rich Communication Services (RCS) a protocol between mobile telephone carriers and between phone and carrier, aiming to replace SMS messages. The RCS gains traction both on the MNO's side (more and more already migrated), as well as on the device's side (Android natively support RCS) Changed line 53 from:
For example, if you change an "a" line in the SDP from script level, the change will be visible to rtpengine. Furthermore, the new SDP from rtpengine will be visible (and changeable) at script level. to:
For example, if you change an "a" line in the SDP from script level, the change will be visible to RTPengine. Furthermore, the new SDP from RTPengine will be visible (and changeable) at script level. December 23, 2021, at 01:31 PM
by
- Changed line 9 from:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg to:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg December 23, 2021, at 01:30 PM
by
- Changed line 9 from:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg to:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg December 23, 2021, at 01:30 PM
by
- Changed line 9 from:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg to:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg December 23, 2021, at 01:29 PM
by
- Changed line 62 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 17th January 2021), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 17th January 2022), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 23, 2021, at 01:28 PM
by
- Changed line 9 from:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg to:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg December 23, 2021, at 01:27 PM
by
- Changed line 9 from:
https://blogopensips.files.wordpress.com/2020/12/opensips-3.6-cloud.jpg to:
https://blogopensips.files.wordpress.com/2021/12/opensips-3.6-im.jpg December 23, 2021, at 01:04 PM
by
- Changed line 10 from:
Deploying and running distributed SIP services in various clouds becomes more of a default approach in our days. For this reason, the OpenSIPS 3.6 upcoming release will focus on increasing OpenSIPS's ability to integrate with cloud specific services / backends and it will bring more OpenSIPS capabilities to build distributed (multi PoP/location/DC/zone) SIP services. After all the two concepts, of distributed architecture and in-cloud support, are going hand in hand - the biggest advantage of running in clouds is to possibility to organically scale and distribute. to:
The instant messaging is evolving and gaining more and more importance. This happens in both worlds of VoIP/ITSP and IMS/M(V)NOs - and the overlapping and mixing of these worlds in increasing by each year. The upcoming OpenSIPS 3.6 is to address more, in depth, the topic of Instant Messaging, in the context of SIP. And this is to be done more two major perspectives: from the Unified Communication perspective, by aligning IM with the voice and presence capabilities in OpenSIPS, and from the IMS perspective, mainly as support/integration with RCS (Rich Communication Services). Changed lines 17-47 from:
Clustering or Distributed SupportStarting with version 2.4 OpenSIPS has solid support for clustering, which enables the design and implementation of the distributed SIP services with OpenSIPS. Nevertheless, the clustering chapter is a large one, that needs to continuously evolve under the pressure of the requirements/demands coming from the real-word situations. For the OpenSIPS 3.6 we are targeting work on the actual clustering engine in OpenSIPS, but also on adding clustering support for more modules Clustering engineThe plan is to improve the clustering support (or the BIN protocol) in order to secure and increase the management of the cluster:
Distributed Call CenterFor the Call Center (or call queuing) module we plan to add clustering support and data replication for the call queue - this is extremely important for achieving High-Availability. In the same time, we are looking to add support for distributed call-center - a geo-distributed single call queue which gets calls via different OpenSIPS instances and which distributed agents connected to different OpenSIPS instances. Clustering more modulesThere are several modules which may require clustering support in order to be used in distributed deployments. There are modules that has to share data between all the OpenSIPS nodes in order to achieve a global understanding over the clustered service. Such modules are:
Multi-level presence subscriptionFor aggregating the presence state in a distributed system, a multi-level subscription setup may be envisioned. This means a local Presence Server (use a partition of users are subscribing to) may subscribe further to a central/master Presence Server. This will considerably reduce the SUBSCRIBE / NOTIFY traffic and also it will offload the NOTIFY'cation effort on the central Presence Server. RTP stream re-anchoringAs in distributed system you definitely use several media/RTP relays, in same location for load-balancing purposes or in different locations for distribution/short-path purposes. In both cases there is a need to migrate/re-anchor an ongoing call to a different RTP relay. This may needed for failover reasons or re-balancing/offloading purposes. We are looking to add this re-anchoring support in OpenSIPS, without any extra requirement from the actual media rely, by using SIP re-INVITE to re-negotiate the SDPs. This approach will work for RTPproxy, RTPengine, Mediaproxy. to:
Unified CommunicationThe Instance Messaging support was part of OpenSIPS from the very beginning. Nevertheless, this was limited to the Page Mode (RFC 3428, or the MESSAGE method). With 3.6 version we are looking to enhance the IM capabilities of OpenSIPS by adding IM support for Session Mode, or the Message Session Relay Protocol / MSRP (RFC 4975, RFC 4976). The huge advantage of Session Mode is the fact that you can have deal with IM in a more complex way, session based, or chats; and this enables more IM oriented services to be built, or unified with the audio/video/presence capabilities. MSRP relay supportThe MSRP relaying (RFC 4976) for IM Session Mode is a must for a SIP Server/Proxy for handling MSRP related SIP session. Besides the ability of relaying MSRP traffic, the 3.6 must extend the SDP parsing support to properly handle the MSRP specific SDP extensions. This addition will enable the easy integration of web-based chat services with OpenSIPS (web sites using WSS and MSRP for chat sessions). MSRP to MESSAGE gatewayAs MSRP is not widely supported in the end-user devices, but MESSAGE method is, a way of doing IM translation from Page Mode (MESSAGE method) to Session Mode (MSRP) will be useful. Such a gateway may be used also middle layer for achieving SMS (SMPP) to RCS/MSRP conversion. OmniChannel Queue (or Contact Center)The current Call Center module in OpenSIPS supports only SIP calls (as work items in the queue). But with the planned MSRP support, the IM may be supported also. An IM chat, as an MSRP session, may be handled as a new type of work item in the queue. A unified queue (voice and IM) may deliver items (calls or IM sessions) to agents, in the same time. OF course, the queue distribution logic and the agents capabilities/profile will have to be extended in order to support the IM sessions also. IM chat groupThe current IMC module is oldish, supporting only Page Mode for IM and only an IRC-based way of functioning. A refurbish of this module in order to (1) support also Session Mode IM (MSRP), (2) to provide a more flexible and modern way managing the chat rooms (not IRC based) and (3) to provide an API to allow the integration of IM with WEB services. Changed lines 36-70 from:
In-Cloud IntegrationFor the in-cloud distributed system, it is a huge advantage to be able to make usage of different services or functionalities provided by the cloud itself. This means more integration capabilities for OpenSIPS 3.6 KafkaApache Kafka is an open-source distributed event streaming platform used for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. A new Kafka backend is considered for the Event Interface MQTTMQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth. A new MQTT backend is considered for the Event Interface PrometheusPrometheus is an engine for crouching statistics. We consider building a native Prometheus connector in OpenSIPS for the Statistics Interface. AWS DynamoDBAdd support for Dynamo noSQL DB, from Amazon, to improve the experience when comes to running OpenSIPS in AWS cloud. AWS System Manager (SSM)The AWS SSM may be used as a centralized secret manager for handling various credentials to be used by OpenSIPS. For example you can use SSM in order to dynamically change (across multiple OpenSIPS instances) the used DB credentials . AWS CloudWatch, SQS, SNSSupport for pushing or receiving events from the AWS specific event broker. This will be a new backend for the Event Interface. ElasticSearchA beats plugin for Logstash or ElasticSearch. This will allow OpenSIPS to push data directly into ElasticSearch. Secure RTPEngine (NG protocol)A secure version of the protocol used to communicate with the RTPengine - this will allow the integration of OpenSIPS with RTPengine even across open/public Internet. Asterisk IntegrationSimilar to FreeSWITCH integration, the goal is to make OpenSIPS query Asterisk for load information in realtime, in order to adjust the dispatching and load-balancing processes. to:
IMSOpenSIPS 3.2 made the first steps towards IMS by providing the DIAMETER support. Another part of the broader IP Multimedia Subsystem (IMS), from the IM perspective is RCS. Rich Communication Services (RCS) a protocol between mobile telephone carriers and between phone and carrier, aiming at replacing SMS messages. The RCS gains traction both on the MNO's side (more and more already migrated), but also on the device's side (Android natively support RCS) RCS / ChatThe Chat service (from RCS), for IM services, mainly relies on SIP and MSRP. In order for OpenSIPS 3.6 to properly implement RCS, several extensions for SIP and MSRP must be implemented/supported, to align to the GSMA specifications over RCC.07 - Rich Communication Suite - Advanced Communications Services and Client Specification, version 11.0. The RCS support in OpenSIPS will make possible scenarios like: SIP IM client (non-RCS) <---SIP---> OpenSIPS <---RCS---> IMS (third-party) <----RCS---> mobile device Deleted lines 50-54:
Script driven B2BInstead of using the XML scenario to drive the B2B logic (mixing between the calls), we want to use the OpenSIPS scripting for this purpose. This will eliminate all the limitations of the XML language (logic and action) and it will tremendously increase the level of integration of the B2B engine with the rest of the OpenSIPS functionalities. Shortly, more complex B2B logic will be possible, and also better integrated with the rest of OpenSIPS. Changed lines 55-64 from:
TLS supportExplore the options of using GNUtls, LIBREtls or wolfSSL as alternatives to OpenSSL which proved to be a quite disruptive lib, incompatible with the multi-processing model in OpenSIPS. MI from scriptExplore options to allow the possibility to invoke MI commands from the OpenSIPS script. TracingWhile right now we can trace SIP traffic (and logs) via HEP and to DB, a syslog backend may be envisioned for simple tracing needs/scenarios. to:
Changed lines 62-99 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 11th January 2021), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you!
Poll ResultsMany thanks to all of you voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
* There is no secure way to communicate in RTPEngine - the NG protocol is the actual protocol we are using, and it is basically BSON over TCP.
to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 17th January 2021), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! May 27, 2021, at 11:49 AM
by
- Changed line 135 from:
to:
May 27, 2021, at 11:49 AM
by
- Changed line 128 from:
to:
Changed lines 130-131 from:
to:
Changed lines 135-137 from:
to:
Changed lines 139-143 from:
to:
Changed lines 145-146 from:
to:
May 24, 2021, at 12:42 PM
by
- Changed line 133 from:
to:
May 21, 2021, at 12:10 PM
by
- Changed lines 80-82 from:
Update There is no secure way to communicate in RTPEngine - the NG protocol is the actual protocol we are using, and it is basically BSON over TCP. to:
Changed line 132 from:
to:
Added lines 148-149:
* There is no secure way to communicate in RTPEngine - the NG protocol is the actual protocol we are using, and it is basically BSON over TCP. May 21, 2021, at 12:09 PM
by
- Added line 80:
Update There is no secure way to communicate in RTPEngine - the NG protocol is the actual protocol we are using, and it is basically BSON over TCP. May 21, 2021, at 12:07 PM
by
- Changed line 132 from:
to:
April 23, 2021, at 05:43 PM
by
- Changed line 129 from:
to:
March 04, 2021, at 12:02 PM
by
- Changed line 144 from:
to:
February 24, 2021, at 04:45 PM
by
- Changed line 138 from:
to:
January 12, 2021, at 05:35 PM
by
- Changed line 134 from:
to:
January 12, 2021, at 05:33 PM
by
- Added lines 116-149:
Poll ResultsMany thanks to all of you voted for this poll! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
December 23, 2020, at 03:54 PM
by
- Changed line 114 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 11th January 2021), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 11th January 2021), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 23, 2020, at 03:38 PM
by
- Changed lines 9-11 from:
https://blogopensips.files.wordpress.com/2019/12/opensips-3.6-crafting.jpg Routing calls and handling large volume of traffic is not a challenge anymore for OpenSIPS. The upcoming 3.6 release will focus on complex call crafting, basically on increasing OpenSIPS's ability to create and handle complex calling scenarios where multiple SIP calls are mixed and able to interact. Or shortly said, the 3.6 release will address the Class 5 specific calling features and how to control such calling features via APIs. to:
https://blogopensips.files.wordpress.com/2020/12/opensips-3.6-cloud.jpg
Deploying and running distributed SIP services in various clouds becomes more of a default approach in our days. For this reason, the OpenSIPS 3.6 upcoming release will focus on increasing OpenSIPS's ability to integrate with cloud specific services / backends and it will bring more OpenSIPS capabilities to build distributed (multi PoP/location/DC/zone) SIP services. After all the two concepts, of distributed architecture and in-cloud support, are going hand in hand - the biggest advantage of running in clouds is to possibility to organically scale and distribute.
Changed lines 17-45 from:
Class 5 calling ingredientsWithout actually using a Back2Back model, but simply operating with calls (dialogs, UACs or UASs), many complex class 5 calling (and media bridging) scenarios may be scripted. Calling APIA new OpenSIPS module, placed on top of dialog module, will allow remote control over the calls going through OpenSIPS. The module will expose a simplified set of commands (API like) for setting up new calls, for answering and terminating calls, for transferring or putting on-hold calls - all these without interacting with the end-devices, but triggering and handling the action only from the OpenSIPS (as proxy) level. Call media bridgingAnother new OpenSIPS module, that is able to manipulate calls/dialogs going through OpenSIPS, along with UAC/UAS dialogs (call originated or terminated into OpenSIPS), with the sole propose of mixing the RTP media between these multiple flows. The idea is to make possible the injection of streams of media from / to proxied calls, with the help of auxiliary calls initiated by OpenSIPS. Typical example is to play media within an existing call/dialog with nothing more than simple re-INVITEs - OpenSIPS will initial a new sip call to a media server, in order to get the RTP stream for the playback and it will push it into the proxied call by triggering in-dialog re-INVITEs. Details about implementation of this feature can be found in the Media Bridging page. Per-call hooksAs we already have for transactions, the dialog module will allow the script writer to set, in a per-dialog fashion, script routes to be triggered by various dialog events. Similar to t_on_failure(route), you can do dlg_on_timeout(route) to have a route called when the dialog lifetime is exceed. In the route, you may decide to extend the lifetime, to terminate the call or do any other logging. We can foresen dlg_on_answer(route), dlg_on_terminate(route)' (and more) triggers, which will give a better interaction and control over the ongoing calls. SDP topology hidingDue to the specificity of class 5 scenarios, there is a real need to completely decouple the SDP's (not only from IP/port perspective) from the caller and callee side, like hiding the originator or overwriting the session name and version. DTMF supportFor both RTProxy and RTPEngine, OpenSIPS will be able to report to the OpenSIPS script the DTMF events sampled from the passing RTP. This will make possible the implementation of simple IVRs and/or authentication via DTMF with nothing more than OpenSIPS and the media relay. Extended BLF supportIn Class 5 services, BLF is an important feature. Besides working out clustering support for BLF, an important task is reworking the BLF implementation to be call-branch aware, to be able to properly report the call events in parallel calling or call hunting scenarios. Dialog module enhancementsWe are looking at a good set of additions for the dialog module, like:
to:
Clustering or Distributed SupportStarting with version 2.4 OpenSIPS has solid support for clustering, which enables the design and implementation of the distributed SIP services with OpenSIPS. Nevertheless, the clustering chapter is a large one, that needs to continuously evolve under the pressure of the requirements/demands coming from the real-word situations. For the OpenSIPS 3.6 we are targeting work on the actual clustering engine in OpenSIPS, but also on adding clustering support for more modules Clustering engineThe plan is to improve the clustering support (or the BIN protocol) in order to secure and increase the management of the cluster:
Distributed Call CenterFor the Call Center (or call queuing) module we plan to add clustering support and data replication for the call queue - this is extremely important for achieving High-Availability. In the same time, we are looking to add support for distributed call-center - a geo-distributed single call queue which gets calls via different OpenSIPS instances and which distributed agents connected to different OpenSIPS instances. Clustering more modulesThere are several modules which may require clustering support in order to be used in distributed deployments. There are modules that has to share data between all the OpenSIPS nodes in order to achieve a global understanding over the clustered service. Such modules are:
Multi-level presence subscriptionFor aggregating the presence state in a distributed system, a multi-level subscription setup may be envisioned. This means a local Presence Server (use a partition of users are subscribing to) may subscribe further to a central/master Presence Server. This will considerably reduce the SUBSCRIBE / NOTIFY traffic and also it will offload the NOTIFY'cation effort on the central Presence Server. RTP stream re-anchoringAs in distributed system you definitely use several media/RTP relays, in same location for load-balancing purposes or in different locations for distribution/short-path purposes. In both cases there is a need to migrate/re-anchor an ongoing call to a different RTP relay. This may needed for failover reasons or re-balancing/offloading purposes. We are looking to add this re-anchoring support in OpenSIPS, without any extra requirement from the actual media rely, by using SIP re-INVITE to re-negotiate the SDPs. This approach will work for RTPproxy, RTPengine, Mediaproxy. Changed lines 50-53 from:
Back-to-back supportThe existing B2B implementation in OpenSIPS has some limitations, so we are looking to overcome via some major rework here. to:
In-Cloud IntegrationFor the in-cloud distributed system, it is a huge advantage to be able to make usage of different services or functionalities provided by the cloud itself. This means more integration capabilities for OpenSIPS 3.6 KafkaApache Kafka is an open-source distributed event streaming platform used for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. A new Kafka backend is considered for the Event Interface MQTTMQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth. A new MQTT backend is considered for the Event Interface PrometheusPrometheus is an engine for crouching statistics. We consider building a native Prometheus connector in OpenSIPS for the Statistics Interface. AWS DynamoDBAdd support for Dynamo noSQL DB, from Amazon, to improve the experience when comes to running OpenSIPS in AWS cloud. AWS System Manager (SSM)The AWS SSM may be used as a centralized secret manager for handling various credentials to be used by OpenSIPS. For example you can use SSM in order to dynamically change (across multiple OpenSIPS instances) the used DB credentials . AWS CloudWatch, SQS, SNSSupport for pushing or receiving events from the AWS specific event broker. This will be a new backend for the Event Interface. ElasticSearchA beats plugin for Logstash or ElasticSearch. This will allow OpenSIPS to push data directly into ElasticSearch. Secure RTPEngine (NG protocol)A secure version of the protocol used to communicate with the RTPengine - this will allow the integration of OpenSIPS with RTPengine even across open/public Internet. Asterisk IntegrationSimilar to FreeSWITCH integration, the goal is to make OpenSIPS query Asterisk for load information in realtime, in order to adjust the dispatching and load-balancing processes. MiscellaneousChanged lines 93-98 from:
B2B clustering supportTo be 100% production ready, an High-Availability support maybe available for the B2B engine. This will be achieved by adding clustering and replication support for the B2B calling. B2B contextAn important improvement of the B2B engine will be the addition of the B2B context, to help in correlating all the entities (UAC, UAS) part of a B2B session, to attach custom data to the entities and to exchange such data between the entities. This will help with Accounting and media relaying support for B2B, but also with building custom data sharing inside a B2B session (or between the sessions). to:
Structured SDP manipulationInstead of using regexp-based changes over the SDP, we envision a structured way of accessing and modifying the SDP payload, by using easy variables. All the changes will be visible on the spot. This will allow multiple changes over the SDP, from script or modules, while keeping a single, consistent data set. For example, if you change an "a" line in the SDP from script level, the change will be visible to rtpengine. Furthermore, the new SDP from rtpengine will be visible (and changeable) at script level. TLS supportExplore the options of using GNUtls, LIBREtls or wolfSSL as alternatives to OpenSSL which proved to be a quite disruptive lib, incompatible with the multi-processing model in OpenSIPS. MI from scriptExplore options to allow the possibility to invoke MI commands from the OpenSIPS script. TracingWhile right now we can trace SIP traffic (and logs) via HEP and to DB, a syslog backend may be envisioned for simple tracing needs/scenarios. Changed lines 110-147 from:
Call CenterFor 3.6, we are looking at:
Device Feature Key Synchronization (DFKS)DFKS support is planned for OpenSIPS 3.6. This will help to keep feature settings in sync between multiple device and application servers, an essential need in a class 5 / PBX environment. STIR/SHAKENDealing with Robocalling and CLI spoofing becomes a must when building advanced calling solutions. The support for STIR/SHAKEN will be part of OpenSIPS 3.6, providing multiple usage models, in terms of how the certificates are to be handled during the verification process. Also a flexible approach (to the standards) will be able to cope with all the potential changes derived from the adoption process (of the standard by the providers). Push Notification (RFC8599)The existing PN support will be improved and aligned to the requirements as per newly adopted RFC 8599. Besides the notification itself, we need to address some particularities in contact registration, derived from privacy concerns or device identification concerns. noSQL adds-onThe DB layer needs a constant attention, so here is the plan for 3.6:
to:
Changed lines 114-146 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 13th January 2020), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you!
Poll ResultsThank you to everyone who voted! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.0 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 11th January 2021), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! May 25, 2020, at 02:33 PM
by
- Changed line 120 from:
to:
Changed line 122 from:
to:
May 14, 2020, at 10:30 AM
by
- Changed lines 10-12 from:
Routing calls and handling large volume of traffic is not a challenge anymore for OpenSIPS. The upcoming 3.6 release will focus on complex call crafting, basically on increasing OpenSIPS's ability to create and handle complex calling scenarios where multiple SIP calls are mixed and able to interact. Or shortly said, the 3.6 release will address the Class 5 specific calling features and how to control such calling features via APIs. As usual, all the OpenSIPS major releases are in depth presented during the OpenSIPS Summit yearly events. So, the 3.6 release is the star of OpenSIPS Summit in Amsterdam, May 2020. to:
Routing calls and handling large volume of traffic is not a challenge anymore for OpenSIPS. The upcoming 3.6 release will focus on complex call crafting, basically on increasing OpenSIPS's ability to create and handle complex calling scenarios where multiple SIP calls are mixed and able to interact. Or shortly said, the 3.6 release will address the Class 5 specific calling features and how to control such calling features via APIs. May 14, 2020, at 10:30 AM
by
- Changed line 119 from:
to:
May 14, 2020, at 10:29 AM
by
- Changed line 119 from:
to:
Changed line 127 from:
to:
May 07, 2020, at 10:11 AM
by
- Changed line 121 from:
to:
May 05, 2020, at 01:15 PM
by
- Changed line 131 from:
to:
May 05, 2020, at 01:15 PM
by
- Changed lines 116-118 from:
to:
Changed lines 120-121 from:
to:
Changed line 123 from:
to:
Changed lines 125-130 from:
to:
Changed line 132 from:
to:
March 25, 2020, at 03:14 PM
by
- Changed line 121 from:
to:
March 25, 2020, at 03:14 PM
by
- Changed lines 120-121 from:
to:
Changed line 125 from:
to:
March 10, 2020, at 12:02 PM
by
- Changed line 120 from:
to:
March 10, 2020, at 11:42 AM
by
- Changed line 118 from:
to:
March 10, 2020, at 11:34 AM
by
- Changed line 125 from:
to:
March 10, 2020, at 11:33 AM
by
- Changed line 130 from:
to:
February 06, 2020, at 12:53 PM
by
- Changed lines 19-20 from:
Without actually using a Back2Back model, but simply operating with calls (dialogs, UACs or UASs), many complex class 5 calling (and call mixing) scenarios may be scripted. to:
Without actually using a Back2Back model, but simply operating with calls (dialogs, UACs or UASs), many complex class 5 calling (and media bridging) scenarios may be scripted. Changed lines 24-25 from:
Call mixingAnother new OpenSIPS module, that is able to manipulate calls/dialogs going through OpenSIPS, along with UAC/UAS dialogs (call originated or terminated into OpenSIPS), with the sole propose of mixing the RTP media between these multiple flows. The idea is to make possible the injection of streams of media from / to proxied calls, with the help of auxiliary calls initiated by OpenSIPS. Typical example is to play media within an existing call/dialog with nothing more than simple re-INVITEs - OpenSIPS will initial a new sip call to a media server, in order to get the RTP stream for the playback and it will push it into the proxied call by triggering in-dialog re-INVITEs. to:
Call media bridgingAnother new OpenSIPS module, that is able to manipulate calls/dialogs going through OpenSIPS, along with UAC/UAS dialogs (call originated or terminated into OpenSIPS), with the sole propose of mixing the RTP media between these multiple flows. The idea is to make possible the injection of streams of media from / to proxied calls, with the help of auxiliary calls initiated by OpenSIPS. Typical example is to play media within an existing call/dialog with nothing more than simple re-INVITEs - OpenSIPS will initial a new sip call to a media server, in order to get the RTP stream for the playback and it will push it into the proxied call by triggering in-dialog re-INVITEs. Details about implementation of this feature can be found in the Media Bridging page. February 06, 2020, at 12:51 PM
by
- Changed line 123 from:
to:
February 06, 2020, at 12:51 PM
by
- Changed line 125 from:
to:
January 14, 2020, at 06:33 PM
by
- Added lines 106-135:
Poll ResultsThank you to everyone who voted! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.0 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
December 19, 2019, at 07:50 PM
by
- Changed line 103 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 13th January 2020), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 13th January 2020), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 19, 2019, at 07:39 PM
by
- Changed lines 9-15 from:
https://blogopensips.files.wordpress.com/2018/12/opensips-3.0-icon.png For the upcoming OpenSIPS 3.0 release (and 3.x family) the main focus is on the devops concept. This translates into introducing and enhancing in OpenSIPS features / capabilities that (1) will increase the easiness when comes the writing / developing OpenSIPS scripts and (2) simplify the operational activities when comes to running and managing OpenSIPS. This OpenSIPS 3.0 release is the star of OpenSIPS Summit in Amsterdam, April-May 2019 - beside presentations and workshops around the new cool things in this version, OpenSIPS 3.0 will also be the subject of several interactive demos on its new capabilities. to:
https://blogopensips.files.wordpress.com/2019/12/opensips-3.6-crafting.jpg Routing calls and handling large volume of traffic is not a challenge anymore for OpenSIPS. The upcoming 3.6 release will focus on complex call crafting, basically on increasing OpenSIPS's ability to create and handle complex calling scenarios where multiple SIP calls are mixed and able to interact. Or shortly said, the 3.6 release will address the Class 5 specific calling features and how to control such calling features via APIs. As usual, all the OpenSIPS major releases are in depth presented during the OpenSIPS Summit yearly events. So, the 3.6 release is the star of OpenSIPS Summit in Amsterdam, May 2020. Changed lines 16-27 from:
Script Development aspectsGeneric Preprocessor SupportThis feature adds full built-in pre-processing support for the OpenSIPS script. OpenSIPS 3.0 integrates various existing pre-processors within OpenSIPS. This simplify the scripting itself, the script portability across multiple servers and not to mention the entire deployment process of more complex platforms (where OpenSIPS is just a part of it). Even more, you will be able to use your preferred pre-processor and align OpenSIPS with the rest of your system (M4, Jinja, Embedded Ruby or others). Module Functions Now Benefit From a New Parameter InterfaceAs 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. to:
Class 5 calling ingredientsWithout actually using a Back2Back model, but simply operating with calls (dialogs, UACs or UASs), many complex class 5 calling (and call mixing) scenarios may be scripted. Calling APIA new OpenSIPS module, placed on top of dialog module, will allow remote control over the calls going through OpenSIPS. The module will expose a simplified set of commands (API like) for setting up new calls, for answering and terminating calls, for transferring or putting on-hold calls - all these without interacting with the end-devices, but triggering and handling the action only from the OpenSIPS (as proxy) level. Call mixingAnother new OpenSIPS module, that is able to manipulate calls/dialogs going through OpenSIPS, along with UAC/UAS dialogs (call originated or terminated into OpenSIPS), with the sole propose of mixing the RTP media between these multiple flows. The idea is to make possible the injection of streams of media from / to proxied calls, with the help of auxiliary calls initiated by OpenSIPS. Typical example is to play media within an existing call/dialog with nothing more than simple re-INVITEs - OpenSIPS will initial a new sip call to a media server, in order to get the RTP stream for the playback and it will push it into the proxied call by triggering in-dialog re-INVITEs. Per-call hooksAs we already have for transactions, the dialog module will allow the script writer to set, in a per-dialog fashion, script routes to be triggered by various dialog events. Similar to t_on_failure(route), you can do dlg_on_timeout(route) to have a route called when the dialog lifetime is exceed. In the route, you may decide to extend the lifetime, to terminate the call or do any other logging. We can foresen dlg_on_answer(route), dlg_on_terminate(route)' (and more) triggers, which will give a better interaction and control over the ongoing calls. SDP topology hidingDue to the specificity of class 5 scenarios, there is a real need to completely decouple the SDP's (not only from IP/port perspective) from the caller and callee side, like hiding the originator or overwriting the session name and version. DTMF supportFor both RTProxy and RTPEngine, OpenSIPS will be able to report to the OpenSIPS script the DTMF events sampled from the passing RTP. This will make possible the implementation of simple IVRs and/or authentication via DTMF with nothing more than OpenSIPS and the media relay. Extended BLF supportIn Class 5 services, BLF is an important feature. Besides working out clustering support for BLF, an important task is reworking the BLF implementation to be call-branch aware, to be able to properly report the call events in parallel calling or call hunting scenarios. Dialog module enhancementsWe are looking at a good set of additions for the dialog module, like:
Changed lines 46-79 from:
Operational aspectsRouting Script Re-loadOpenSIPS 3.0 exposes the valuable ability of reloading the routes (not the module configuration) during runtime, with zero penalties and with zero loses as traffic. See the documentation of the MI "reload_routes" function. Processes Auto-Scaling SupportThis 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). New OpenSIPS CLI (Command Line Interface) toolStarting 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 application 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. Selectable Memory Allocator SupportThis 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. Internal Memory Persistence during RestartAs 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. Unified Sharing Tags for ClusteringIn 2.4, each module (with clustering support) is managing its own sharing tags completely isolated from other modules - this make the operating OpenSIPS a bit difficult sometime, as for a single switch from active to backup, you need to individually inform and change the tags in several modules, via several MI commands. In OpenSIPS 3.0 we have now the sharing tags managed by clusterer module itself and shared between multiple modules. So with a single MI command, changing a single sharing tag, you can control all the cluster-aware modules (like dialog timeouts, nathelper pinging, dispatcher pinging, etc) Read a full description of this feature here. to:
Back-to-back supportThe existing B2B implementation in OpenSIPS has some limitations, so we are looking to overcome via some major rework here. Script driven B2BInstead of using the XML scenario to drive the B2B logic (mixing between the calls), we want to use the OpenSIPS scripting for this purpose. This will eliminate all the limitations of the XML language (logic and action) and it will tremendously increase the level of integration of the B2B engine with the rest of the OpenSIPS functionalities. Shortly, more complex B2B logic will be possible, and also better integrated with the rest of OpenSIPS. B2B clustering supportTo be 100% production ready, an High-Availability support maybe available for the B2B engine. This will be achieved by adding clustering and replication support for the B2B calling. B2B contextAn important improvement of the B2B engine will be the addition of the B2B context, to help in correlating all the entities (UAC, UAS) part of a B2B session, to attach custom data to the entities and to exchange such data between the entities. This will help with Accounting and media relaying support for B2B, but also with building custom data sharing inside a B2B session (or between the sessions). Changed lines 62-75 from:
Integration aspectsMI Interaction StandardizationAn 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 SMPP supportOpenSIPS 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. RabbitMQ Consumer supportA 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. to:
Call CenterFor 3.6, we are looking at:
Device Feature Key Synchronization (DFKS)DFKS support is planned for OpenSIPS 3.6. This will help to keep feature settings in sync between multiple device and application servers, an essential need in a class 5 / PBX environment.
STIR/SHAKENDealing with Robocalling and CLI spoofing becomes a must when building advanced calling solutions. The support for STIR/SHAKEN will be part of OpenSIPS 3.6, providing multiple usage models, in terms of how the certificates are to be handled during the verification process. Also a flexible approach (to the standards) will be able to cope with all the potential changes derived from the adoption process (of the standard by the providers).
Push Notification (RFC8599)The existing PN support will be improved and aligned to the requirements as per newly adopted RFC 8599. Besides the notification itself, we need to address some particularities in contact registration, derived from privacy concerns or device identification concerns.
noSQL adds-onThe DB layer needs a constant attention, so here is the plan for 3.6:
December 19, 2019, at 07:37 PM
by
- Changed lines 9-13 from:
https://blogopensips.files.wordpress.com/2018/12/opensips-3.6-icon.png For the upcoming OpenSIPS 3.6 release (and 3.x family) the main focus is on the devops concept. This translates into introducing and enhancing in OpenSIPS features / capabilities that (1) will increase the easiness when comes the writing / developing OpenSIPS scripts and (2) simplify the operational activities when comes to running and managing OpenSIPS. For the OpenSIPS 3.6 release, the following areas of development are considered: to:
https://blogopensips.files.wordpress.com/2018/12/opensips-3.0-icon.png For the upcoming OpenSIPS 3.0 release (and 3.x family) the main focus is on the devops concept. This translates into introducing and enhancing in OpenSIPS features / capabilities that (1) will increase the easiness when comes the writing / developing OpenSIPS scripts and (2) simplify the operational activities when comes to running and managing OpenSIPS. This OpenSIPS 3.0 release is the star of OpenSIPS Summit in Amsterdam, April-May 2019 - beside presentations and workshops around the new cool things in this version, OpenSIPS 3.0 will also be the subject of several interactive demos on its new capabilities. Changed lines 21-36 from:
This is about improving the experience of the OpenSIPS script writer (developer), by enhancing and simplifying the OpenSIPS script:
Want to provide feedback? See below to:
Generic Preprocessor SupportThis feature adds full built-in pre-processing support for the OpenSIPS script. OpenSIPS 3.0 integrates various existing pre-processors within OpenSIPS. This simplify the scripting itself, the script portability across multiple servers and not to mention the entire deployment process of more complex platforms (where OpenSIPS is just a part of it). Even more, you will be able to use your preferred pre-processor and align OpenSIPS with the rest of your system (M4, Jinja, Embedded Ruby or others). Module Functions Now Benefit From a New Parameter InterfaceAs 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. Changed lines 34-57 from:
Several enhancements and new concepts are planned for OpenSIPS 3.6 in order to help with operating OpenSIPS - making it simpler to run, to monitor, to troubleshoot and diagnose:
Want to provide feedback? See below to:
Routing Script Re-loadOpenSIPS 3.0 exposes the valuable ability of reloading the routes (not the module configuration) during runtime, with zero penalties and with zero loses as traffic. See the documentation of the MI "reload_routes" function. Processes Auto-Scaling SupportThis 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). New OpenSIPS CLI (Command Line Interface) toolStarting 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 application 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. Selectable Memory Allocator SupportThis 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. Internal Memory Persistence during RestartAs 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. Unified Sharing Tags for ClusteringIn 2.4, each module (with clustering support) is managing its own sharing tags completely isolated from other modules - this make the operating OpenSIPS a bit difficult sometime, as for a single switch from active to backup, you need to individually inform and change the tags in several modules, via several MI commands. In OpenSIPS 3.0 we have now the sharing tags managed by clusterer module itself and shared between multiple modules. So with a single MI command, changing a single sharing tag, you can control all the cluster-aware modules (like dialog timeouts, nathelper pinging, dispatcher pinging, etc) Read a full description of this feature here. Changed lines 70-77 from:
More integration capabilities are to be added to the 3.6 release :
to:
MI Interaction StandardizationAn 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 SMPP supportOpenSIPS 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. RabbitMQ Consumer supportA 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. Changed lines 88-121 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2019), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you!
Poll ResultsThank you to everyone who voted! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement. We try to update the list with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6.
to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 13th January 2020), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! April 11, 2019, at 01:20 PM
by
- Changed line 100 from:
to:
April 05, 2019, at 03:26 PM
by
- Changed line 92 from:
to:
April 05, 2019, at 03:25 PM
by
- Changed line 98 from:
to:
March 18, 2019, at 06:57 PM
by
- Added lines 81-82:
We try to update the list with their development status, so you can have a clear view over the 3.6 progress. Nevertheless, we strongly recommend you to check the Feature list of 3.6. Changed lines 85-104 from:
to:
Changed line 106 from:
OpenSIPS 3.6 Feature Survey Results to:
January 09, 2019, at 12:20 PM
by
- Changed lines 74-105 from:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2019), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2019), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you!
Poll ResultsThank you to everyone who voted! Please find the poll results below -- regarding the additional feature suggestions we received, we will go through them and pick the most popular / interesting ones in a future announcement.
OpenSIPS 3.6 Feature Survey Results
December 13, 2018, at 05:08 PM
by
- Changed line 1 from:
to:
December 13, 2018, at 02:16 PM
by
- Changed lines 16-17 from:
Want to provide feedback? See below to:
Added lines 31-32:
Want to provide feedback? See below Changed lines 35-36 from:
Want to provide feedback? See below to:
Added lines 58-59:
Want to provide feedback? See below Deleted line 61:
Want to provide feedback? See below December 13, 2018, at 02:15 PM
by
- Deleted line 15:
Deleted line 33:
Deleted line 59:
December 13, 2018, at 02:15 PM
by
- Added lines 17-18:
Want to provide feedback? See below Added lines 36-37:
Want to provide feedback? See below Added lines 63-64:
Want to provide feedback? See below Added line 73:
December 13, 2018, at 02:12 PM
by
- Changed line 69 from:
We are undergoing an OpenSIPS 3.6 Feature Survey, and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey (due 6th January 2019), and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 13, 2018, at 02:09 PM
by
- Changed line 69 from:
We are undergoing an OpenSIPS 3.6 Feature Survey, and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey, and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 13, 2018, at 02:06 PM
by
- Changed line 69 from:
We are undergoing an OpenSIPS 3.6 Feature Survey, and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming release. Thank you! to:
We are undergoing an OpenSIPS 3.6 Feature Survey, and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming 3.6 release. Thank you! December 13, 2018, at 02:05 PM
by
- Added line 6:
Added lines 66-69:
Vote your Favorite Features!We are undergoing an OpenSIPS 3.6 Feature Survey, and we would like to gather opinions on the currently chosen feature set, as well as any additional ideas you may have. Your feedback will help us prioritize the work that will go into the upcoming release. Thank you! December 13, 2018, at 12:57 PM
by
- Changed line 64 from:
to:
December 13, 2018, at 12:56 PM
by
- Changed line 24 from:
to:
December 13, 2018, at 11:50 AM
by
- Added line 13:
Changed line 30 from:
to:
Added line 55:
December 12, 2018, at 07:35 PM
by
- Changed lines 13-14 from:
"Dev" areato:
Script Development aspectsChanged lines 30-31 from:
"Ops" areato:
Operational aspectsChanged line 54 from:
Integration areato:
Integration aspectsDecember 12, 2018, at 07:34 PM
by
- Changed line 58 from:
to:
December 12, 2018, at 07:21 PM
by
- Changed line 54 from:
Integrationto:
Integration areaDecember 12, 2018, at 07:07 PM
by
- Changed line 58 from:
to:
December 12, 2018, at 07:04 PM
by
- Changed line 8 from:
https://blogopensips.files.wordpress.com/2017/11/google-idi_018-1.jpg to:
https://blogopensips.files.wordpress.com/2018/12/opensips-3.6-icon.png December 12, 2018, at 06:58 PM
by
- Added lines 19-20:
Deleted lines 36-37:
December 12, 2018, at 06:28 PM
by
- Deleted line 3:
(:toc-float Table of Content:) December 12, 2018, at 06:27 PM
by
- Changed line 37 from:
to:
December 12, 2018, at 06:15 PM
by
- Added line 64:
December 12, 2018, at 06:14 PM
by
- Added lines 39-40:
Added lines 59-60:
Added line 64:
December 12, 2018, at 06:01 PM
by
- Changed lines 18-21 from:
to:
Added lines 22-23:
Changed lines 26-28 from:
to:
Changed lines 35-38 from:
to:
Added lines 43-52:
Changed lines 57-60 from:
to:
December 12, 2018, at 04:44 PM
by
- Added line 17:
Added lines 20-21:
Changed line 45 from:
to:
December 12, 2018, at 01:56 PM
by
- Changed lines 28-30 from:
This feature will also impact the resource consumption (as power or cloud resources) thanks to the automatic down-scaling under low traffic. to:
Changed line 42 from:
to:
December 12, 2018, at 01:56 PM
by
- Added lines 1-43:
Development -> Topics? -> OpenSIPS 3.6 Planning(:title OpenSIPS 3.6 Planning:) (:toc-float Table of Content:) OpenSIPS 3.6 philosophyhttps://blogopensips.files.wordpress.com/2017/11/google-idi_018-1.jpg For the upcoming OpenSIPS 3.6 release (and 3.x family) the main focus is on the devops concept. This translates into introducing and enhancing in OpenSIPS features / capabilities that (1) will increase the easiness when comes the writing / developing OpenSIPS scripts and (2) simplify the operational activities when comes to running and managing OpenSIPS. For the OpenSIPS 3.6 release, the following areas of development are considered: "Dev" areaThis is about improving the experience of the OpenSIPS script writer (developer), by enhancing and simplifying the OpenSIPS script:
"Ops" areaSeveral enhancements and new concepts are planned for OpenSIPS 3.6 in order to help with operating OpenSIPS - making it simpler to run, to monitor, to troubleshoot and diagnose:
This feature will also impact the resource consumption (as power or cloud resources) thanks to the automatic down-scaling under low traffic.
IntegrationMore integration capabilities are to be added to the 3.6 release : |