From: Moises Silva Date: Wed, 28 Sep 2011 16:19:48 +0000 (-0400) Subject: Merge remote-tracking branch 'fsorig/master' X-Git-Tag: v1.2-rc1~51 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b004bcfc6dbadf0e8e37664874322da7691b1ecb;p=thirdparty%2Ffreeswitch.git Merge remote-tracking branch 'fsorig/master' Conflicts: src/mod/endpoints/mod_sofia/mod_sofia.c src/mod/endpoints/mod_sofia/sofia_glue.c --- b004bcfc6dbadf0e8e37664874322da7691b1ecb diff --cc src/mod/endpoints/mod_sofia/mod_sofia.c index 2f78a4182b,0ab0b152ff..818e6cf12c --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@@ -1364,11 -1374,16 +1375,17 @@@ static switch_status_t sofia_send_dtmf( } case DTMF_INFO: { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Sending INFO DTMF %c of length %d\n", dtmf->digit, dtmf->duration); - snprintf(message, sizeof(message), "Signal=%c\r\nDuration=%d\r\n", dtmf->digit, dtmf->duration / 8); - switch_mutex_lock(tech_pvt->sofia_mutex); - nua_info(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("application/dtmf-relay"), SIPTAG_PAYLOAD_STR(message), TAG_END()); - switch_mutex_unlock(tech_pvt->sofia_mutex); + if (dtmf->digit == 'w') { + switch_yield(500000); + } else if (dtmf->digit == 'W') { + switch_yield(1000000); + } else { ++ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Sending INFO DTMF %c of length %d\n", dtmf->digit, dtmf->duration / 8); + snprintf(message, sizeof(message), "Signal=%c\r\nDuration=%d\r\n", dtmf->digit, dtmf->duration / 8); + switch_mutex_lock(tech_pvt->sofia_mutex); + nua_info(tech_pvt->nh, SIPTAG_CONTENT_TYPE_STR("application/dtmf-relay"), SIPTAG_PAYLOAD_STR(message), TAG_END()); + switch_mutex_unlock(tech_pvt->sofia_mutex); + } } break; case DTMF_NONE: