diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 42ecbe72f9..da8f8c1373 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -1023,7 +1023,10 @@ static void do_2833(switch_rtp_t *rtp_session) rtp_session->dtmf_data.out_digit = rdigit->digit; rtp_session->dtmf_data.out_digit_packet[0] = (unsigned char) switch_char_to_rfc2833(rdigit->digit); rtp_session->dtmf_data.out_digit_packet[1] = 7; + rtp_session->dtmf_data.out_digit_packet[2] = (unsigned char) (rtp_session->dtmf_data.out_digit_sub_sofar >> 8); + rtp_session->dtmf_data.out_digit_packet[3] = (unsigned char) rtp_session->dtmf_data.out_digit_sub_sofar; + rtp_session->dtmf_data.timestamp_dtmf = rtp_session->last_write_ts + samples; if (rtp_session->timer.interval) { switch_core_timer_check(&rtp_session->timer); @@ -1721,7 +1724,6 @@ static int rtp_common_write(switch_rtp_t *rtp_session, if (send) { send_msg->header.seq = htons(++rtp_session->seq); - if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_SECURE_SEND)) { int sbytes = (int) bytes; err_status_t stat;