Browse Source

rtpengine: optional ping parameter for rpc reload command

- specify if ping should be done to rtpengines at reload time
Daniel-Constantin Mierla 1 năm trước cách đây
mục cha
commit
40b735216c
1 tập tin đã thay đổi với 10 bổ sung1 xóa
  1. 10 1
      src/modules/rtpengine/rtpengine.c

+ 10 - 1
src/modules/rtpengine/rtpengine.c

@@ -1609,6 +1609,8 @@ error:
 static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
 {
 	time_t tnow;
+	int rping = 1;
+	int n = 0;
 
 	if(rtpp_db_url.s == NULL) {
 		// no database
@@ -1621,6 +1623,13 @@ static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
 		return;
 	}
 
+	n = rpc->scan(ctx, "*d", &rping);
+	if(n != 1) {
+		rping = 1;
+	} else if(rping != 0) {
+		rping = 1;
+	}
+
 	tnow = time(NULL);
 	if(tnow - _rtpe_list_version->vertime < RTPE_LIST_VERSION_DELAY) {
 		rpc->fault(ctx, 500, "Too short reload interval - try later");
@@ -1634,7 +1643,7 @@ static void rtpengine_rpc_reload(rpc_t *rpc, void *ctx)
 		return;
 	}
 
-	if(build_rtpp_socks(1, 1)) {
+	if(build_rtpp_socks(1, rping)) {
 		rpc->fault(ctx, 500, "Failed to build rtpengine sockets");
 		return;
 	}