The problem is that you mess the xavps that are reserved for internal use of tm for serializing contacts. Note that internally an xavp can have more types of values than config interpreter supports (which are int/long and string). When a module asks for names of xavp or avps via modparams, the config file actions must not change them (or if it does, it must do it as expected by the c code, which sometime is impossible to due to expected value type).

I have actually just added a safety check for this case, but there are many places where config actions can crash kamailio if not done as per documentation and it will not be feasible (also sometime not desired) to do it everywhere, because then the processing is "lost" in safety checks, decreasing performance significantly.

So, if dispatcher, lcr or tm (or other modules) reserves some xavp/avp names, changing them from config actions opens the door for unexpected behaviour/crashes.

From the other point of view, what you want to achieve does not work as you tried, you cannot assign an xavp that contains other xavps to another xavp. You have to do it item by item. There are copy functions in pv module that can help, or those for implode/explode. But again, only if the xavps don't have special types for their values.

From what I understood, I think lookup() and lookup_to_dset() should offer all that is needed. Anyhow, if anything else is needed to discuss about using kamailio and implementing a specific feature in the config, use sr-users mailing list.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <kamailio/kamailio/issues/4063/2538186172@github.com>