char digit_char;
uint32_t dur;
- teletone_dtmf_detect(&ftdmchan->dtmf_detect, sln, (int)slen);
-
- if ((hit = teletone_dtmf_get(&ftdmchan->dtmf_detect, &digit_char, &dur)) == TT_HIT_BEGIN) {
+ if ((hit = teletone_dtmf_detect(&ftdmchan->dtmf_detect, sln, (int)slen)) == TT_HIT_BEGIN) {
+ teletone_dtmf_get(&ftdmchan->dtmf_detect, &digit_char, &dur);
+
if (ftdmchan->state == FTDM_CHANNEL_STATE_CALLWAITING && (digit_char == 'D' || digit_char == 'A')) {
ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK]++;
} else {