Module: kamailio
Branch: 5.2
Commit: a829305aa207ddcda3936a0ffab082cb93359efc
URL: https://github.com/kamailio/kamailio/commit/a829305aa207ddcda3936a0ffab082c…
Author: Henning Westerholt <hw(a)skalatan.de>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2019-04-16T09:30:27+02:00
uac: bug fix for uac module uac_replace* functions, register callbacks after start
- bug fix for uac module uac_replace* functions, register callbacks after restart
- only applies to the dialog tracking mode of the module
- the uac module was not using the available dialog callbacks for a proxy (re-)start
- because of this the uac module was not able to properly re-write in-dialog messages
like BYEs after a proxy restart
- As we don't have access to the uac_flag at the dialog on load callback, we just
install a callback for both from and to rewriting cases. If only one of the
functions is used in the cfg hen the uac module will obviously not find
database variables for the other case, and will log an error. This is of
course also a bit inefficient, but as it only applies to this (re-)start
case it does not matter.
(cherry picked from commit aa7dee1ab874aaac807c2166f38ec9da0fa0ccf6)
---
Modified: src/modules/uac/replace.c
Modified: src/modules/uac/replace.h
Modified: src/modules/uac/uac.c
---
Diff: https://github.com/kamailio/kamailio/commit/a829305aa207ddcda3936a0ffab082c…
Patch: https://github.com/kamailio/kamailio/commit/a829305aa207ddcda3936a0ffab082c…
Module: kamailio
Branch: 5.2
Commit: 26fbc04bcf925396ad928583d0d38b99ed296f57
URL: https://github.com/kamailio/kamailio/commit/26fbc04bcf925396ad928583d0d38b9…
Author: Henning Westerholt <hw(a)skalatan.de>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2019-04-16T09:30:22+02:00
uac: log an error if uac module should use the dialog module and it can't bind the API
(cherry picked from commit e2de33b01efdd2c9799a1d5cf9d0e7d127a36416)
---
Modified: src/modules/uac/uac.c
---
Diff: https://github.com/kamailio/kamailio/commit/26fbc04bcf925396ad928583d0d38b9…
Patch: https://github.com/kamailio/kamailio/commit/26fbc04bcf925396ad928583d0d38b9…
---
diff --git a/src/modules/uac/uac.c b/src/modules/uac/uac.c
index d74c1cf47f..8528027f7e 100644
--- a/src/modules/uac/uac.c
+++ b/src/modules/uac/uac.c
@@ -295,14 +295,17 @@ static int mod_init(void)
/* we need the append_fromtag on in RR */
memset(&dlg_api, 0, sizeof(struct dlg_binds));
- if (uac_restore_dlg==0 || load_dlg_api(&dlg_api)!=0) {
+ if (uac_restore_dlg==0) {
if (!uac_rrb.append_fromtag) {
LM_ERR("'append_fromtag' RR param is not enabled!"
" - required by AUTO restore mode\n");
goto error;
}
- if (uac_restore_dlg!=0)
- LM_DBG("failed to find dialog API - is dialog module loaded?\n");
+ } else {
+ if (load_dlg_api(&dlg_api)!=0) {
+ LM_ERR("failed to find dialog API - is dialog module loaded?\n");
+ goto error;
+ }
}
/* get all requests doing loose route */
Module: kamailio
Branch: 5.1
Commit: 35e98c53e708c5acd23476adb54855d405a08f25
URL: https://github.com/kamailio/kamailio/commit/35e98c53e708c5acd23476adb54855d…
Author: Henning Westerholt <hw(a)skalatan.de>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2019-04-16T09:30:38+02:00
uac: bug fix for uac module uac_replace* functions, register callbacks after start
- bug fix for uac module uac_replace* functions, register callbacks after restart
- only applies to the dialog tracking mode of the module
- the uac module was not using the available dialog callbacks for a proxy (re-)start
- because of this the uac module was not able to properly re-write in-dialog messages
like BYEs after a proxy restart
- As we don't have access to the uac_flag at the dialog on load callback, we just
install a callback for both from and to rewriting cases. If only one of the
functions is used in the cfg hen the uac module will obviously not find
database variables for the other case, and will log an error. This is of
course also a bit inefficient, but as it only applies to this (re-)start
case it does not matter.
(cherry picked from commit aa7dee1ab874aaac807c2166f38ec9da0fa0ccf6)
---
Modified: src/modules/uac/replace.c
Modified: src/modules/uac/replace.h
Modified: src/modules/uac/uac.c
---
Diff: https://github.com/kamailio/kamailio/commit/35e98c53e708c5acd23476adb54855d…
Patch: https://github.com/kamailio/kamailio/commit/35e98c53e708c5acd23476adb54855d…
Module: kamailio
Branch: 5.1
Commit: 194dd20c78a71c65d6692df4553792e9039e5dcd
URL: https://github.com/kamailio/kamailio/commit/194dd20c78a71c65d6692df4553792e…
Author: Henning Westerholt <hw(a)skalatan.de>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2019-04-16T09:30:32+02:00
uac: log an error if uac module should use the dialog module and it can't bind the API
(cherry picked from commit e2de33b01efdd2c9799a1d5cf9d0e7d127a36416)
---
Modified: src/modules/uac/uac.c
---
Diff: https://github.com/kamailio/kamailio/commit/194dd20c78a71c65d6692df4553792e…
Patch: https://github.com/kamailio/kamailio/commit/194dd20c78a71c65d6692df4553792e…
---
diff --git a/src/modules/uac/uac.c b/src/modules/uac/uac.c
index 844b6025ff..05b7f2144d 100644
--- a/src/modules/uac/uac.c
+++ b/src/modules/uac/uac.c
@@ -286,14 +286,17 @@ static int mod_init(void)
/* we need the append_fromtag on in RR */
memset(&dlg_api, 0, sizeof(struct dlg_binds));
- if (uac_restore_dlg==0 || load_dlg_api(&dlg_api)!=0) {
+ if (uac_restore_dlg==0) {
if (!uac_rrb.append_fromtag) {
LM_ERR("'append_fromtag' RR param is not enabled!"
" - required by AUTO restore mode\n");
goto error;
}
- if (uac_restore_dlg!=0)
- LM_DBG("failed to find dialog API - is dialog module loaded?\n");
+ } else {
+ if (load_dlg_api(&dlg_api)!=0) {
+ LM_ERR("failed to find dialog API - is dialog module loaded?\n");
+ goto error;
+ }
}
/* get all requests doing loose route */
Module: kamailio
Branch: master
Commit: a690d0a44f62acb8c5b02c017f11c510747f9c13
URL: https://github.com/kamailio/kamailio/commit/a690d0a44f62acb8c5b02c017f11c51…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2019-04-16T09:16:08+02:00
pv: docs for xavp_set_child_ival() and xavp_set_child_sval()
---
Modified: src/modules/pv/doc/pv_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/a690d0a44f62acb8c5b02c017f11c51…
Patch: https://github.com/kamailio/kamailio/commit/a690d0a44f62acb8c5b02c017f11c51…
---
diff --git a/src/modules/pv/doc/pv_admin.xml b/src/modules/pv/doc/pv_admin.xml
index f5faa0ab11..98aded0063 100644
--- a/src/modules/pv/doc/pv_admin.xml
+++ b/src/modules/pv/doc/pv_admin.xml
@@ -323,6 +323,58 @@ $xavp(x[0]=>c) = "d";
$xavp(x[0]=>a) = "b";
xavp_params_implode("x", "$var(out)");
# results in: $var(out) is "a=b;c=d;e=f;"
+...
+ </programlisting>
+ </example>
+ </section>
+ <section id="pv.f.xavp_set_child_ival">
+ <title>
+ <function moreinfo="none">xavp_set_child_ival(rname, cname, ival)</function>
+ </title>
+ <para>
+ Set the value of $xavp(rname=>cname) to integer value ival.
+ </para>
+ <para>
+ The first parameter has to be the name of XAVP in the root list.
+ The second parameter name of child XAVP. The third parameter
+ can be an integer number or a variable holding an integer.
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavp_set_child_ival</function> usage</title>
+ <programlisting format="linespecific">
+...
+$var(n) = 10;
+xavp_set_child_ival("x", "y", "$var(n)");
+# results in: $xavp(x=>y) is 10
+...
+ </programlisting>
+ </example>
+ </section>
+ <section id="pv.f.xavp_set_child_sval">
+ <title>
+ <function moreinfo="none">xavp_set_child_sval(rname, cname, sval)</function>
+ </title>
+ <para>
+ Set the value of $xavp(rname=>cname) to string value sval.
+ </para>
+ <para>
+ The first parameter has to be the name of XAVP in the root list.
+ The second parameter name of child XAVP. The third parameter
+ can be a static or dynamic (with variables) string.
+ </para>
+ <para>
+ Function can be used from ANY ROUTE.
+ </para>
+ <example>
+ <title><function>xavp_set_child_sval</function> usage</title>
+ <programlisting format="linespecific">
+...
+$var(n) = 10;
+xavp_set_child_sval("x", "y", "Count: $var(n)");
+# results in: $xavp(x=>y) is "Count: 10"
...
</programlisting>
</example>