Explorar o código

kazoo: avoid creating an empty route block structure

- use route_lookup() instead of route_get(), so the empty route block is
  not created if the route is not defined in the kamailio.cfg

(cherry picked from commit ab346e80647228afdbcaf6884a8573c9221ca38b)
Daniel-Constantin Mierla %!s(int64=8) %!d(string=hai) anos
pai
achega
d75e3635c9
Modificáronse 1 ficheiros con 10 adicións e 2 borrados
  1. 10 2
      src/modules/kazoo/kz_amqp.c

+ 10 - 2
src/modules/kazoo/kz_amqp.c

@@ -2401,14 +2401,22 @@ void kz_amqp_fire_connection_event(char *event, char* host, char* zone)
 
 
 void kz_amqp_cb_ok(kz_amqp_cmd_ptr cmd)
 void kz_amqp_cb_ok(kz_amqp_cmd_ptr cmd)
 {
 {
-	int n = route_get(&main_rt, cmd->cb_route);
+	int n = route_lookup(&main_rt, cmd->cb_route);
+	if(n==-1) {
+		/* route block not found in the configuration file */
+		return;
+	}
 	struct action *a = main_rt.rlist[n];
 	struct action *a = main_rt.rlist[n];
 	tmb.t_continue(cmd->t_hash, cmd->t_label, a);
 	tmb.t_continue(cmd->t_hash, cmd->t_label, a);
 }
 }
 
 
 void kz_amqp_cb_error(kz_amqp_cmd_ptr cmd)
 void kz_amqp_cb_error(kz_amqp_cmd_ptr cmd)
 {
 {
-	int n = route_get(&main_rt, cmd->err_route);
+	int n = route_lookup(&main_rt, cmd->err_route);
+	if(n==-1) {
+		/* route block not found in the configuration file */
+		return;
+	}
 	struct action *a = main_rt.rlist[n];
 	struct action *a = main_rt.rlist[n];
 	tmb.t_continue(cmd->t_hash, cmd->t_label, a);
 	tmb.t_continue(cmd->t_hash, cmd->t_label, a);
 }
 }