mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 17:38:59 +00:00
FSCORE-442
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14893 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
@@ -1104,6 +1104,9 @@ SWITCH_DECLARE(uint32_t) switch_core_max_dtmf_duration(uint32_t duration)
|
||||
if (duration > SWITCH_MAX_DTMF_DURATION) {
|
||||
duration = SWITCH_MAX_DTMF_DURATION;
|
||||
}
|
||||
if (duration < SWITCH_MIN_DTMF_DURATION) {
|
||||
duration = SWITCH_MIN_DTMF_DURATION;
|
||||
}
|
||||
runtime.max_dtmf_duration = duration;
|
||||
}
|
||||
return runtime.max_dtmf_duration;
|
||||
@@ -1112,14 +1115,30 @@ SWITCH_DECLARE(uint32_t) switch_core_max_dtmf_duration(uint32_t duration)
|
||||
SWITCH_DECLARE(uint32_t) switch_core_default_dtmf_duration(uint32_t duration)
|
||||
{
|
||||
if (duration) {
|
||||
if (duration < SWITCH_DEFAULT_DTMF_DURATION) {
|
||||
duration = SWITCH_DEFAULT_DTMF_DURATION;
|
||||
if (duration < SWITCH_MIN_DTMF_DURATION) {
|
||||
duration = SWITCH_MIN_DTMF_DURATION;
|
||||
}
|
||||
if (duration > SWITCH_MAX_DTMF_DURATION) {
|
||||
duration = SWITCH_MAX_DTMF_DURATION;
|
||||
}
|
||||
runtime.default_dtmf_duration = duration;
|
||||
}
|
||||
return runtime.default_dtmf_duration;
|
||||
}
|
||||
|
||||
SWITCH_DECLARE(uint32_t) switch_core_min_dtmf_duration(uint32_t duration)
|
||||
{
|
||||
if (duration) {
|
||||
if (duration < SWITCH_MIN_DTMF_DURATION) {
|
||||
duration = SWITCH_MIN_DTMF_DURATION;
|
||||
}
|
||||
if (duration > SWITCH_MAX_DTMF_DURATION) {
|
||||
duration = SWITCH_MAX_DTMF_DURATION;
|
||||
}
|
||||
}
|
||||
return runtime.min_dtmf_duration;
|
||||
}
|
||||
|
||||
static void switch_core_set_serial(void)
|
||||
{
|
||||
char buf[13] = "";
|
||||
@@ -1184,6 +1203,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switc
|
||||
runtime.mailer_app_args = "-t";
|
||||
runtime.max_dtmf_duration = SWITCH_MAX_DTMF_DURATION;
|
||||
runtime.default_dtmf_duration = SWITCH_DEFAULT_DTMF_DURATION;
|
||||
runtime.min_dtmf_duration = SWITCH_MIN_DTMF_DURATION;
|
||||
|
||||
/* INIT APR and Create the pool context */
|
||||
if (apr_initialize() != SWITCH_STATUS_SUCCESS) {
|
||||
@@ -1395,6 +1415,11 @@ static void switch_load_core_config(const char *file)
|
||||
if (tmp > 0) {
|
||||
switch_core_max_dtmf_duration((uint32_t) tmp);
|
||||
}
|
||||
} else if (!strcasecmp(var, "min_dtmf_duration") && !switch_strlen_zero(val)) {
|
||||
int tmp = atoi(val);
|
||||
if (tmp > 0) {
|
||||
switch_core_min_dtmf_duration((uint32_t) tmp);
|
||||
}
|
||||
} else if (!strcasecmp(var, "default_dtmf_duration") && !switch_strlen_zero(val)) {
|
||||
int tmp = atoi(val);
|
||||
if (tmp > 0) {
|
||||
@@ -1610,6 +1635,9 @@ SWITCH_DECLARE(int32_t) switch_core_session_ctl(switch_session_ctl_t cmd, int32_
|
||||
case SCSC_MAX_DTMF_DURATION:
|
||||
*val = switch_core_max_dtmf_duration(*val);
|
||||
break;
|
||||
case SCSC_MIN_DTMF_DURATION:
|
||||
*val = switch_core_min_dtmf_duration(*val);
|
||||
break;
|
||||
case SCSC_DEFAULT_DTMF_DURATION:
|
||||
*val = switch_core_default_dtmf_duration(*val);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user