<p>Joshua Colp <strong>merged</strong> this change.</p><p><a href="https://gerrit.asterisk.org/10533">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Richard Mudgett: Looks good to me, but someone else must approve
  Joshua Colp: Looks good to me, approved; Approved for Submit

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">app_dial/queue/followme: 'I' options to block initial updates in both directions<br><br>The 'I' option currently blocks initial CONNECTEDLINE or REDIRECTING updates<br>from the called parties to the caller.<br><br>This patch also blocks updates in the other direction before call is<br>answered.<br><br>ASTERISK-27980<br><br>Change-Id: I6ce9e151a2220ce9e95aa66666933cfb9e2a4a01<br>---<br>M apps/app_dial.c<br>M apps/app_followme.c<br>M apps/app_queue.c<br>3 files changed, 21 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/apps/app_dial.c b/apps/app_dial.c</span><br><span>index e4689e1..21d37eb 100644</span><br><span>--- a/apps/app_dial.c</span><br><span>+++ b/apps/app_dial.c</span><br><span>@@ -1733,12 +1733,20 @@</span><br><span>                                              ast_indicate(o->chan, f->subclass.integer);</span><br><span>                                            break;</span><br><span>                                       case AST_CONTROL_CONNECTED_LINE:</span><br><span style="color: hsl(120, 100%, 40%);">+                                              if (ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   ast_verb(3, "Connected line update to %s prevented.\n", ast_channel_name(o->chan));</span><br><span style="color: hsl(120, 100%, 40%);">+                                                      break;</span><br><span style="color: hsl(120, 100%, 40%);">+                                                }</span><br><span>                                            if (ast_channel_connected_line_sub(in, o->chan, f, 1) &&</span><br><span>                                                  ast_channel_connected_line_macro(in, o->chan, f, 0, 1)) {</span><br><span>                                                         ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);</span><br><span>                                                }</span><br><span>                                            break;</span><br><span>                                       case AST_CONTROL_REDIRECTING:</span><br><span style="color: hsl(120, 100%, 40%);">+                                         if (ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   ast_verb(3, "Redirecting update to %s prevented.\n", ast_channel_name(o->chan));</span><br><span style="color: hsl(120, 100%, 40%);">+                                                 break;</span><br><span style="color: hsl(120, 100%, 40%);">+                                                }</span><br><span>                                            if (ast_channel_redirecting_sub(in, o->chan, f, 1) &&</span><br><span>                                                     ast_channel_redirecting_macro(in, o->chan, f, 0, 1)) {</span><br><span>                                                    ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);</span><br><span>diff --git a/apps/app_followme.c b/apps/app_followme.c</span><br><span>index dbb11ee..9aef039 100644</span><br><span>--- a/apps/app_followme.c</span><br><span>+++ b/apps/app_followme.c</span><br><span>@@ -915,6 +915,11 @@</span><br><span>                                                /* Ignore going off hook and flash */</span><br><span>                                                break;</span><br><span>                                       case AST_CONTROL_CONNECTED_LINE:</span><br><span style="color: hsl(120, 100%, 40%);">+                                              if (ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_IGNORE_CONNECTEDLINE)) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                        ast_verb(3, "Connected line update from %s prevented.\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                                                           ast_channel_name(winner));</span><br><span style="color: hsl(120, 100%, 40%);">+                                                    break;</span><br><span style="color: hsl(120, 100%, 40%);">+                                                }</span><br><span>                                            if (!tmpuser) {</span><br><span>                                                      /*</span><br><span>                                                    * Hold connected line update from caller until we have a</span><br><span>@@ -930,11 +935,6 @@</span><br><span>                                                             tpargs->pending_in_connected_update = 1;</span><br><span>                                                  }</span><br><span>                                                    ast_party_connected_line_free(&connected);</span><br><span style="color: hsl(0, 100%, 40%);">-                                                  break;</span><br><span style="color: hsl(0, 100%, 40%);">-                                          }</span><br><span style="color: hsl(0, 100%, 40%);">-                                               if (ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_IGNORE_CONNECTEDLINE)) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                                  ast_verb(3, "Connected line update from %s prevented.\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                                                             ast_channel_name(winner));</span><br><span>                                           } else {</span><br><span>                                                     ast_verb(3,</span><br><span>                                                          "%s connected line has changed. Saving it until answer.\n",</span><br><span>diff --git a/apps/app_queue.c b/apps/app_queue.c</span><br><span>index 1ddf79f..80c253f 100644</span><br><span>--- a/apps/app_queue.c</span><br><span>+++ b/apps/app_queue.c</span><br><span>@@ -5429,12 +5429,20 @@</span><br><span>                                 case AST_FRAME_CONTROL:</span><br><span>                                      switch (f->subclass.integer) {</span><br><span>                                    case AST_CONTROL_CONNECTED_LINE:</span><br><span style="color: hsl(120, 100%, 40%);">+                                              if (o->block_connected_update) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   ast_verb(3, "Connected line update to %s prevented.\n", ast_channel_name(o->chan));</span><br><span style="color: hsl(120, 100%, 40%);">+                                                      break;</span><br><span style="color: hsl(120, 100%, 40%);">+                                                }</span><br><span>                                            if (ast_channel_connected_line_sub(in, o->chan, f, 1) &&</span><br><span>                                                  ast_channel_connected_line_macro(in, o->chan, f, 0, 1)) {</span><br><span>                                                         ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);</span><br><span>                                                }</span><br><span>                                            break;</span><br><span>                                       case AST_CONTROL_REDIRECTING:</span><br><span style="color: hsl(120, 100%, 40%);">+                                         if (o->block_connected_update) {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                   ast_verb(3, "Redirecting update to %s prevented.\n", ast_channel_name(o->chan));</span><br><span style="color: hsl(120, 100%, 40%);">+                                                 break;</span><br><span style="color: hsl(120, 100%, 40%);">+                                                }</span><br><span>                                            if (ast_channel_redirecting_sub(in, o->chan, f, 1) &&</span><br><span>                                                     ast_channel_redirecting_macro(in, o->chan, f, 0, 1)) {</span><br><span>                                                    ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/10533">change 10533</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/10533"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 16 </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I6ce9e151a2220ce9e95aa66666933cfb9e2a4a01 </div>
<div style="display:none"> Gerrit-Change-Number: 10533 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Alexei Gradinari <alex2grad@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 (1000185) </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Richard Mudgett <rmudgett@digium.com> </div>