mgcp: Add an option to enable/disable vad and enable it by default
diff --git a/src/mgcp_ss7.c b/src/mgcp_ss7.c
index 41c2135..2410c1c 100644
--- a/src/mgcp_ss7.c
+++ b/src/mgcp_ss7.c
@@ -62,6 +62,7 @@
 #define FROM_MGW_PORT(no) (no+1)
 
 static struct mgcp_ss7 *s_ss7;
+static int s_vad_enabled = 1;
 
 struct mgcp_ss7_endpoint {
 	unsigned int port;
@@ -350,6 +351,8 @@
 			  ManObj_G_RTP_AMR_PAYLOAD_FORMAT, RtpAmrPayloadFormat_OCTET_ALIGNED, 0);
 	MtnSaSetManObject(mgw_port, ChannelType_PORT,
 			  ManObj_G_VOICE_ENCODING, Voice_Encoding_AMR_5_90, 0);
+	MtnSaSetManObject(mgw_port, ChannelType_PORT,
+			  ManObj_C_VOICE_VAD_CNG, s_vad_enabled, 0);
 
 	update_mute_status(mgw_port, mg_endp->conn_mode);
 
@@ -817,12 +820,26 @@
 
 void logging_vty_add_cmds(void);
 
+DEFUN(cfg_mgcp_vad, cfg_mgcp_vad_cmd,
+      "vad (enabled|disabled)",
+      "Enable the Voice Activity Detection\n"
+      "Enable\n" "Disable\n")
+{
+	if (argv[0][0] == 'e')
+		s_vad_enabled = 1;
+	else
+		s_vad_enabled = 0;
+	return CMD_SUCCESS;
+}
+
 static void mgcp_mgw_vty_init(void)
 {
 	cmd_init(1);
 	vty_init(&vty_info);
 	logging_vty_add_cmds();
 	mgcp_vty_init();
+
+	install_element(MGCP_NODE, &cfg_mgcp_vad_cmd);
 }