]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Merge remote-tracking branch 'fsorig/master'
authorMoises Silva <moy@sangoma.com>
Wed, 28 Sep 2011 16:19:48 +0000 (12:19 -0400)
committerMoises Silva <moy@sangoma.com>
Wed, 28 Sep 2011 16:19:48 +0000 (12:19 -0400)
Conflicts:
src/mod/endpoints/mod_sofia/mod_sofia.c
src/mod/endpoints/mod_sofia/sofia_glue.c

1  2 
libs/freetdm/mod_freetdm/mod_freetdm.c
src/mod/endpoints/mod_sofia/mod_sofia.c

index 2f78a4182b4fd14f2ec8170f5d8dc256dd6ef770,0ab0b152ff329221ba7a2867265edb98aec148f4..818e6cf12cc909d103ff6e0eba1767dc21d1ce73
@@@ -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: