mirror of https://github.com/asterisk/asterisk
When connected_line_method is "invite", we're supposed to determine if the client can support UPDATE and if it can, send UPDATE instead of INVITE to avoid the SDP renegotiation. Not only was pjproject not setting the PJSIP_INV_SUPPORT_UPDATE flag, we were testing that invite_tsx wasn't NULL which isn't always the case. * Updated chan_pjsip/update_connected_line_information to drop the requirement that invite_tsx isn't NULL. * Submitted patch to pjproject sip_inv.c that sets the PJSIP_INV_SUPPORT_UPDATE flag correctly. * Updated pjsip.conf.sample to clarify what happens when "invite" is specified. ASTERISK-27095 Change-Id: Ic2381b3567b8052c616d96fbe79564c530e81560pull/9/head
parent
366971827a
commit
c0c99c7618
@ -0,0 +1,29 @@
|
||||
From 1193681959816effa121c4470748d5faa3a59272 Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <gjoseph@digium.com>
|
||||
Date: Thu, 29 Jun 2017 13:42:10 -0600
|
||||
Subject: [PATCH] Set PJSIP_INV_SUPPORT_UPDATE correctly in
|
||||
pjsip_inv_verify_request3
|
||||
|
||||
pjsip_inv_verify_request3 was setting rem_options when UPDATE was
|
||||
detected in the Allow header. That's just an internal variable and
|
||||
doesn't go anywhere. It's '*options' that needs to be set.
|
||||
---
|
||||
pjsip/src/pjsip-ua/sip_inv.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c
|
||||
index fbc8ebe..6db7e6b 100644
|
||||
--- a/pjsip/src/pjsip-ua/sip_inv.c
|
||||
+++ b/pjsip/src/pjsip-ua/sip_inv.c
|
||||
@@ -1237,7 +1237,7 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request3(pjsip_rx_data *rdata,
|
||||
|
||||
if (i != allow->count) {
|
||||
/* UPDATE is present in Allow */
|
||||
- rem_option |= PJSIP_INV_SUPPORT_UPDATE;
|
||||
+ *options |= PJSIP_INV_SUPPORT_UPDATE;
|
||||
}
|
||||
|
||||
}
|
||||
--
|
||||
2.9.4
|
||||
|
Loading…
Reference in new issue