Merged revisions 162205 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r162205 | file | 2008-12-09 15:48:35 -0400 (Tue, 09 Dec 2008) | 14 lines
  
  Merged revisions 162204 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r162204 | file | 2008-12-09 15:47:07 -0400 (Tue, 09 Dec 2008) | 7 lines
    
    Make sure that the timestamp for DTMF is not the same as the previous voice frame and do not send audio when transmitting DTMF as this confuses some equipment.
    (closes issue #13209)
    Reported by: ip-rob
    Patches:
          13209.diff uploaded by file (license 11)
    Tested by: ip-rob, bujones
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@162207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.1
Joshua Colp 17 years ago
parent 085cfe48cf
commit 8e796b4658

@ -3050,6 +3050,7 @@ int ast_rtp_senddigit_begin(struct ast_rtp *rtp, char digit)
rtp->dtmfmute = ast_tvadd(ast_tvnow(), ast_tv(0, 500000));
rtp->send_duration = 160;
rtp->lastdigitts = rtp->lastts + rtp->send_duration;
/* Get a pointer to the header */
rtpheader = (unsigned int *)data;
@ -3169,10 +3170,9 @@ int ast_rtp_senddigit_end(struct ast_rtp *rtp, char digit)
ast_inet_ntoa(rtp->them.sin_addr),
ntohs(rtp->them.sin_port), rtp->send_payload, rtp->seqno, rtp->lastdigitts, res - hdrlen);
}
rtp->lastts += rtp->send_duration;
rtp->sending_digit = 0;
rtp->send_digit = 0;
/* Increment lastdigitts */
rtp->lastdigitts += 960;
rtp->seqno++;
return res;
@ -3498,6 +3498,10 @@ static int ast_rtp_raw_write(struct ast_rtp *rtp, struct ast_frame *f, int codec
int pred;
int mark = 0;
if (rtp->sending_digit) {
return 0;
}
ms = calc_txstamp(rtp, &f->delivery);
/* Default prediction */
if (f->frametype == AST_FRAME_VOICE) {

Loading…
Cancel
Save