[OpenSIPS-Devel] Planning next release - Roadmap

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon Aug 25 10:19:38 CEST 2008


Hi,

Following the discussions (lists and private), here is the list with 
what is to be done for OpenSIPS 1.5.

The items are grouped in two categories - what should be done for 1.5 
(mandatory) and what would be nice to have (optional). The list does not 
cover the contributions (patches), like the MSRP and Xcap-diff modules 
uploaded by ag-project (which are already done).

For the grouping, an important factor was taken into consideration (as 
you may notice, some important items were set as optional) - there are 
plans for a complete rework on the opensips architecture that will put 
things into a new light - a discussion about OpenSIPS 2.0 will be 
started sooner on a separate thread.


Mandatory:

1) TM - cancel processing (Reason header, cancel per branch from script,
auto processing in script)

2) TM - transaction building - split in 2 phases to be able to go
stateful asap (for retransmissions), but to be able to apply changes
(like lumps, flags, etc) until you do relay.

3) dialog - more work on BYE (sending byes from script makes sense ?)
8) NAT modules integration - move all signalling NAT related functions
to nat_traversal and move nathelper into rtpproxy module (only as
rtpproxy connector)

4) ACC radius support - find a way to avoid module recompiling for
enabling RADIUS support

5) multi-domain support in RR - let opensips core to learn the set of
domains loaded by "domains" modules -> solves the RR problem when using
pre-loaded route.

6) better blacklists integration - make some routing modules to
automatically publish blacklists at runtime base

7) PV - try to find a consistent NULL behaviour for all script variables

8) start the work on introducing "context" for message processing - any
future work on async processing depends on this.

9) starting working on a B2BUA module based on TM (like for topology 
hiding)


Good to have:


1) XMPP - dialog support (along IM and presence)

1) dialog integration in NAT and SIPTRACE modules - do control at dialog
level instead of transaction level

3) db_mysql - prepared statements to speedup a bit

4) TCP+TLS rework of : blocking, scalability, nat traversal, performance

5) rework diameter support.

6) add load-balancing logic (to actually make use of load information -
internal or external) to do be used in traffic dispatching

7) MI_XMLRPC module - better integration with libxmlrpc-c3 - try to add
process versus threads runtime switch.

8) AVPs - use auto aliasing everywhere - aliases in script and IDs
internally - this will make the AVP easier to use and less confusing
(having only $avp(name)) and also more efficient (internally all AVPs
will be $avp(i:id))


Comments ?

Regards,
Bogdan


Bogdan-Andrei Iancu wrote:
> Hi,
>
> I'm crossposting this email as I think both communities are to be 
> interested : users - what needs to be added; devel - what to add and how.
>
> In order for us to be as efficient as possible, before starting the work 
> on the next release, I want to start a discussion with users and 
> developes to :
>     1) get a list with whatever people consider it will be useful for 
> the next openSIPS's releases
>     2) to select a sub-list to be addressed for the next release.
>
> We need to agree what what should be done in order to share and unify 
> the work effort :).
>
>
> So, Let's start building the list first (later we see what we pick up 
> for the next release). Here is a starting version I came up with:
>
>
> 1) TM - cancel processing (Reason header, cancel per branch from script, 
> auto processing in script)
>
> 2) TM - transaction building - split in 2 phases to be able to go 
> stateful asap (for retransimissions), but to be able to apply changes 
> (like lumps, flags, etc) until you do relay.
>
> 3) dialog - more work on BYE (sending byes from script makes sense ?)
>
> 4) dialog integration in NAT and SIPTRACE modules - do control at dialog 
> level instead of transaction level
>
> 5) starting working on a B2BUA module based on TM (like for topology hiding)
>
> 6) db_mysql - prepared statements to speedup a bit
>
> 7) add load-balancing logic (to actually make use of load information - 
> internal or external) to do be used in traffic dispatching
>
> 8) NAT modules integration - move all signalling NAT related functions 
> to nat_traversal and move nathelper into rtpproxy module (only as 
> rtpproxy connector)
>
> 9) MI_XMLRPC module - better integration with libxmlrpc-c3 - try to add 
> process versus threads runtime switch.
>
> 10) AVPs - use auto aliasing everywhere - aliases in script and IDs 
> internally - this will make the AVP easier to use and less confusing 
> (having only $avp(name)) and also more efficient (internally all AVPs 
> will be $avp(i:id))
>
> 11) ACC radius support - find a way to avoid module recompilling for 
> enabling RADIUS support
>
> 12) XMPP - dialog support (along IM and presence)
>
> 13) multi-domain support in RR - let opensips core to learn the set of 
> domains loaded by "domains" modules -> solves the RR problem when using 
> pre-loaded route.
>
> 14) better blacklists integration - make some routing modules to 
> automatically publish blacklists at runtime base
>
> 15) rework diameter support.
>
> 16) PV - try to find a consistent NULL behaviour for all script variables
>
> 17) TCP+TLS rework of : blocking, scalability, nat traversal, performance
>
> 18) start the work on introducing "context" for message processing - any 
> future work on async processing depends on this.
>
>
>
>
> Again, I would like all of you to feel free to add whatever they 
> consider relevant to this list.
>
>
> Regards,
> Bogdan
>
> _______________________________________________
> Devel mailing list
> Devel at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
>
>   




More information about the Devel mailing list