[OpenSIPS-Devel] OpenSIPS 1.5.0 - planing the release

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon Jan 26 12:26:03 CET 2009


The 6 months cycle is about to end and a new OpenSIPS stable release is 
about to emerge. I will try to synthesize what was done so far and what 
is left to be done for this release (OpenSIPS 1.5.0).

This email intends to analyse what was done and what is left to be done 
and based on the result, to set a target (as time) for the 
OpenSIPS/OpenSER 1.5.0 release - right now, the February 2009 is 
targeted, but there is no fix date about the SVN freeze and release. 
These dates will be set once we have an estimation of the left work.

What was done

A new web page is available on the site for listing all the new 
additions and fixes that were done in 1.5. The page is still under 
construction and  I hope it will be completed later today or tomorrow.

What is still under development

A) DB area

    1)  Prepared statements
             The support in DB API was already commited
             There is a first module already using prepared statements 
support for queries - auth_db
        Left to do:
             upload on SVN the prepared statement implementation for 
mysql driver; it is under testing right now
             modify other modules (like usrloc, presence, etc) to use 
prepared statements (when available)

    2) memory fragmentation
             rework the DB result structure in order to avoid memory 
                    the idea is eliminate the usage of small chucks of 
memory (4-10 bytes);
                    preliminary work shows that it is possible to reduce 
with almost 60% the numbers of mem chunks

B) memory cache support

    1)  a new API in core to allow development of different modules that 
implements memory functionalities like memory_store and memory_fetch
        Status: API is already ready, under final tests -> to be uploaded

    2) new module that implements local memory storage support by 
storing Attribute-Value pairs in shared memory
        Status: ready, under final tunings and testing

    3) future new implementation of the memory cache via memcache system 
(for external interaction) - not necessary planned for 1.5

    4) future new implementation of the memory cache via System V shared 
mem (for external interaction) - not necessary planned for 1.5

C) Data flush in MI commands - this new addition is to fix the 
limitation related to commands not able to return large volume of data 
in replies (like listing all the registered users, all the ongoing 
dialogs, etc)
         - MI API was already changed to allow such flush commands
         - mi_fifo module implements the new flush functionality
             Status: under testing, not commited yet
         - implement flush for mi_datagram and mi_xmlrpc
             Status: under devel

D) new load-balancing module - module to do traffic routing based on 
real load-balancing (by counting the load -as ongoing calls- of each peer).
   Status: under development

E) SIPtrace enhancements:
        - dialog support
        - stateless ACK tracing to be fixed
        - fixed Cancel tracing

F) new SIP identity module:
       an old submission for OpenSER 1.2, the identity module was 
refurbished and updated for OpenSIPS/OpenSER 1.5.0
       Status: testing and fixing some design limitation

G) Domains module - export the domain to core in order to be used as 
aliases (fixes the preloaded RR when domain is used instead of IPs)
       - new core API to allow alias registrations
       - upgrade domains module to register the loaded modules via core API

       Status: under devel

H) Various small (but important) module enhancements:

    1) dialog module
          - ability to check if the Route info from a sequential request 
do matches the route info stored in the dialog - this will allow to 
check the validity of sequential requests and to detect malicious BYE 
(for example)
    2) TM module
          - t_relay - automate creation of transaction -> more simple to 
use the function
    3) UAC module
          - uac_replace_from() allowed per branch - this is a bit 
complicated as requires changes in TM

    4) Nathelper
          - simplify the usage of sets of rtpproxys - no need for 
additional functions as we can pass now more than 2 params to module 

If somebody has other undergoing work for 1.5.0, please let me know and 
I will add it to the list. Also if there are ideas about new things that 
should make it to 1.5, again, please let me know.

Best regards,

More information about the Devel mailing list