<p>Friendly Automation <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/10829">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Joshua C. Colp: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">RTP: reset DTMF last seqno/timestamp on RTP renegotiation<br><br>The remote side may start a new stream when renegotiating RTP.<br>Need to reset the DTMF last sequence number and the timestamp<br>of the last END packet on RTP renegotiation.<br><br>If the new time stamp is lower then the timestamp of the last DTMF END packet<br>the asterisk drops all DTMF frames as out of order.<br><br>This bug was caught using Cisco ip-phone SPA5XX and codec g722.<br>On SIP session update the SPA50X resets stream and a new timestamp is twice<br>smaller then the previous.<br><br>ASTERISK-28162 #close<br><br>Change-Id: Ic72b4497e74d801b27a635559c1cf29c16c95254<br>---<br>M res/res_rtp_asterisk.c<br>1 file changed, 4 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c</span><br><span>index c0e9e63..77eba21 100644</span><br><span>--- a/res/res_rtp_asterisk.c</span><br><span>+++ b/res/res_rtp_asterisk.c</span><br><span>@@ -6042,6 +6042,10 @@</span><br><span>           rtp->rtcp->local_addr_str = ast_strdup(ast_sockaddr_stringify(&local));</span><br><span>    }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ /* Need to reset the DTMF last sequence number and the timestamp of the last END packet */</span><br><span style="color: hsl(120, 100%, 40%);">+    rtp->last_seqno = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+       rtp->last_end_timestamp = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>    if (strictrtp && rtp->strict_rtp_state != STRICT_RTP_OPEN</span><br><span>                 && !ast_sockaddr_isnull(addr) && ast_sockaddr_cmp(addr, &rtp->strict_rtp_address)) {</span><br><span>          /* We only need to learn a new strict source address if we've been told the source is</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/10829">change 10829</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10829"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 13 </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ic72b4497e74d801b27a635559c1cf29c16c95254 </div>
<div style="display:none"> Gerrit-Change-Number: 10829 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Alexei Gradinari <alex2grad@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Alexei Gradinari <alex2grad@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation (1000185) </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Joshua C. Colp <jcolp@digium.com> </div>