Hi,
I updated kamailio to 4.2 and the new rtpengine module looks good.
Are there any flags that would force rtpengine NOT to touch the ICE
attributes, just passively sit there?
Thanks
Module: sip-router
Branch: master
Commit: 37e1fb443f1243125bc1d0c09c5ad8f6d86336d6
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=37e1fb4…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Sep 5 17:46:14 2014 +0200
dispatcher: extended the documentation for ds_is_from_list()
---
modules/dispatcher/README | 56 +++++++++++++++++++------
modules/dispatcher/doc/dispatcher_admin.xml | 58 ++++++++++++++++++++++----
2 files changed, 91 insertions(+), 23 deletions(-)
diff --git a/modules/dispatcher/README b/modules/dispatcher/README
index 50b7d1b..a6dd931 100644
--- a/modules/dispatcher/README
+++ b/modules/dispatcher/README
@@ -72,7 +72,7 @@ Carsten Bock
4.3. ds_next_dst()
4.4. ds_next_domain()
4.5. ds_mark_dst([state])
- 4.6. ds_is_from_list([groupid])
+ 4.6. ds_is_from_list([groupid [, uri, mode] ])
4.7. ds_load_update()
4.8. ds_load_unset()
@@ -188,7 +188,7 @@ Chapter 1. Admin Guide
4.3. ds_next_dst()
4.4. ds_next_domain()
4.5. ds_mark_dst([state])
- 4.6. ds_is_from_list([groupid])
+ 4.6. ds_is_from_list([groupid [, uri, mode] ])
4.7. ds_load_update()
4.8. ds_load_unset()
@@ -695,7 +695,7 @@ Note
4.3. ds_next_dst()
4.4. ds_next_domain()
4.5. ds_mark_dst([state])
- 4.6. ds_is_from_list([groupid])
+ 4.6. ds_is_from_list([groupid [, uri, mode] ])
4.7. ds_load_update()
4.8. ds_load_unset()
@@ -834,25 +834,53 @@ failure_route[tryagain] {
}
...
-4.6. ds_is_from_list([groupid])
-
- This function returns true, if the current request comes from a host in
- the given group of the dispatcher-list; otherwise false.
-
- Parameter groupid is optional, when it is missing, then the matching
- will be done against all addresses in all groups. Upon a match, the
- variable specified by 'setid_pvname' parameter will be set to groupid
- of matching address and the attributes will be set in variable
- specified by 'attrs_pvname'. The parameter can be an integer or a
- variable holding an integer value.
+4.6. ds_is_from_list([groupid [, uri, mode] ])
+
+ This function returns true, if there is a match of source address or
+ uri with an address in the given group of the dispatcher-list;
+ otherwise false.
+
+ Description of parameters:
+ * groupid (optional) - if not given or its value is -1, the matching
+ will be done over all addresses in all dispacher groups. Otherwise
+ the matching will be done only against the addresses in the
+ specific group id. The parameter can be an integer or a variable
+ holding an integer value.
+ * uri (optional) - if is empty or missing, the matching is done
+ against source IP, port and protocol. Otherwise the value has to be
+ a valid SIP URI, used to match against addresses in the dispatcher
+ list. Only IP, port and protocol are matches, any additional
+ parameters are ignored. The parameter can be a static or dynamic
+ (with variables) string. The domain part of the URI can be an IP
+ address or a hostname.
+ * mode - (optional) - a bitmask to specify how the matching should be
+ done. If is 0, all ip, port and proto are matched. If bit one is
+ set, then port is ignored. If bit two is set, then protocol is
+ ignored. The parameter can be an integer or a variable holding an
+ integer value. It must be provided if the uri parameter is
+ provided.
+
+ Upon a match, the variable specified by 'setid_pvname' parameter will
+ be set to groupid of matching address and the attributes will be set in
+ variable specified by 'attrs_pvname'.
+
+ Note that for backward compatibility mode, when no parameter is given
+ or only groupid is given, the matching is done only for IP address and
+ port (protocol is ignored).
This function can be used from ANY_ROUTE.
Example 1.33. ds_mark_dst usage
...
+if(ds_is_from_list()) {
+ ...
+}
if(ds_is_from_list("10")) {
...
}
+if(ds_is_from_list("10", "sip:127.0.0.1:5080", "3")) {
+ ...
+}
...
4.7. ds_load_update()
diff --git a/modules/dispatcher/doc/dispatcher_admin.xml b/modules/dispatcher/doc/dispatcher_admin.xml
index 75031f9..5177a12 100644
--- a/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/modules/dispatcher/doc/dispatcher_admin.xml
@@ -994,19 +994,53 @@ failure_route[tryagain] {
</section>
<section id="dispatcher.f.ds_is_from_list">
<title>
- <function moreinfo="none">ds_is_from_list([groupid])</function>
+ <function moreinfo="none">ds_is_from_list([groupid [, uri, mode] ])</function>
</title>
<para>
- This function returns true, if the current request comes from a host
- in the given group of the dispatcher-list; otherwise false.
+ This function returns true, if there is a match of source address or uri
+ with an address in the given group of the dispatcher-list; otherwise false.
+ </para>
+ <para>Description of parameters:</para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>groupid</emphasis> (optional) - if not given or its
+ value is -1, the matching will be done over all addresses in
+ all dispacher groups. Otherwise the matching will be done only
+ against the addresses in the specific group id. The parameter
+ can be an integer or a variable holding an integer value.
+ </para>
+ </listitem>
+ <listitem>
+ <para><emphasis>uri</emphasis> (optional) - if is empty or missing,
+ the matching is done against source IP, port and protocol.
+ Otherwise the value has to be a valid SIP URI, used to match
+ against addresses in the dispatcher list. Only IP, port and
+ protocol are matches, any additional parameters are ignored.
+ The parameter can be a static or dynamic (with variables)
+ string. The domain part of the URI can be an IP address or
+ a hostname.
+ </para>
+ </listitem>
+ <listitem>
+ <para><emphasis>mode</emphasis> - (optional) - a bitmask to specify
+ how the matching should be done. If is 0, all ip, port and
+ proto are matched. If bit one is set, then port is ignored.
+ If bit two is set, then protocol is ignored. The parameter
+ can be an integer or a variable holding an integer value.
+ It must be provided if the uri parameter is provided.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Upon a match, the variable specified by 'setid_pvname' parameter will
+ be set to groupid of matching address and the attributes will be set in
+ variable specified by 'attrs_pvname'.
</para>
<para>
- Parameter groupid is optional, when it is missing, then the matching
- will be done against all addresses in all groups. Upon a match, the
- variable specified by 'setid_pvname' parameter will be set to groupid
- of matching address and the attributes will be set in variable
- specified by 'attrs_pvname'. The parameter can be an integer or a
- variable holding an integer value.
+ Note that for backward compatibility mode, when no parameter is given
+ or only groupid is given, the matching is done only for IP address
+ and port (protocol is ignored).
</para>
<para>
This function can be used from ANY_ROUTE.
@@ -1015,9 +1049,15 @@ failure_route[tryagain] {
<title><function>ds_mark_dst</function> usage</title>
<programlisting format="linespecific">
...
+if(ds_is_from_list()) {
+ ...
+}
if(ds_is_from_list("10")) {
...
}
+if(ds_is_from_list("10", "sip:127.0.0.1:5080", "3")) {
+ ...
+}
...
</programlisting>
</example>
Module: sip-router
Branch: master
Commit: af69a3075ac4a7a46d72b0d60e6bc1740a56b7a7
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=af69a30…
Author: Juha Heinanen <jh(a)tutpro.com>
Committer: Juha Heinanen <jh(a)tutpro.com>
Date: Fri Sep 5 17:11:47 2014 +0300
modules/mtree: fixed return value of mt_match when mode=2
- initialize pv_values avp by mt_match when mode=2
- documented mt_match return value
---
modules/mtree/README | 26 ++++++++++++++------------
modules/mtree/doc/mtree_admin.xml | 7 +++++--
modules/mtree/mtree.c | 12 +++++++++---
3 files changed, 28 insertions(+), 17 deletions(-)
diff --git a/modules/mtree/README b/modules/mtree/README
index b0a6543..28dd6d8 100644
--- a/modules/mtree/README
+++ b/modules/mtree/README
@@ -20,9 +20,9 @@ Juha Heinanen
<jh(a)tutpro.com>
- Copyright � 2010 Daniel-Constantin Mierla (asipto.com)
+ Copyright (c) 2010 Daniel-Constantin Mierla (asipto.com)
- Copyright � 2011 Juha Heinanen
+ Copyright (c) 2011 Juha Heinanen
__________________________________________________________________
Table of Contents
@@ -275,8 +275,8 @@ modparam("mtree", "pv_value", "$var(mtval)")
3.10. pv_values (string)
- The PV spec where to store the matched values when mtree is of type 0
- or 2 and mode of mt_match() call has value 2. It can be any AVP.
+ The AVP where to store the matched values when mtree is of type 0 or 2
+ and mode of mt_match() call has value 2.
Default value is "$avp(s:tvalues)".
@@ -323,7 +323,7 @@ modparam("mtree", "mt_allow_duplicates", 1)
4.1. mt_match(mtree, pv, mode)
-4.1. mt_match(mtree, pv, mode)
+4.1. mt_match(mtree, pv, mode)
Match 'pv' value against 'mtree'. If 'mtree' type is 0 or 2 and value
of 'mode' is NOT 2, sets a value of the longest matching prefix to
@@ -333,6 +333,8 @@ modparam("mtree", "mt_allow_duplicates", 1)
matching prefix is in avp index 0. Parameter 'mode' can be an integer
constant or a pseudo variable with integer value.
+ Returns 1 if match succeeded and -1 otherwise.
+
Example 1.14. mt_match usage
...
mt_match("mytree", "$rU", "0");
@@ -345,7 +347,7 @@ mt_match("mytree", "$rU", "0");
5.3. mt_summary
5.4. mt_match
-5.1. mt_list
+5.1. mt_list
List content of a tree.
@@ -359,7 +361,7 @@ mt_match("mytree", "$rU", "0");
_mtname_
_empty_line_
-5.2. mt_reload
+5.2. mt_reload
Reload mtree from database.
@@ -374,7 +376,7 @@ mt_match("mytree", "$rU", "0");
_mtname_
_empty_line_
-5.3. mt_summary
+5.3. mt_summary
List usage summary for all trees.
@@ -386,7 +388,7 @@ mt_match("mytree", "$rU", "0");
:mt_summary:_reply_fifo_file_
_empty_line_
-5.4. mt_match
+5.4. mt_match
Match prefix value against mtree.
@@ -410,7 +412,7 @@ mt_match("mytree", "$rU", "0");
6.2. mtree.reload
6.3. mtree.match
-6.1. mtree.summary
+6.1. mtree.summary
List usage summary for all trees or for the tree whose name is given as
parameter.
@@ -418,7 +420,7 @@ mt_match("mytree", "$rU", "0");
Parameters:
* _mtree_ - (optional) the name of the tree.
-6.2. mtree.reload
+6.2. mtree.reload
Reload mtree from database to memory.
@@ -426,7 +428,7 @@ mt_match("mytree", "$rU", "0");
* _mtree_
- name of mtree or empty string meaning all mtrees
-6.3. mtree.match
+6.3. mtree.match
Match prefix value against mtree
diff --git a/modules/mtree/doc/mtree_admin.xml b/modules/mtree/doc/mtree_admin.xml
index cf91bbc..17c2c8f 100644
--- a/modules/mtree/doc/mtree_admin.xml
+++ b/modules/mtree/doc/mtree_admin.xml
@@ -248,8 +248,8 @@ modparam("mtree", "pv_value", "$var(mtval)")
<section>
<title><varname>pv_values</varname> (string)</title>
<para>
- The PV spec where to store the matched values when mtree is of type
- 0 or 2 and mode of mt_match() call has value 2. It can be any AVP.
+ The AVP where to store the matched values when mtree is of type
+ 0 or 2 and mode of mt_match() call has value 2.
</para>
<para>
<emphasis>
@@ -344,6 +344,9 @@ modparam("mtree", "mt_allow_duplicates", 1)
matching prefix is in avp index 0. Parameter 'mode' can be an integer
constant or a pseudo variable with integer value.
</para>
+ <para>
+ Returns 1 if match succeeded and -1 otherwise.
+ </para>
<example>
<title><function>mt_match</function> usage</title>
<programlisting format="linespecific">
diff --git a/modules/mtree/mtree.c b/modules/mtree/mtree.c
index 63521f5..6b6283d 100644
--- a/modules/mtree/mtree.c
+++ b/modules/mtree/mtree.c
@@ -336,7 +336,7 @@ is_t* mt_get_tvalue(m_tree_t *pt, str *tomatch, int *len)
int mt_add_tvalues(struct sip_msg *msg, m_tree_t *pt, str *tomatch)
{
- int l;
+ int l, n;
mt_node_t *itn;
int_str val, values_avp_name;
unsigned short values_name_type;
@@ -353,7 +353,9 @@ int mt_add_tvalues(struct sip_msg *msg, m_tree_t *pt, str *tomatch)
return -1;
}
- l = 0;
+ destroy_avps(values_name_type, values_avp_name, 1);
+
+ l = n = 0;
itn = pt->head;
while (itn != NULL && l < tomatch->len && l < MT_MAX_DEPTH) {
@@ -377,6 +379,7 @@ int mt_add_tvalues(struct sip_msg *msg, m_tree_t *pt, str *tomatch)
val.s.s);
add_avp(values_name_type|AVP_VAL_STR, values_avp_name, val);
}
+ n++;
tvalues = tvalues->next;
}
@@ -384,7 +387,10 @@ int mt_add_tvalues(struct sip_msg *msg, m_tree_t *pt, str *tomatch)
l++;
}
- return 0;
+ if (n > 0)
+ return 0;
+ else
+ return -1;
}
int mt_match_prefix(struct sip_msg *msg, m_tree_t *it,
Module: sip-router
Branch: master
Commit: 9108218677d52c4ca2b430bcfcae72fe574c85cd
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9108218…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Sep 5 15:31:30 2014 +0200
dialog: documented the track_cseq_updates module parameter
---
modules/dialog/README | 89 +++++++++++++++++++++-------------
modules/dialog/doc/dialog_admin.xml | 30 +++++++++++-
2 files changed, 84 insertions(+), 35 deletions(-)
diff --git a/modules/dialog/README b/modules/dialog/README
index 37b2bc4..1267bd1 100644
--- a/modules/dialog/README
+++ b/modules/dialog/README
@@ -91,6 +91,7 @@ Alex Balashov
5.48. ka_interval (int)
5.49. timeout_noreset (int)
5.50. timer_procs (int)
+ 5.51. track_cseq_updates (int)
6. Functions
@@ -218,23 +219,24 @@ Alex Balashov
1.48. Set ka_interval parameter
1.49. Set timeout_noreset parameter
1.50. Set timeout_procs parameter
- 1.51. set_dlg_profile usage
- 1.52. unset_dlg_profile usage
- 1.53. is_in_profile usage
- 1.54. get_profile_size usage
- 1.55. dlg_isflagset usage
- 1.56. dlg_setflag usage
- 1.57. dlg_resetflag usage
- 1.58. dlg_bye usage
- 1.59. dlg_refer usage
- 1.60. dlg_manage usage
- 1.61. dlg_bridge usage
- 1.62. dlg_get usage
- 1.63. is_known_dlg() usage
- 1.64. dlg_set_timeout usage
- 1.65. dlg_set_timeout_by_profile usage
- 1.66. dlg_set_property usage
- 1.67. dlg_remote_profile usage
+ 1.51. Set track_cseq_updates parameter
+ 1.52. set_dlg_profile usage
+ 1.53. unset_dlg_profile usage
+ 1.54. is_in_profile usage
+ 1.55. get_profile_size usage
+ 1.56. dlg_isflagset usage
+ 1.57. dlg_setflag usage
+ 1.58. dlg_resetflag usage
+ 1.59. dlg_bye usage
+ 1.60. dlg_refer usage
+ 1.61. dlg_manage usage
+ 1.62. dlg_bridge usage
+ 1.63. dlg_get usage
+ 1.64. is_known_dlg() usage
+ 1.65. dlg_set_timeout usage
+ 1.66. dlg_set_timeout_by_profile usage
+ 1.67. dlg_set_property usage
+ 1.68. dlg_remote_profile usage
Chapter 1. Admin Guide
@@ -300,6 +302,7 @@ Chapter 1. Admin Guide
5.48. ka_interval (int)
5.49. timeout_noreset (int)
5.50. timer_procs (int)
+ 5.51. track_cseq_updates (int)
6. Functions
@@ -502,6 +505,7 @@ Chapter 1. Admin Guide
5.48. ka_interval (int)
5.49. timeout_noreset (int)
5.50. timer_procs (int)
+ 5.51. track_cseq_updates (int)
5.1. enable_stats (integer)
@@ -1154,6 +1158,23 @@ modparam("dialog", "timeout_noreset", 1)
modparam("dialog", "timer_procs", 1)
...
+5.51. track_cseq_updates (int)
+
+ Enable the callbacks for tracking if CSeq number needs to be updated.
+ It is the case when the INVITE has to be authenticated to downstream
+ provider using uac_auth() from uac module.
+
+ This is done only for requests in downstream direction. The CSeq
+ difference is stored in $dlg_var(cseq_diff), be sure this variable is
+ not overwritten via config operation.
+
+ Default value is "0" (disabled).
+
+ Example 1.51. Set track_cseq_updates parameter
+...
+modparam("dialog", "track_cseq_updates", 1)
+...
+
6. Functions
6.1. set_dlg_profile(profile,[value])
@@ -1190,7 +1211,7 @@ modparam("dialog", "timer_procs", 1)
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
and FAILURE_ROUTE.
- Example 1.51. set_dlg_profile usage
+ Example 1.52. set_dlg_profile usage
...
set_dlg_profile("inbound_call");
set_dlg_profile("caller","$fu");
@@ -1209,7 +1230,7 @@ set_dlg_profile("caller","$fu");
This function can be used from BRANCH_ROUTE, REPLY_ROUTE and
FAILURE_ROUTE.
- Example 1.52. unset_dlg_profile usage
+ Example 1.53. unset_dlg_profile usage
...
unset_dlg_profile("inbound_call");
unset_dlg_profile("caller","$fu");
@@ -1232,7 +1253,7 @@ unset_dlg_profile("caller","$fu");
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
and FAILURE_ROUTE.
- Example 1.53. is_in_profile usage
+ Example 1.54. is_in_profile usage
...
if (is_in_profile("inbound_call")) {
log("this request belongs to a inbound call\n");
@@ -1261,7 +1282,7 @@ if (is_in_profile("caller","XX")) {
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
and FAILURE_ROUTE.
- Example 1.54. get_profile_size usage
+ Example 1.55. get_profile_size usage
...
if(get_profile_size("inbound_call","$avp(size)"))
xlog("currently there are $avp(size) inbound calls\n");
@@ -1280,7 +1301,7 @@ if(get_profile_size("caller","$fu","$avp(size)"))
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.55. dlg_isflagset usage
+ Example 1.56. dlg_isflagset usage
...
if(dlg_isflagset("1"))
{
@@ -1298,7 +1319,7 @@ if(dlg_isflagset("1"))
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.56. dlg_setflag usage
+ Example 1.57. dlg_setflag usage
...
dlg_setflag("1");
...
@@ -1313,7 +1334,7 @@ dlg_setflag("1");
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.57. dlg_resetflag usage
+ Example 1.58. dlg_resetflag usage
...
redlg_setflag("1");
...
@@ -1329,7 +1350,7 @@ redlg_setflag("1");
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.58. dlg_bye usage
+ Example 1.59. dlg_bye usage
...
dlg_bye("all");
...
@@ -1346,7 +1367,7 @@ dlg_bye("all");
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.59. dlg_refer usage
+ Example 1.60. dlg_refer usage
...
dlg_refer("caller", "sip:announcement@kamailio.org");
...
@@ -1359,7 +1380,7 @@ dlg_refer("caller", "sip:announcement@kamailio.org");
This function can be used from REQUEST_ROUTE.
- Example 1.60. dlg_manage usage
+ Example 1.61. dlg_manage usage
...
modparam("dialog", "default_timeout", 100)
...
@@ -1387,7 +1408,7 @@ route {
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.61. dlg_bridge usage
+ Example 1.62. dlg_bridge usage
...
dlg_bridge("sip:user@kamailio.org", "sip:annoucement@kamailio.org",
"sip:kamailio.org:5080");
@@ -1406,7 +1427,7 @@ dlg_bridge("sip:user@kamailio.org", "sip:annoucement@kamailio.org",
This function can be used from BRANCH_ROUTE, REQUEST_ROUTE,
ONREPLY_ROUTE and FAILURE_ROUTE.
- Example 1.62. dlg_get usage
+ Example 1.63. dlg_get usage
...
if(dlg_get("abcdef", "123", "456"))
{
@@ -1430,7 +1451,7 @@ if(dlg_get("abcdef", "123", "456"))
This function can be used from REQUEST_ROUTE, BRANCH_ROUTE, REPLY_ROUTE
and FAILURE_ROUTE.
- Example 1.63. is_known_dlg() usage
+ Example 1.64. is_known_dlg() usage
...
if(!uri == myself) {
if(is_known_dlg()) {
@@ -1454,7 +1475,7 @@ if(!uri == myself) {
This function can be used from ANY_ROUTE.
- Example 1.64. dlg_set_timeout usage
+ Example 1.65. dlg_set_timeout usage
...
if(dlg_set_timeout("180", "123", "456"))
{
@@ -1476,7 +1497,7 @@ if(dlg_set_timeout("180", "123", "456"))
This function can be used from ANY_ROUTE.
- Example 1.65. dlg_set_timeout_by_profile usage
+ Example 1.66. dlg_set_timeout_by_profile usage
...
# All dialogs belonging to user abc123 (tracked via set_dlg_profile())
# will be timed out in 3 seconds.
@@ -1508,7 +1529,7 @@ dlg_set_timeout_by_profile("users", "abc123", "3");
This function can be used from ANY_ROUTE.
- Example 1.66. dlg_set_property usage
+ Example 1.67. dlg_set_property usage
...
dlg_set_property("ka-src");
dlg_set_property("ka-dst");
@@ -1536,7 +1557,7 @@ dlg_set_property("timeout-noreset");
This function can be used from ANY_ROUTE.
- Example 1.67. dlg_remote_profile usage
+ Example 1.68. dlg_remote_profile usage
...
$var(exp) = 3600 + $Ts;
dlg_remote_profile("add", "caller", "test", "$sruid", "$var(exp)");
diff --git a/modules/dialog/doc/dialog_admin.xml b/modules/dialog/doc/dialog_admin.xml
index 3feb5f3..af46ab3 100644
--- a/modules/dialog/doc/dialog_admin.xml
+++ b/modules/dialog/doc/dialog_admin.xml
@@ -1269,7 +1269,7 @@ modparam("dialog", "timeout_noreset", 1)
</emphasis>
</para>
<example>
- <title>Set <varname>timeout_procs</varname> parameter</title>
+ <title>Set <varname>timer_procs</varname> parameter</title>
<programlisting format="linespecific">
...
modparam("dialog", "timer_procs", 1)
@@ -1278,6 +1278,34 @@ modparam("dialog", "timer_procs", 1)
</example>
</section>
+ <section id="dialog.p.track_cseq_updates">
+ <title><varname>track_cseq_updates</varname> (int)</title>
+ <para>
+ Enable the callbacks for tracking if CSeq number needs to
+ be updated. It is the case when the INVITE has to be
+ authenticated to downstream provider using uac_auth() from
+ uac module.
+ </para>
+ <para>
+ This is done only for requests in downstream direction. The
+ CSeq difference is stored in $dlg_var(cseq_diff), be sure
+ this variable is not overwritten via config operation.
+ </para>
+ <para>
+ <emphasis>
+ Default value is <quote>0</quote> (disabled).
+ </emphasis>
+ </para>
+ <example>
+ <title>Set <varname>track_cseq_updates</varname> parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("dialog", "track_cseq_updates", 1)
+...
+</programlisting>
+ </example>
+ </section>
+
</section>