THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Stephen Young (styoung)
Attached to Project - sip-router
Summary - Update to Dispatcher.c to include load_tm_api change
Task Type - Improvement
Category - Modules kamailio
Status - Assigned
Assigned To - Daniel-Constantin Mierla
Operating System - All
Severity - Low
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - The dispatcher module is still using
find_export/load_tm instead of load_tm_api
Without that the "probing" of gateways doesnt; work since the tm module
can't be pulled in.
Please review attached patch
One or more files have been attached.
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=42
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.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A user has added themself to the list of users assigned to this task.
FS#42 - Update to Dispatcher.c to include load_tm_api change
User who did this - Stephen Young (styoung)
http://sip-router.org/tracker/index.php?do=details&task_id=42
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.
Patches item #2970838, was opened at 2010-03-15 20:21
Message generated for change (Tracker Item Submitted) made by
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=2970838&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver devel
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Stephen ()
Assigned to: Nobody/Anonymous (nobody)
Summary: Patch to dispatcher since API change
Initial Comment:
Update of dispatcher.c to include the api change
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=2970838&group_…
Module: sip-router
Branch: andrei/rve_f_params
Commit: cad98b04136d6d48668b4b5c564ccaebd9b001f9
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cad98b0…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Mon Mar 15 20:05:49 2010 +0100
core: support for expressions/variables in function parameters
- all module functions that do not have fixups can now be called
with variables, avps or expressions. They will be converted to
string, either on startup (if the expression is constant, e.g.
"a"+"b") or at runtime (if the expression is not constant, .e.g.
$a, $b+$var(foo)+"test").
E.g.: f("1+1=" + 1 + 1, "v=" + $v).
- slightly faster module function calls (eliminated some
never-triggered sanity tests).
---
action.c | 284 ++++++++++++++++++++++++++++++++++++++++++--------------
cfg.y | 183 ++++++++++++++++++++++++++++---------
route.c | 84 ++++++++++++++++-
route_struct.c | 11 ++-
route_struct.h | 7 +-
5 files changed, 448 insertions(+), 121 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=cad…
Module: sip-router
Branch: andrei/cancel_reason
Commit: c96405e48681e2f7a9945c3ff8533ef7dcd703f4
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c96405e…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Sat Mar 13 14:13:40 2010 +0100
tm: improved Reason support for E2E CANCELs
When generating CANCELs on-the-fly as response to a received
provisional reply on a branch of an E2E CANCELed transaction,
remember the Reason(s) from the original E2E CANCEL.
Up until now, the Reason was not remembered for branches where no
provisional replies were received (on these branches no CANCEL is
sent, unless cancel_b_method is set to 2 or at a later point a
provisional reply arrives).
Now each time an E2E CANCEL is received the Reason headers are
saved inside the INVITE transaction, for possible use in later
branch CANCEL generation (triggered by receiving a provisional
reply).
---
modules/tm/h_table.c | 2 +
modules/tm/h_table.h | 2 +
modules/tm/t_fwd.c | 123 +++++++++++++++++++++++++++++++++++++++++++--
modules/tm/t_msgbuilder.c | 22 +++++---
modules/tm/t_reply.c | 22 +++++---
modules/tm/t_reply.h | 12 ++++-
6 files changed, 160 insertions(+), 23 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=c96…
Module: sip-router
Branch: andrei/cancel_reason
Commit: e85232164c11ad4189861b499e08358c99174e5b
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=e852321…
Author: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei(a)iptel.org>
Date: Mon Mar 8 22:54:55 2010 +0100
tm: fix Reason generation for on-the-fly branch CANCELs
For a canceled transaction, branches that have not received any
reply might not have any pre-generated cancel buffers (in case
cancel_b_method!=2). This could also happen when the first
provisional response on a branch arrives in the same time with the
event triggering the cancel (e.g. 2xx or 6xx on another branch,
e2e cancel or timeout).
In this cases, when generating the per-branch CANCEL for the first
time (triggered by a received provisional reply), use the final
transaction reply code as Reason. Note that this covers only the
final reply triggered CANCEL case (2xx or 6xx received, local
timeout or local script t_reply()) and it does not cover the e2e
CANCEL case, for which either no reason will be generated
(cancel_b_method == 1) or the reason might be 487
(cancel_b_method==0).
---
modules/tm/t_msgbuilder.c | 2 ++
modules/tm/t_reply.c | 10 ++++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/modules/tm/t_msgbuilder.c b/modules/tm/t_msgbuilder.c
index a05fdbc..91a82f0 100644
--- a/modules/tm/t_msgbuilder.c
+++ b/modules/tm/t_msgbuilder.c
@@ -171,6 +171,7 @@ char *build_local(struct cell *Trans,unsigned int branch,
*len+=CONTENT_LENGTH_LEN+1 + CRLF_LEN;
reason_len = 0;
reas1 = 0;
+ reas_last = 0;
/* compute reason size (if no reason or disabled => reason_len == 0)*/
if (reason && reason->cause != CANCEL_REAS_UNKNOWN){
if (likely(reason->cause > 0 &&
@@ -307,6 +308,7 @@ char *build_local_reparse(struct cell *Trans,unsigned int branch,
reason_len = 0;
reas1 = 0;
+ reas_last = 0;
/* compute reason size (if no reason or disabled => reason_len == 0)*/
if (reason && reason->cause != CANCEL_REAS_UNKNOWN){
if (likely(reason->cause > 0 &&
diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c
index 6ee3fae..6bcef61 100644
--- a/modules/tm/t_reply.c
+++ b/modules/tm/t_reply.c
@@ -2043,8 +2043,14 @@ int reply_received( struct sip_msg *p_msg )
DBG("tm: reply_received: branch CANCEL created\n");
/* note that in this case we do not know the reason
(it could be a final reply or a received cancel)
- and we don't want to wait for it => no reason */
- cancel_branch(t, branch, 0, F_CANCEL_B_FORCE_C);
+ and we don't want to wait for it. However if
+ t->uas.status >= 200 it's probably due to a received
+ 2xx, 6xx, local timeout or a local final reply
+ (via t_reply()), so use t->uas.status as reason */
+ cancel_data.reason.cause = (t->uas.status>=200)?t->uas.status:
+ CANCEL_REAS_UNKNOWN;
+ cancel_branch(t, branch, &cancel_data.reason,
+ F_CANCEL_B_FORCE_C);
}
goto done; /* nothing to do */
}