[OpenSIPS-Users] OpenSIPS 2.0 - results, updates and implications

Bogdan-Andrei Iancu bogdan at opensips.org
Tue Sep 16 12:08:00 CEST 2014


I'm coming back with results and updates in regards to the OpenSIPS New 
Design (2.0).

OpenSIPS 2.0 successfully implemented and validated several key concepts 
- global reactor, async I/Os, context based processing, multi-threaded 
architecture, etc. Now is the time to get use of all these.

In order to speed up and simplify the process of getting all these 
deliverables (of OpenSIPS 2.0) into usage, we decide for a new approach 
when comes to OpenSIPS 2.0 (new design) and main OpenSIPS (1.12). 
Instead of developing in parallel a complete "new" OpenSIPS (the 2.0 
version), we see a more manageable approach to do changes (towards the 
new design) step by step directly into the main code.

How does this work:
  - OpenSIPS 2.0 will become OpenSIPS Experimental - it will never have 
a finality, it will be used as "playground" to test and validate 
concepts and implementations without affecting the main tree ; This 
OpenSIPS Experimental will have no versions, just the GIT revisions.
  - main OpenSIPS will continue the line (as so far) and, aside the 
normal devel, it will receive patches/ports from the experimental tree 
whenever a new concept was proofed and tested over there.

   - the term of "OpenSIPS 2.0" will be dropped (no longer used as a 
pointer to the new design) - the OpenSIPS Experimental will be used instead
   - as first step, for the next OpenSIPS main release, we will port 
from the OpenSIPS Experimental the async reactor (first stage) and the 
processing contexts (first stage).
   - OpenSIPS main 1.12 (trunk) will become OpenSIPS 2.1 (trunk/devel) - 
this increase of the major version reflects the first accomplishments in 
regards to the new design.

The releasing policy will also suffer some changes (to better cope with 
the work on the new design):
   - following the linux kernel model, the odd versions will be reserved 
for unstable/beta versions - like the current unstable will be 2.1 ; the 
stable released versions will get only even numbers - next stable 
release will be OpenSIPS 2.2 ; As now, the minor release on a stable 
branch will get the third index - like 2.2.1, 2.2.2, etc
   - as more complex work is intended (as porting from OpenSIPS 
Experimental), the targeted release cycle will be increased from 6 to 12 
months (roughly one manjor release per year); This will make the release 
cycling more efficient (as resources and testing), but also spare the 
users of the burn of keep updating every 6 months.

This is a major step in the evolution of OpenSIPS - it took a lot of 
work and time, many people were involved (with ideas and code) - and got 
the point to deliver to our users important enhancements. Based on the 
experience we got during the past years, we do believe this new approach 
on how to get to the "new design" will accelerate the work and it will 
deliver usable feature much faster.

Any feedback, comments (positive or negative) or ideas are mote than 
welcome - we will be more than glad to adapt. Also, as Razvan will 
shortly announce, these topics (around OpenSIPS 2.0) will be part of the 
next IRC public meeting (next week) - we really want to have as many 
people as possible involved in these changes.

Best regards,
(and sorry for the long email)

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer

More information about the Users mailing list