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
This commit is contained in:
parent
ea02bc3685
commit
bb2102a991
|
@ -12505,11 +12505,9 @@ static int reqprep(struct sip_request *req, struct sip_pvt *p, int sipmethod, ui
|
|||
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");
|
||||
|
|
|
@ -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
|
||||
|
Loading…
Reference in New Issue