This page has been visited 22 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!)?
5.1 Alex? — 23 February 2026, 10:56
This all sounds like fantastic steps forwards.
I partially like some of the simplification the changes to the scripting language brings.
The improvements to the B2BUA module sound exciting, as does the rabbitMQ consumer.
Things I would like to see:
- Better facilities for string manipulation: I often find myself wanting to extract a substring based on some kind of separator, and whilst it is possible its a few to many lines of code
- Functions: I currently use routes as a replacement for functions. Returning values from routes has some traps for new players.
Concerns:
- Inline code execution: This needs to be done with adequate safeguards in place to prevent exploits being accidently created by the scrip author. This feels like it will create some kind of security issue down the road. For security conscious users, there should be a way to disable this mode if it gets added. I can just imagine a carefully crafted sip packet resulting in code execution or the ability to leak user creds.
Please do not take any of this as negative, it is meant as constructive feedback from someone who uses opensips daily.