This page has been visited 1464 times.
1. OpenSIPS Scripting Language
- add native preprocessing support (read more here)
- allow any input type to any function (no more: "this parameter does not support pvars", etc.)
- script parameters: get rid of annoying (and redundant) quotes around integers and variables
- allow $var(foo) = "sip:$var(user)@$var(domain)";
- avoid redundant, copy-pasted code (modparam("dialog", modparam("dialog", modparam("dialog", modparam("dialog", modparam("dialog"...)
2. OpenSIPS Scripting Alternatives
- evaluate / extend? the Python scripting support
- inline code execution (alternative language): Do we want this / Is it feasible?
3. Interacting w/ OpenSIPS
3.1 reload scripting routes
- evaluate major issues with this feature. Any roadblocks?
- group existing tree + adjacent code into a "holder" structure. This allows two script to be run in parallel: the newly reloaded one, and the old one which is still running the already started calls.
- question: can script reloading work well without full dialog state?
3.2 MI Restructuring
- unified MI input/output: JSON data
- get rid of intermediary/abstracted command state: MI trees, nodes and attributes
- new class of MI commands for controlling calls
4. Module Improvements
- B2B: rework such that we drop XML-based logic in favor of OpenSIPS script-based logic!
- [NEW] RabbitMQ consumer
5. Internal Rework
- push all fixup_get_XXX_value() logic further up into the core, so modules receive ready-to-use inputs without requiring any bloat code
- improve the module function API so it offers param validation/ranges/possible values + proper error reporting, as well as standardizing new parameter types (lists, dictionaries)
- get rid of lazy evaluation! Why is the convoluted "lumps" API useful in the first place? Why can't we just keep all SIP message editing real-time (more intuitive too!), along with a clean codebase (with no lump application headaches and bugs!)?