[Asterisk-code-review] res_pjsip_session: Don't aggressively terminate on failed re-INVITE. (asterisk[16])

Joshua Colp asteriskteam at digium.com
Tue Aug 18 04:38:48 CDT 2020


Joshua Colp has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/14735 )


Change subject: res_pjsip_session: Don't aggressively terminate on failed re-INVITE.
......................................................................

res_pjsip_session: Don't aggressively terminate on failed re-INVITE.

Per the RFC when an outgoing re-INVITE is done we should
only terminate the dialog if a 481 or 408 is received.

ASTERISK-29033

Change-Id: I6c3ff513aa41005d02de0396ba820083e9b18503
---
M res/res_pjsip_session.c
1 file changed, 5 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/35/14735/1

diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index 7172e27b..0f47c92 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -3976,8 +3976,11 @@
 							ast_sip_session_send_request_with_cb(session, tdata, cb);
 							return;
 						}
-						if (tsx->status_code != 488 && tsx->status_code != 500) {
-							/* Other reinvite failures (except 488 and 500) result in destroying the session. */
+						/* Per RFC3261 14.1 a response to a re-INVITE should only terminate
+						 * the dialog if a 481 or 408 occurs. All other responses should leave
+						 * the dialog untouched.
+						 */
+						if (tsx->status_code == 481 || tsx->status_code == 408) {
 							if (pjsip_inv_end_session(inv, 500, NULL, &tdata) == PJ_SUCCESS
 								&& tdata) {
 								ast_sip_session_send_request(session, tdata);

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

Gerrit-Project: asterisk
Gerrit-Branch: 16
Gerrit-Change-Id: I6c3ff513aa41005d02de0396ba820083e9b18503
Gerrit-Change-Number: 14735
Gerrit-PatchSet: 1
Gerrit-Owner: Joshua Colp <jcolp at sangoma.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20200818/a10a62bb/attachment.html>


More information about the asterisk-code-review mailing list