Hello,
I am working right now on another difficult topic related to the usage
of uac dialog callbacks for the usual replace from/to header logic after
a kamailio restart.
The uac/dialog module combination works just fine - but after a kamailio
restart the dialog callback information is lost. So this means that for
already established dialogs no from/to replacement operations are done.
This causes errors later on during BYE or Re-INVITE signalization.
I verified this with debug logging and can easily test this on a test
system.
One obvious workaround is of course not use the dialog module to store
the data inside dialog variables.
An approach to work on this problem would be to store the uac callback
in the dialog table(s) as well, and then during kamailio startup use
this to re-install the uac callback.
Does this approach sounds feasible? Any other ideas how to tackle this
issue?
Thanks and regards,
Henning
Module: kamailio
Branch: master
Commit: 9838774e11f071324e6d6691570d2029cfb26c43
URL: https://github.com/kamailio/kamailio/commit/9838774e11f071324e6d6691570d202…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2019-04-18T09:51:21+02:00
pv: docs for xavp_rm(...) and xavp_rm_child(...)
---
Modified: src/modules/pv/doc/pv_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/9838774e11f071324e6d6691570d202…
Patch: https://github.com/kamailio/kamailio/commit/9838774e11f071324e6d6691570d202…
---
diff --git a/src/modules/pv/doc/pv_admin.xml b/src/modules/pv/doc/pv_admin.xml
index 98aded0063..464d5ac80b 100644
--- a/src/modules/pv/doc/pv_admin.xml
+++ b/src/modules/pv/doc/pv_admin.xml
@@ -375,6 +375,56 @@ xavp_set_child_ival("x", "y", "$var(n)");
$var(n) = 10;
xavp_set_child_sval("x", "y", "Count: $var(n)");
# results in: $xavp(x=>y) is "Count: 10"
+...
+ </programlisting>
+ </example>
+ </section>
+ <section id="pv.f.xavp_rm">
+ <title>
+ <function moreinfo="none">xavp_rm(rname)</function>
+ </title>
+ <para>
+ Remove the value of $xavp(rname).
+ </para>
+ <para>
+ The parameter has to be the name of XAVP in the root list.
+ It can be static or dynamic string (to include variables).
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavp_rm</function> usage</title>
+ <programlisting format="linespecific">
+...
+xavp_rm_child_sval("x");
+# same result as: $xavp(x) = $null;
+...
+ </programlisting>
+ </example>
+ </section>
+
+ <section id="pv.f.xavp_rm_child">
+ <title>
+ <function moreinfo="none">xavp_rm_child(rname, cname)</function>
+ </title>
+ <para>
+ Remove the value of $xavp(rname=>cname).
+ </para>
+ <para>
+ The first parameter has to be the name of XAVP in the root list.
+ The second parameter name of child XAVP. Both parameters can be
+ static or dynamic strings (to include variables).
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavp_rm_child</function> usage</title>
+ <programlisting format="linespecific">
+...
+xavp_rm_child_sval("x", "y");
+# same result as: $xavp(x=>y) = $null;
...
</programlisting>
</example>