[sr-dev] git:master:16c2fcb3: acc: add acc_prepare_always parameter

Victor Seva linuxmaniac at torreviejawireless.org
Mon Oct 5 19:07:45 CEST 2015


Module: kamailio
Branch: master
Commit: 16c2fcb34d315963c153e9a5f2961563567d19f0
URL: https://github.com/kamailio/kamailio/commit/16c2fcb34d315963c153e9a5f2961563567d19f0

Author: Victor Seva <linuxmaniac at torreviejawireless.org>
Committer: Victor Seva <linuxmaniac at torreviejawireless.org>
Date: 2015-10-05T15:26:38+02:00

acc: add acc_prepare_always parameter

This will force the preparation of the request no matter
if the acc_prepare_flag is set at the moment of the transaction
creation

---

Modified: modules/acc/acc_logic.c
Modified: modules/acc/acc_mod.c
Modified: modules/acc/acc_mod.h
Modified: modules/acc/doc/acc_admin.xml

---

Diff:  https://github.com/kamailio/kamailio/commit/16c2fcb34d315963c153e9a5f2961563567d19f0.diff
Patch: https://github.com/kamailio/kamailio/commit/16c2fcb34d315963c153e9a5f2961563567d19f0.patch

---

diff --git a/modules/acc/acc_logic.c b/modules/acc/acc_logic.c
index 16a97e5..0d453a7 100644
--- a/modules/acc/acc_logic.c
+++ b/modules/acc/acc_logic.c
@@ -102,7 +102,7 @@ struct acc_enviroment acc_env;
 	(((_rq)->REQ_METHOD==METHOD_CANCEL) && report_cancels==0)
 
 #define is_acc_prepare_on(_rq) \
-	(is_acc_flag_set(_rq,acc_prepare_flag))
+	(acc_prepare_always || is_acc_flag_set(_rq,acc_prepare_flag))
 
 static void tmcb_func( struct cell* t, int type, struct tmcb_params *ps );
 
diff --git a/modules/acc/acc_mod.c b/modules/acc/acc_mod.c
index 91b47d0..d412dbf 100644
--- a/modules/acc/acc_mod.c
+++ b/modules/acc/acc_mod.c
@@ -108,6 +108,7 @@ static char *failed_filter_str = 0;  /* by default, do not filter logging of
 unsigned short failed_filter[MAX_FAILED_FILTER_COUNT + 1];
 static char* leg_info_str = 0;	/*!< multi call-leg support */
 struct acc_extra *leg_info = 0;
+int acc_prepare_always = 0; /* prepare the request always for later acc */
 int acc_prepare_flag = -1; /*!< should the request be prepared for later acc */
 char *acc_time_format = "%Y-%m-%d %H:%M:%S";
 int reason_from_hf = 0; /*!< assign reason from reason hf if present */
@@ -262,6 +263,7 @@ static param_export_t params[] = {
 	{"multi_leg_info",          PARAM_STRING, &leg_info_str            },
 	{"detect_direction",        INT_PARAM, &detect_direction        },
 	{"acc_prepare_flag",        INT_PARAM, &acc_prepare_flag        },
+	{"acc_prepare_always",      INT_PARAM, &acc_prepare_always      },
 	{"reason_from_hf",          INT_PARAM, &reason_from_hf          },
 	/* syslog specific */
 	{"log_flag",             INT_PARAM, &log_flag             },
diff --git a/modules/acc/acc_mod.h b/modules/acc/acc_mod.h
index c746ffb..055ac61 100644
--- a/modules/acc/acc_mod.h
+++ b/modules/acc/acc_mod.h
@@ -103,5 +103,6 @@ extern int acc_time_mode;
 extern str acc_time_attr;
 extern str acc_time_exten;
 
+extern int acc_prepare_always;
 
 #endif
diff --git a/modules/acc/doc/acc_admin.xml b/modules/acc/doc/acc_admin.xml
index fbe7dc3..c047873 100644
--- a/modules/acc/doc/acc_admin.xml
+++ b/modules/acc/doc/acc_admin.xml
@@ -624,7 +624,7 @@ modparam("acc", "detect_direction", 1)
 		later, with flags set in TM module specific routes (e.g., like
 		failure_route). If this flag is not set and acc or missed_call flag
 		are not set either in request route block, there is no way to mark the
-		request for transaction later. If either acc or missed_call flags are
+		request for transaction later unless you set acc_prepare_always. If either acc or missed_call flags are
 		set in request route block, there is no need to set this flag.
 		</para>
 		<para>
@@ -639,6 +639,23 @@ modparam("acc", "acc_prepare_flag", 5)
 </programlisting>
 		</example>
 	</section>
+	<section id="acc.p.acc_prepare_always">
+		<title><varname>acc_prepare_always</varname> (integer)</title>
+		<para>
+		Prepare all request even if acc_prepare_flag is not set to mark the request for transaction later.
+		</para>
+		<para>
+		Default value is not-set (previous behaviour).
+		</para>
+		<example>
+		<title>acc_prepare_flag example</title>
+		<programlisting format="linespecific">
+...
+modparam("acc", "acc_prepare_always", 1)
+...
+</programlisting>
+		</example>
+	</section>
 	<section id="acc.p.multi_leg_info">
 		<title><varname>multi_leg_info</varname> (string)</title>
 		<para>




More information about the sr-dev mailing list