Summary: | ASTERISK-21170: DTMF timestamp issue | ||
Reporter: | NITESH BANSAL (nbansal) | Labels: | |
Date Opened: | 2013-02-26 08:30:32.000-0600 | Date Closed: | 2013-10-23 12:37:01 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Resources/res_rtp_asterisk |
Versions: | SVN | Frequency of Occurrence | |
Related Issues: | |||
Environment: | x86_64 Debian Squeeze | Attachments: | ( 0) dtmf-timestamp.patch ( 1) DTMF-TIME-STAMP-ISSUE.tar.gz |
Description: | Asterisk assumes that every RTP packet is 20 ms apart which does not work for the start and stop of DTMF and it causes issues for the equipment which tries to render the RTPEvent DTMF back into Inband.
High jitter values have been observed for the DTMF packets. | ||
Comments: | By: NITESH BANSAL (nbansal) 2013-02-26 08:36:44.633-0600 This test case can be reproduced by making a test case with SIPP. I am attaching SIPP scripts for audio calls between A and B and corresponding PCAPs played by two parties. With this PCAP, a huge jitter is observed in the RTP stream going towards B. By: NITESH BANSAL (nbansal) 2013-02-26 08:39:57.415-0600 I have made a patch for this issue, attaching the patch file. Please review this patch. By: Rusty Newton (rnewton) 2013-02-27 18:25:59.842-0600 NITESH, looks like you have provided several patches before. Do you already have reviewboard access? If so, go ahead and post your patch to reviewboard. Otherwise send an E-mail to mjordan at digium.com to request access. https://wiki.asterisk.org/wiki/display/AST/Reviewboard+Usage https://wiki.asterisk.org/wiki/display/AST/Coding+Guidelines By: NITESH BANSAL (nbansal) 2013-03-04 05:26:20.547-0600 Hi Rusty, I don't have the access to review board yet, i will write an email to Matt Jordan to get the access and will post my patch over there. By: Jonathan Rose (jrose) 2013-10-18 09:58:58.647-0500 Hey Nitesh, I've been poking at this patch a bit, and I don't see anything wrong with it so far. I do have a question about one thing though: rtp->lastts += calc_txstamp(rtp, NULL) * 8; What is the reason for multiplying by eight here and in all the other new places calc_txstamp is called exactly? By: Torrey Searle (tsearle) 2013-10-18 10:30:40.340-0500 calc_txstamp is in milliseconds rtp timestamp is in samples. This code is assuming a sample rate of 8000 (which should always be the case for the telephone-event payload). By: Jonathan Rose (jrose) 2013-10-18 14:37:48.337-0500 Alright, I thought it was something like that, I just wasn't sure what the exact time scale we were converting to was. By: Jonathan Rose (jrose) 2013-10-18 15:04:59.975-0500 https://reviewboard.asterisk.org/r/2938/ I went ahead and posted this to reviewboard. |