diff --git a/daemon/codec.c b/daemon/codec.c index f9ee522f5..520140703 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -2295,10 +2295,12 @@ static tc_code packet_dtmf(struct codec_ssrc_handler *ch, struct codec_ssrc_hand ret = TCC_CONSUMED; else ret = packet_dtmf_fwd(ch, input_ch, dup, mp); + mp->ssrc_out->parent->seq_diff++; if (ret != TCC_CONSUMED) __transcode_packet_free(dup); } + mp->ssrc_out->parent->seq_diff--; // discard the received event do_blocking = true; diff --git a/t/auto-daemon-tests.pl b/t/auto-daemon-tests.pl index 8483396ad..8e7e482d6 100755 --- a/t/auto-daemon-tests.pl +++ b/t/auto-daemon-tests.pl @@ -1807,12 +1807,12 @@ snd($sock_a, $port_b, rtp(101, 1028, 6040, 0x1234, "\x03\xa6\x03\xc0")); rcv_no($sock_b); # send audio, receive end event snd($sock_a, $port_b, rtp(8, 1029, 7000, 0x1234, "\x00" x 160)); +rcv($sock_b, $port_a, rtpm(101, 1029, 6200, 0x1234, "\x01\x8c\x03\xc0")); +rcv($sock_b, $port_a, rtpm(101, 1030, 6200, 0x1234, "\x01\x8c\x03\xc0")); rcv($sock_b, $port_a, rtpm(101, 1031, 6200, 0x1234, "\x01\x8c\x03\xc0")); -rcv($sock_b, $port_a, rtpm(101, 1032, 6200, 0x1234, "\x01\x8c\x03\xc0")); -rcv($sock_b, $port_a, rtpm(101, 1033, 6200, 0x1234, "\x01\x8c\x03\xc0")); snd($sock_a, $port_b, rtp(8, 1030, 7160, 0x1234, "\x00" x 160)); -rcv($sock_b, $port_a, rtpm(8, 1034, 7160, 0x1234, "\x00" x 160)); +rcv($sock_b, $port_a, rtpm(8, 1032, 7160, 0x1234, "\x00" x 160));