[Asterisk-code-review] chan_sip.c Session timers get removed on UPDATE (asterisk[19])

Mark Petersen asteriskteam at digium.com
Tue Apr 26 13:42:26 CDT 2022


Mark Petersen has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/18456 )


Change subject: chan_sip.c Session timers get removed on UPDATE
......................................................................

chan_sip.c Session timers get removed on UPDATE

If Asterisk receives a SIP REFER with Session-Timers UAC
maintain Session-Timers when sending UPDATE"

ASTERISK-29843

Change-Id: I8e9a21c13bf757fa34d778f49ba3cf859b29ae5c
---
M channels/chan_sip.c
A doc/CHANGES-staging/chan_sip_session-timer_on_update.txt
2 files changed, 7 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/56/18456/1

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b6aff80..d15d0b5 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -12503,11 +12503,9 @@
 	   An exception to this behavior is the ACK request. Since Asterisk never requires
 	   session-timers support from a remote end-point (UAS) in an INVITE, it must
 	   not send 'Require: timer' header in the ACK request.
-	   This should only be added in the INVITE transactions, not MESSAGE or REFER or other
-	   in-dialog messages.
 	*/
 	if (p->stimer && p->stimer->st_active == TRUE && p->stimer->st_active_peer_ua == TRUE
-	    && sipmethod == SIP_INVITE) {
+	    && (sipmethod == SIP_INVITE || sipmethod == SIP_UPDATE)) {
 		char se_hdr[256];
 		snprintf(se_hdr, sizeof(se_hdr), "%d;refresher=%s", p->stimer->st_interval,
 			p->stimer->st_ref == SESSION_TIMER_REFRESHER_US ? "uac" : "uas");
diff --git a/doc/CHANGES-staging/chan_sip_session-timer_on_update.txt b/doc/CHANGES-staging/chan_sip_session-timer_on_update.txt
new file mode 100644
index 0000000..259782f
--- /dev/null
+++ b/doc/CHANGES-staging/chan_sip_session-timer_on_update.txt
@@ -0,0 +1,6 @@
+Subject: chan_sip
+
+Session timers get removed on UPDATE
+Fix if Asterisk receives a SIP REFER with Session-Timers UAC
+that Asterisk maintains Session-Timers when sending UPDATE request
+

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/18456
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 19
Gerrit-Change-Id: I8e9a21c13bf757fa34d778f49ba3cf859b29ae5c
Gerrit-Change-Number: 18456
Gerrit-PatchSet: 1
Gerrit-Owner: Mark Petersen <asterisk.org at zombie.dk>
Gerrit-CC: Mark Petersen <bugs.digium.com at zombie.dk>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20220426/20a472a1/attachment.html>


More information about the asterisk-code-review mailing list