]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
possible fix for FSCORE-30
authorAnthony Minessale <anthony.minessale@gmail.com>
Fri, 25 May 2007 15:31:47 +0000 (15:31 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Fri, 25 May 2007 15:31:47 +0000 (15:31 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5214 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_rtp.c

index 426704b515b4c3b5a55d19f67db9690ba692d561..8631f962b15ec4b641125242cf8879e86121809a 100644 (file)
@@ -751,9 +751,14 @@ static void do_2833(switch_rtp_t *rtp_session)
                rtp_session->dtmf_data.out_digit_packet[2] = (unsigned char) (duration >> 8);
                rtp_session->dtmf_data.out_digit_packet[3] = (unsigned char) duration;
 
+               if (loops != 1) {
+                       rtp_session->dtmf_data.out_digit_seq++;
+               }
 
                for (x = 0; x < loops; x++) {
-                       rtp_session->dtmf_data.out_digit_seq++;
+                       if (loops == 1) {
+                               rtp_session->dtmf_data.out_digit_seq++;
+                       }
                        switch_rtp_write_manual(rtp_session,
                                                                        rtp_session->dtmf_data.out_digit_packet,
                                                                        4,
@@ -769,6 +774,8 @@ static void do_2833(switch_rtp_t *rtp_session)
 
                if (loops == 1) {
                        rtp_session->last_write_seq = 0;
+               } else {
+                       rtp_session->dtmf_data.out_digit_seq = 0;
                }
        }
 
@@ -1409,7 +1416,7 @@ static int rtp_common_write(switch_rtp_t *rtp_session, void *data, uint32_t data
        }
 
 
-       if (rtp_session->last_write_seq >0 && rtp_session->last_write_seq <= rtp_session->dtmf_data.out_digit_seq) {
+       if (rtp_session->last_write_seq > 0 && rtp_session->last_write_seq <= rtp_session->dtmf_data.out_digit_seq) {
                send = 0;
        }