THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#134 - Gentoo ebuild/pkg
User who did this - Henning Westerholt (henningw)
----------
Fixes were also cherry-picked into the 3.1 branch, Claudio will provide an update to the ebuild that fixes the remaining small issues.
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=134#comment261
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.
Module: sip-router
Branch: master
Commit: c589ca35b2aa3097a3c9e2a5a050514337300c05
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c589ca3…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 6 14:12:00 2011 +0200
tm: update T msg flags after {branch/failure}_route
- after execution of branch_route or failure_route, set the message
flags of the temporary request back to transaction request
- 1.x behaviour
- reported and partial patch by Alex Hermann
---
modules/tm/t_fwd.c | 3 +++
modules/tm/t_reply.c | 4 +++-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/modules/tm/t_fwd.c b/modules/tm/t_fwd.c
index 30558ab..210601d 100644
--- a/modules/tm/t_fwd.c
+++ b/modules/tm/t_fwd.c
@@ -1511,6 +1511,9 @@ int t_forward_nonack( struct cell *t, struct sip_msg* p_msg ,
setbflagsval(0, backup_bflags);
+ /* update message flags, if changed in branch route */
+ t->uas.request->flags = p_msg->flags;
+
/* don't forget to clear all branches processed so far */
/* things went wrong ... no new branch has been fwd-ed at all */
diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c
index 2efaa69..b7c3a84 100644
--- a/modules/tm/t_reply.c
+++ b/modules/tm/t_reply.c
@@ -968,11 +968,13 @@ int run_failure_handlers(struct cell *t, struct sip_msg *rpl,
on_failure = t->on_negative;
t->on_negative=0;
if (exec_pre_script_cb(&faked_req, FAILURE_CB_TYPE)>0) {
- /* run a reply_route action if some was marked */
+ /* run a failure_route action if some was marked */
if (run_top_route(failure_rt.rlist[on_failure], &faked_req, 0)<0)
LOG(L_ERR, "ERROR: run_failure_handlers: Error in run_top_route\n");
exec_post_script_cb(&faked_req, FAILURE_CB_TYPE);
}
+ /* update message flags, if changed in failure route */
+ t->uas.request->flags = faked_req.flags;
}
/* restore original environment and free the fake msg */
Hello,
currently there is a known issue with the processes initialized for
processing MI commands when using event_route[tm:local-request]. Since
the child init function for other modules is not executed for such
processes, functions from various modules (especially with database
interaction) cannot be executed, for example: calling acc_db_request()
for BYE generated through MI dlg_end_dlg.
On another hand, MI functions cannot be called properly via RPC (through
mi_rpc module) when using XMLRPC. The reason is that XMLRPC is handled
by SIP workers, which do not execute mi_child_init function.
These may render obsolete the mi_init_child function, since it should be
merged in the normal child_init function. Moreover, the rank PROC_RPC
applies to SIP worker processes when XMLRPC module is loaded. Thus I
think some RPC commands don't work properly over XMLRPC (cc-ed Jan and
Andrei for more comments here). It should be also like a RPC flag per
process than only type
One option to solve is to add a new parameter to child init function,
flags, where to tell whether the process is going to handle MI/RPC
requests. Based on that, call mi_child_init if still requires. PROC_RPC
needs to stay also as rank for specially forked processes.
This change will require to touch all modules, and they are a lot, so
maybe somebody here finds other solution.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda