aboutsummaryrefslogtreecommitdiffstats
path: root/src/mgcp_ss7.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-06 16:03:27 +0000
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-07 00:19:07 +0800
commitd5918ff9e40b4443d4490ba18d785f5e55591a2c (patch)
treedb0fc7719cbb218f393caf47f4e320f84f0d3864 /src/mgcp_ss7.c
parent5fb30572a6dacc3bcc3151a0ecbe2448282dabe9 (diff)
mgcp: Add an option to enable/disable vad and enable it by default
Diffstat (limited to 'src/mgcp_ss7.c')
-rw-r--r--src/mgcp_ss7.c17
1 files changed, 17 insertions, 0 deletions
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 @@ static int exit_on_failure = 0;
#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 @@ static void allocate_endp(struct mgcp_ss7 *ss7, int endp_no)
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 @@ static struct vty_app_info vty_info = {
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);
}