THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#325 - tm doesn't relay changed 'To' header in CANCEL before dialog is established
User who did this - Trip Volpe (tvolpe)
----------
To revisit this issue, I'm wondering why the check in t_cancel.c is necessary at all. If the UAC buffer contains a different to-URI, shouldn't that always be used, especially since the comment above indicates that the CANCEL should be constructed from the INVITE that was *sent out*, not the one that was received? In particular, is there a reason that this patch is not a solution to the problem? https://github.com/mraccident/kamailio/commit/c6d0062aac8c50594abd7b927ad0d…
That is, is there a circumstance under which you'd want the received to-URI to override the one in the sent INVITE, in the cases where they differ?
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=325#comment1064
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
Hello,
I have discovered another crash in the mediaproxy-ng module.
The config line that causes it is:
rtpproxy_manage("fco+SP", $hdr(X-Origin-IP));
where the hdr PV holds a valid IP address.
I think this is an issue with the fixup functions, but different
functions have different ways of converting. Can someone explain which
is the current recommended format?
static cmd_export_t cmds[] = {
...
{"rtpproxy_offer", (cmd_function)rtpproxy_offer2_f, 2,
fixup_spve_spve, 0,
ANY_ROUTE},
{"rtpproxy_manage", (cmd_function)rtpproxy_manage2, 2,
fixup_spve_str, fixup_free_spve_str,
ANY_ROUTE},
...
static int
rtpproxy_offer2_f(struct sip_msg *msg, char *param1, char *param2)
{
str flags, new_ip;
get_str_fparam(&flags, msg, (fparam_t *) param1);
get_str_fparam(&new_ip, msg, (fparam_t *) param2);
return force_rtp_proxy(msg, flags.s, &new_ip, OP_OFFER);
}
static int
rtpproxy_manage2(struct sip_msg *msg, char *flags, char *ip)
{
str flag_str;
str ip_str;
fixup_get_svalue(msg, (gparam_p)flags, &flag_str);
fixup_get_svalue(msg, (gparam_p)ip, &ip_str);
return rtpproxy_manage(msg, flag_str.s, &ip_str);
}
If the function uses fixup_spve_str, should rtpproxy_manage2() be using
get_str_fparam() instead of fixup_get_svalue() for the second parameter
(or even both parameters)?
I notice that rtpproxy_offer2_f() is using get_str_fparam() for both
parameters when the fixup function is fixup_spve_spve, and there is no
fixup_free function.
Regards,
Hugh
--
Hugh Waite
Principal Design Engineer
Crocodile RCS Ltd.
Module: sip-router
Branch: master
Commit: 70ec02cfc9a203ea100d6550be3aa5f51f4fa473
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=70ec02c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 3 16:16:30 2013 +0200
acc: option to write dialog-based cdrs to database
- new module parameter cdrs_table has to be set and classic db
accounting enabled at compile time and db_url set
- cdr_log_enable - new parameter to turn off writing cdrs to syslog,
cdr_enable being now used as top level control flag for both cdrs to
syslog or db
---
modules/acc/README | 82 +++++++++++++++++++----------
modules/acc/acc.c | 9 +++-
modules/acc/acc.h | 1 +
modules/acc/acc_cdr.c | 113 +++++++++++++++++++++++++++++++++++++----
modules/acc/acc_mod.c | 11 +++-
modules/acc/acc_mod.h | 2 +
modules/acc/doc/acc_admin.xml | 49 ++++++++++++++---
7 files changed, 216 insertions(+), 51 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=70e…
Module: sip-router
Branch: master
Commit: ea6514c2af00561643af6a2b671fbd4411048ca1
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=ea6514c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 3 13:47:24 2013 +0200
acc: updated readme with the new parameters
---
modules/acc/README | 51 +++++++++++++++++++++++++++++++------
modules/acc/doc/acc_admin.xml | 56 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 99 insertions(+), 8 deletions(-)
diff --git a/modules/acc/README b/modules/acc/README
index 694f43d..c266803 100644
--- a/modules/acc/README
+++ b/modules/acc/README
@@ -125,6 +125,8 @@ Sven Knoblich
6.42. cdr_start_id (string)
6.43. cdr_end_id (string)
6.44. cdr_duration_id (string)
+ 6.45. time_mode (int)
+ 6.46. time_attr (str)
7. Functions
@@ -181,10 +183,12 @@ Sven Knoblich
1.42. cdr_start_id example
1.43. cdr_end_id example
1.44. cdr_duration_id example
- 1.45. acc_log_request usage
- 1.46. acc_db_request usage
- 1.47. acc_rad_request usage
- 1.48. acc_diam_request usage
+ 1.45. time_mode example
+ 1.46. time_attr example
+ 1.47. acc_log_request usage
+ 1.48. acc_db_request usage
+ 1.49. acc_rad_request usage
+ 1.50. acc_diam_request usage
Chapter 1. Admin Guide
@@ -273,6 +277,8 @@ Chapter 1. Admin Guide
6.42. cdr_start_id (string)
6.43. cdr_end_id (string)
6.44. cdr_duration_id (string)
+ 6.45. time_mode (int)
+ 6.46. time_attr (str)
7. Functions
@@ -679,6 +685,8 @@ $dlg_var(callee) = $avp(callee); #callee='C'
6.42. cdr_start_id (string)
6.43. cdr_end_id (string)
6.44. cdr_duration_id (string)
+ 6.45. time_mode (int)
+ 6.46. time_attr (str)
6.1. early_media (integer)
@@ -1145,6 +1153,33 @@ modparam("acc", "cdr_end_id", "end")
Example 1.44. cdr_duration_id example
modparam("acc", "cdr_duration_id", "start")
+6.45. time_mode (int)
+
+ Store additional value related to the time of event.
+
+ Values can be:
+ * 0 - (default), save only unix timestamp for syslog and datetime for
+ database.
+ * 1 - save microseconds part (does not include the seconds in the
+ value) in time_attr.
+ * 3 - save seconds.miliseconds in time_attr.
+
+ Example 1.45. time_mode example
+modparam("acc", "time_mode", 1)
+
+6.46. time_attr (str)
+
+ Name of the syslog attribute or database column where to store
+ additional value related to the time of event.
+
+ For db accounting, the column has to be of different types, depending
+ on time_mode value. When time_mode is:
+ * 1 - time_attr column has to be int.
+ * 2 - time_attr column has to be double.
+
+ Example 1.46. time_attr example
+modparam("acc", "time_attr", "micorsecs")
+
7. Functions
7.1. acc_log_request(comment)
@@ -1164,7 +1199,7 @@ modparam("acc", "cdr_duration_id", "start")
This function can be used from ANY_ROUTE.
- Example 1.45. acc_log_request usage
+ Example 1.47. acc_log_request usage
...
acc_log_request("Some comment");
...
@@ -1182,7 +1217,7 @@ acc_log_request("Some comment");
This function can be used from ANY_ROUTE.
- Example 1.46. acc_db_request usage
+ Example 1.48. acc_db_request usage
...
acc_db_request("Some comment", "SomeTable");
acc_db_request("Some comment", "acc_$time(year)_$time(mon)");
@@ -1198,7 +1233,7 @@ acc_db_request("Some comment", "acc_$time(year)_$time(mon)");
This function can be used from ANY_ROUTE.
- Example 1.47. acc_rad_request usage
+ Example 1.49. acc_rad_request usage
...
acc_rad_request("Some comment");
...
@@ -1213,7 +1248,7 @@ acc_rad_request("Some comment");
This function can be used from ANY_ROUTE.
- Example 1.48. acc_diam_request usage
+ Example 1.50. acc_diam_request usage
...
acc_diam_request("Some comment");
...
diff --git a/modules/acc/doc/acc_admin.xml b/modules/acc/doc/acc_admin.xml
index 869ea8c..fb40555 100644
--- a/modules/acc/doc/acc_admin.xml
+++ b/modules/acc/doc/acc_admin.xml
@@ -1233,6 +1233,62 @@ modparam("acc", "cdr_duration_id", "start")
</programlisting>
</example>
</section>
+ <section id="acc.p.time_mode">
+ <title><varname>time_mode</varname> (int)</title>
+ <para>
+ Store additional value related to the time of event.
+ </para>
+ <para>
+ Values can be:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>0</emphasis> - (default), save only unix
+ timestamp for syslog and datetime for database.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>1</emphasis> - save microseconds part (does not
+ include the seconds in the value) in time_attr.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>3</emphasis> - save seconds.miliseconds
+ in time_attr.</para>
+ </listitem>
+ </itemizedlist>
+
+ <example>
+ <title>time_mode example</title>
+ <programlisting format="linespecific">
+modparam("acc", "time_mode", 1)
+</programlisting>
+ </example>
+ </section>
+ <section id="acc.p.time_attr">
+ <title><varname>time_attr</varname> (str)</title>
+ <para>
+ Name of the syslog attribute or database column where to store additional
+ value related to the time of event.
+ </para>
+ <para>
+ For db accounting, the column has to be of different types, depending on
+ time_mode value. When time_mode is:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>1</emphasis> - time_attr column has to be int.</para>
+ </listitem>
+ <listitem>
+ <para><emphasis>2</emphasis> - time_attr column has to be double.</para>
+ </listitem>
+ </itemizedlist>
+
+ <example>
+ <title>time_attr example</title>
+ <programlisting format="linespecific">
+modparam("acc", "time_attr", "micorsecs")
+</programlisting>
+ </example>
+ </section>
</section>
<section>