<p>Mark Petersen has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/18457">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">chan_sip.c Session timers get removed on UPDATE<br><br>If Asterisk receives a SIP REFER with Session-Timers UAC<br>maintain Session-Timers when sending UPDATE"<br><br>ASTERISK-29843<br><br>Change-Id: I8e9a21c13bf757fa34d778f49ba3cf859b29ae5c<br>---<br>M channels/chan_sip.c<br>A doc/CHANGES-staging/chan_sip_session-timer_on_update.txt<br>2 files changed, 7 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/57/18457/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/channels/chan_sip.c b/channels/chan_sip.c</span><br><span>index b6aff80..d15d0b5 100644</span><br><span>--- a/channels/chan_sip.c</span><br><span>+++ b/channels/chan_sip.c</span><br><span>@@ -12503,11 +12503,9 @@</span><br><span> An exception to this behavior is the ACK request. Since Asterisk never requires</span><br><span> session-timers support from a remote end-point (UAS) in an INVITE, it must</span><br><span> not send 'Require: timer' header in the ACK request.</span><br><span style="color: hsl(0, 100%, 40%);">- This should only be added in the INVITE transactions, not MESSAGE or REFER or other</span><br><span style="color: hsl(0, 100%, 40%);">- in-dialog messages.</span><br><span> */</span><br><span> if (p->stimer && p->stimer->st_active == TRUE && p->stimer->st_active_peer_ua == TRUE</span><br><span style="color: hsl(0, 100%, 40%);">- && sipmethod == SIP_INVITE) {</span><br><span style="color: hsl(120, 100%, 40%);">+ && (sipmethod == SIP_INVITE || sipmethod == SIP_UPDATE)) {</span><br><span> char se_hdr[256];</span><br><span> snprintf(se_hdr, sizeof(se_hdr), "%d;refresher=%s", p->stimer->st_interval,</span><br><span> p->stimer->st_ref == SESSION_TIMER_REFRESHER_US ? "uac" : "uas");</span><br><span>diff --git a/doc/CHANGES-staging/chan_sip_session-timer_on_update.txt b/doc/CHANGES-staging/chan_sip_session-timer_on_update.txt</span><br><span>new file mode 100644</span><br><span>index 0000000..259782f</span><br><span>--- /dev/null</span><br><span>+++ b/doc/CHANGES-staging/chan_sip_session-timer_on_update.txt</span><br><span>@@ -0,0 +1,6 @@</span><br><span style="color: hsl(120, 100%, 40%);">+Subject: chan_sip</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+Session timers get removed on UPDATE</span><br><span style="color: hsl(120, 100%, 40%);">+Fix if Asterisk receives a SIP REFER with Session-Timers UAC</span><br><span style="color: hsl(120, 100%, 40%);">+that Asterisk maintains Session-Timers when sending UPDATE request</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/18457">change 18457</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/c/asterisk/+/18457"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I8e9a21c13bf757fa34d778f49ba3cf859b29ae5c </div>
<div style="display:none"> Gerrit-Change-Number: 18457 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Mark Petersen <asterisk.org@zombie.dk> </div>
<div style="display:none"> Gerrit-CC: Mark Petersen <bugs.digium.com@zombie.dk> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>