diff options
author | Joshua Colp <jcolp@digium.com> | 2016-05-18 18:27:28 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-05-18 18:27:28 -0500 |
commit | 4e7a1b41933380be2a05288ee22d1ff751cbf869 (patch) | |
tree | 2621a18c7fc3eb7773e67e22624e0205e5c99c91 | |
parent | ae81b55361f3919706775b5a64ab8327a8edab4f (diff) | |
parent | 5bd1bf281604b653134d79e7094c7cec00785ff1 (diff) |
Merge "chan_sip: Prevent extra Session-Expires headers from being added"
-rw-r--r-- | channels/chan_sip.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 7fde6f8f9..19f8aa308 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -14529,10 +14529,12 @@ static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init, add_header(&req, "Require", "replaces"); } - /* Add Session-Timers related headers */ - if (st_get_mode(p, 0) == SESSION_TIMER_MODE_ORIGINATE + /* Add Session-Timers related headers if not already there */ + if (ast_strlen_zero(sip_get_header(&req, "Session-Expires")) && + (sipmethod == SIP_INVITE || sipmethod == SIP_UPDATE) && + (st_get_mode(p, 0) == SESSION_TIMER_MODE_ORIGINATE || (st_get_mode(p, 0) == SESSION_TIMER_MODE_ACCEPT - && st_get_se(p, FALSE) != DEFAULT_MIN_SE)) { + && st_get_se(p, FALSE) != DEFAULT_MIN_SE))) { char i2astr[10]; if (!p->stimer->st_interval) { |