diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-01 00:06:43 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-01 00:06:43 +0000 |
commit | fa47ab787a866e627b66e315213db41d442149eb (patch) | |
tree | 67970958c410f5d6f5cf54aabb4f1a33713210fd /rtp.c | |
parent | bd6eb0d6617c6ec9ecb534b57e72eba1c3c2d6f4 (diff) |
allow DTMF timeout to be configurable (issue #5160)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6918 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'rtp.c')
-rwxr-xr-x | rtp.c | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -58,7 +58,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #define RTP_MTU 1200 -static int dtmftimeout = 3000; /* 3000 samples */ +#define DEFAULT_DTMF_TIMEOUT 3000 /* samples */ + +static int dtmftimeout = DEFAULT_DTMF_TIMEOUT; static int rtpstart = 0; static int rtpend = 0; @@ -1813,6 +1815,7 @@ void ast_rtp_reload(void) rtpstart = 5000; rtpend = 31000; + dtmftimeout = DEFAULT_DTMF_TIMEOUT; cfg = ast_config_load("rtp.conf"); if (cfg) { if ((s = ast_variable_retrieve(cfg, "general", "rtpstart"))) { @@ -1840,6 +1843,14 @@ void ast_rtp_reload(void) ast_log(LOG_WARNING, "Disabling RTP checksums is not supported on this operating system!\n"); #endif } + if ((s = ast_variable_retrieve(cfg, "general", "dtmftimeout"))) { + dtmftimeout = atoi(s); + if ((dtmftimeout < 0) || (dtmftimeout > 20000)) { + ast_log(LOG_WARNING, "DTMF timeout of '%d' outside range, using default of '%d' instead\n", + dtmftimeout, DEFAULT_DTMF_TIMEOUT); + dtmftimeout = DEFAULT_DTMF_TIMEOUT; + }; + } ast_config_destroy(cfg); } if (rtpstart >= rtpend) { |