Summary:ASTERISK-12709: [patch] Timestamp in DTMF does not match the one in the voice stream
Reporter:garychen (garychen)Labels:
Date Opened:2008-09-10 12:26:40Date Closed:2011-06-07 14:07:57
Versions:Frequency of
Environment:Attachments:( 0) rtp.c
Description:I need to put a call OnHold, then OffHold and dial some digits. Problem happens at the second time of OnHold-OffHold-DailDigits:

When OnHold, Asterisk send silent tone to caller side. When OffHold, the voice stream between agent<->Asterisk, Asterisk<->caller are resumed. The RTP stream between Asterisk<->caller has same timestamp as agent<->Asterisk. If Asterisk sends DTMF now, the TS in DTMF not match the TS in the voice stream.


void ast_rtp_new_source(struct ast_rtp *rtp)
// added by GC. 29/08/2008
// reset the TS counter for DTMF with current TS in the stream to
// guarantee DTMF has synchnized TS
rtp->lastdigitts = rtp->lastts;
// end by GC

rtp->set_marker_bit = 1;
rtp->ssrc = ast_random();
Comments:By: Leif Madsen (lmadsen) 2008-10-14 12:00:21

Changing this issue to confirmed as it appears the reporter has displayed a trivial suggested change to resolve the issue. I'm assigning to file in the hopes he can determine if this is a good change or not. Please reassign if necessary.

By: garychen (garychen) 2008-10-14 12:14:25

The change works fine for me.

By: Leif Madsen (lmadsen) 2008-10-14 13:02:12

Right, but we need to have a developer look at it to determine if it is a good change generally to be applied to Asterisk.

By: Matt Riddell (zx81) 2008-11-12 15:35:43.000-0600

Might be easier to read if it was a unified diff rather than the whole of rtp.c

By: Joshua C. Colp (jcolp) 2008-12-08 16:12:11.000-0600

This is a duplicate of the underlying issue in 13209. Please try the patch and post feedback there.