mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-21 09:10:36 +00:00
Merge "chan_pjsip: Fix ability to send UPDATE on COLP"
This commit is contained in:
@@ -1372,8 +1372,7 @@ static int update_connected_line_information(void *data)
|
|||||||
int generate_new_sdp;
|
int generate_new_sdp;
|
||||||
|
|
||||||
method = session->endpoint->id.refresh_method;
|
method = session->endpoint->id.refresh_method;
|
||||||
if (session->inv_session->invite_tsx
|
if (session->inv_session->options & PJSIP_INV_SUPPORT_UPDATE) {
|
||||||
&& (session->inv_session->options & PJSIP_INV_SUPPORT_UPDATE)) {
|
|
||||||
method = AST_SIP_SESSION_REFRESH_METHOD_UPDATE;
|
method = AST_SIP_SESSION_REFRESH_METHOD_UPDATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -608,8 +608,15 @@
|
|||||||
;direct_media_glare_mitigation=none ; Mitigation of direct media re INVITE
|
;direct_media_glare_mitigation=none ; Mitigation of direct media re INVITE
|
||||||
; glare (default: "none")
|
; glare (default: "none")
|
||||||
;direct_media_method=invite ; Direct Media method type (default: "invite")
|
;direct_media_method=invite ; Direct Media method type (default: "invite")
|
||||||
;connected_line_method=invite ; Connected line method type (default:
|
;connected_line_method=invite ; Connected line method type.
|
||||||
; "invite")
|
; When set to "invite", check the remote's
|
||||||
|
; Allow header and if UPDATE is allowed, send
|
||||||
|
; UPDATE instead of INVITE to avoid SDP
|
||||||
|
; renegotiation. If UPDATE is not Allowed,
|
||||||
|
; send INVITE.
|
||||||
|
; If set to "update", send UPDATE regardless
|
||||||
|
; of what the remote Allows.
|
||||||
|
; (default: "invite")
|
||||||
;direct_media=yes ; Determines whether media may flow directly between
|
;direct_media=yes ; Determines whether media may flow directly between
|
||||||
; endpoints (default: "yes")
|
; endpoints (default: "yes")
|
||||||
;disable_direct_media_on_nat=no ; Disable direct media session refreshes when
|
;disable_direct_media_on_nat=no ; Disable direct media session refreshes when
|
||||||
|
|||||||
@@ -193,11 +193,18 @@
|
|||||||
<description>
|
<description>
|
||||||
<para>Method used when updating connected line information.</para>
|
<para>Method used when updating connected line information.</para>
|
||||||
<enumlist>
|
<enumlist>
|
||||||
<enum name="invite" />
|
<enum name="invite">
|
||||||
|
<para>When set to <literal>invite</literal>, check the remote's Allow header and
|
||||||
|
if UPDATE is allowed, send UPDATE instead of INVITE to avoid SDP
|
||||||
|
renegotiation. If UPDATE is not Allowed, send INVITE.</para>
|
||||||
|
</enum>
|
||||||
<enum name="reinvite">
|
<enum name="reinvite">
|
||||||
<para>Alias for the <literal>invite</literal> value.</para>
|
<para>Alias for the <literal>invite</literal> value.</para>
|
||||||
</enum>
|
</enum>
|
||||||
<enum name="update" />
|
<enum name="update">
|
||||||
|
<para>If set to <literal>update</literal>, send UPDATE regardless of what the remote
|
||||||
|
Allows. </para>
|
||||||
|
</enum>
|
||||||
</enumlist>
|
</enumlist>
|
||||||
</description>
|
</description>
|
||||||
</configOption>
|
</configOption>
|
||||||
|
|||||||
29
third-party/pjproject/patches/0070-Set-PJSIP_INV_SUPPORT_UPDATE-correctly-in-pjsip_inv_.patch
vendored
Normal file
29
third-party/pjproject/patches/0070-Set-PJSIP_INV_SUPPORT_UPDATE-correctly-in-pjsip_inv_.patch
vendored
Normal file
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user