Bläddra i källkod

tm: init actions context for kemi execution

- needed to catch drop in onreply/branch route callbacks
Daniel-Constantin Mierla 9 år sedan
förälder
incheckning
19968a464c
3 ändrade filer med 3 tillägg och 1 borttagningar
  1. 1 1
      modules/tm/t_funcs.c
  2. 1 0
      modules/tm/t_fwd.c
  3. 1 0
      modules/tm/t_reply.c

+ 1 - 1
modules/tm/t_funcs.c

@@ -328,7 +328,7 @@ int t_relay_to( struct sip_msg  *p_msg , struct proxy_l *proxy, int proto,
 	ret=t_forward_nonack(t, p_msg, proxy, proto);
 	ret=t_forward_nonack(t, p_msg, proxy, proto);
 handle_ret:
 handle_ret:
 	if (ret<=0) {
 	if (ret<=0) {
-		DBG( "ERROR:tm:t_relay_to:  t_forward_nonack returned error \n");
+		DBG( "t_forward_nonack returned error %d (%d)\n", ret, ser_error);
 		/* we don't want to pass upstream any reply regarding replicating
 		/* we don't want to pass upstream any reply regarding replicating
 		 * a request; replicated branch must stop at us*/
 		 * a request; replicated branch must stop at us*/
 		if (likely(!replicate)) {
 		if (likely(!replicate)) {

+ 1 - 0
modules/tm/t_fwd.c

@@ -346,6 +346,7 @@ static int prepare_new_uac( struct cell *t, struct sip_msg *i_req,
 				keng = sr_kemi_eng_get();
 				keng = sr_kemi_eng_get();
 				if(unlikely(keng!=NULL)) {
 				if(unlikely(keng!=NULL)) {
 					bctx = sr_kemi_act_ctx_get();
 					bctx = sr_kemi_act_ctx_get();
+					init_run_actions_ctx(&ctx);
 					sr_kemi_act_ctx_set(&ctx);
 					sr_kemi_act_ctx_set(&ctx);
 					if(keng->froute(i_req, BRANCH_ROUTE,
 					if(keng->froute(i_req, BRANCH_ROUTE,
 							sr_kemi_cbname_lookup_idx(branch_route))<0) {
 							sr_kemi_cbname_lookup_idx(branch_route))<0) {

+ 1 - 0
modules/tm/t_reply.c

@@ -2343,6 +2343,7 @@ int reply_received( struct sip_msg  *p_msg )
 		 */
 		 */
 		if(unlikely(keng!=NULL)) {
 		if(unlikely(keng!=NULL)) {
 			bctx = sr_kemi_act_ctx_get();
 			bctx = sr_kemi_act_ctx_get();
+			init_run_actions_ctx(&ctx);
 			sr_kemi_act_ctx_set(&ctx);
 			sr_kemi_act_ctx_set(&ctx);
 			keng->froute(p_msg, TM_ONREPLY_ROUTE,
 			keng->froute(p_msg, TM_ONREPLY_ROUTE,
 					sr_kemi_cbname_lookup_idx(onreply_route));
 					sr_kemi_cbname_lookup_idx(onreply_route));