<p>Pirmin Walthert has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/10717">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">pjproject_bundled: check whether UPDATE is supported on outgoing calls<br><br>In ASTERISK-27095 an issue had been fixed because of which chan_pjsip was not<br>trying to send UPDATE messages when connected_line_method was set to invite.<br>However this only solved the issue for incoming INVITES. For outgoing INVITES<br>(important when transferring calls) the options variable needs to be updated<br>at a different place.<br><br>ASTERISK-28182 #close<br>Reported-by: nappsoft<br><br>Change-Id: I76cc06da4ca76ddd6dce814a8b97cc66b98aaf29<br>---<br>A third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch<br>1 file changed, 34 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/17/10717/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch b/third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch</span><br><span>new file mode 100644</span><br><span>index 0000000..5959277</span><br><span>--- /dev/null</span><br><span>+++ b/third-party/pjproject/patches/0010-outgoing_connected_line_method_update.patch</span><br><span>@@ -0,0 +1,34 @@</span><br><span style="color: hsl(120, 100%, 40%);">+diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c</span><br><span style="color: hsl(120, 100%, 40%);">+--- a/pjsip/src/pjsip-ua/sip_inv.c</span><br><span>++++ b/pjsip/src/pjsip-ua/sip_inv.c</span><br><span style="color: hsl(120, 100%, 40%);">+@@ -4185,6 +4185,30 @@</span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span style="color: hsl(120, 100%, 40%);">+        if (tsx->status_code != 100) {</span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span style="color: hsl(120, 100%, 40%);">++             if (inv->role == PJSIP_ROLE_UAC) {</span><br><span style="color: hsl(120, 100%, 40%);">++                    pjsip_rx_data *rdata = e->body.tsx_state.src.rdata;</span><br><span style="color: hsl(120, 100%, 40%);">++               pjsip_allow_hdr *allow = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">++               pjsip_msg *msg = rdata->msg_info.msg;</span><br><span style="color: hsl(120, 100%, 40%);">++             </span><br><span style="color: hsl(120, 100%, 40%);">++             if (msg) {</span><br><span style="color: hsl(120, 100%, 40%);">++                       allow = (pjsip_allow_hdr*) pjsip_msg_find_hdr(msg, PJSIP_H_ALLOW,</span><br><span style="color: hsl(120, 100%, 40%);">++                            NULL);</span><br><span style="color: hsl(120, 100%, 40%);">++                   }</span><br><span style="color: hsl(120, 100%, 40%);">++                    if (allow) {</span><br><span style="color: hsl(120, 100%, 40%);">++                     unsigned i;</span><br><span style="color: hsl(120, 100%, 40%);">++                  const pj_str_t STR_UPDATE = { "UPDATE", 6 };</span><br><span style="color: hsl(120, 100%, 40%);">++</span><br><span style="color: hsl(120, 100%, 40%);">++                    for (i=0; i<allow->count; ++i) {</span><br><span style="color: hsl(120, 100%, 40%);">++                           if (pj_stricmp(&allow->values[i], &STR_UPDATE)==0)</span><br><span style="color: hsl(120, 100%, 40%);">++                            break;</span><br><span style="color: hsl(120, 100%, 40%);">++                       }</span><br><span style="color: hsl(120, 100%, 40%);">++                    if (i != allow->count) {</span><br><span style="color: hsl(120, 100%, 40%);">++                      /* UPDATE is present in Allow */</span><br><span style="color: hsl(120, 100%, 40%);">++                     inv->options |= PJSIP_INV_SUPPORT_UPDATE;</span><br><span style="color: hsl(120, 100%, 40%);">++                     }</span><br><span style="color: hsl(120, 100%, 40%);">++                }</span><br><span style="color: hsl(120, 100%, 40%);">++                }</span><br><span style="color: hsl(120, 100%, 40%);">++</span><br><span style="color: hsl(120, 100%, 40%);">+          if (dlg->remote.info->tag.slen)</span><br><span style="color: hsl(120, 100%, 40%);">+                     inv_set_state(inv, PJSIP_INV_STATE_EARLY, e);</span><br><span style="color: hsl(120, 100%, 40%);">+ </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/10717">change 10717</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10717"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 13 </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I76cc06da4ca76ddd6dce814a8b97cc66b98aaf29 </div>
<div style="display:none"> Gerrit-Change-Number: 10717 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pirmin Walthert <infos@nappsoft.ch> </div>