[commit] r10446 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia
Author: anthm Date: Tue Nov 18 17:46:40 2008 New Revision: 10446 Log: sigh Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c freeswitch/trunk/src/switch_utils.c Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c Tue Nov 18 17:46:40 2008 @@ -3290,8 +3290,12 @@ int tmp; /* move signal_ptr where we need it (right past Signal=) */ signal_ptr = signal_ptr + 7; - tmp = atoi(signal_ptr); - dtmf.digit = switch_rfc2833_to_char(tmp); + if (is_dtmf(*signal_ptr)) { + dtmf.digit = *signal_ptr; + } else { + tmp = atoi(signal_ptr); + dtmf.digit = switch_rfc2833_to_char(tmp); + } } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Bad signal\n"); goto fail; @@ -3300,6 +3304,7 @@ if ((signal_ptr = switch_stristr("Duration=", sip->sip_payload->pl_data))) { int tmp; signal_ptr += 9; + if ((tmp = atoi(signal_ptr)) <= 0) { tmp = switch_core_default_dtmf_duration(0); } Modified: freeswitch/trunk/src/switch_utils.c ============================================================================== --- freeswitch/trunk/src/switch_utils.c (original) +++ freeswitch/trunk/src/switch_utils.c Tue Nov 18 17:46:40 2008 @@ -1128,9 +1128,6 @@ SWITCH_DECLARE(char) switch_rfc2833_to_char(int event) { if (event > -1 && event < (int32_t) sizeof(RFC2833_CHARS)) { - if (is_dtmf(event)) { - return (char) event; - } return RFC2833_CHARS[event]; } return '\0';
participants (1)
-
FreeSWITCH SVN