diff --git a/apps/app_dial.c b/apps/app_dial.c index e4689e1108a752a3809173d1370e302693c45b45..21d37ebacc9ba1c915ae30263f2be02a73056fd1 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1733,12 +1733,20 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, ast_indicate(o->chan, f->subclass.integer); break; case AST_CONTROL_CONNECTED_LINE: + if (ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) { + ast_verb(3, "Connected line update to %s prevented.\n", ast_channel_name(o->chan)); + break; + } if (ast_channel_connected_line_sub(in, o->chan, f, 1) && ast_channel_connected_line_macro(in, o->chan, f, 0, 1)) { ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen); } break; case AST_CONTROL_REDIRECTING: + if (ast_test_flag64(o, OPT_IGNORE_CONNECTEDLINE)) { + ast_verb(3, "Redirecting update to %s prevented.\n", ast_channel_name(o->chan)); + break; + } if (ast_channel_redirecting_sub(in, o->chan, f, 1) && ast_channel_redirecting_macro(in, o->chan, f, 0, 1)) { ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen); diff --git a/apps/app_followme.c b/apps/app_followme.c index dbb11ee26edf56a0190007f028bac2b4c2035ad4..9aef039b1010e45228892286fd28ded3ea34a373 100644 --- a/apps/app_followme.c +++ b/apps/app_followme.c @@ -915,6 +915,11 @@ static struct ast_channel *wait_for_winner(struct findme_user_listptr *findme_us /* Ignore going off hook and flash */ break; case AST_CONTROL_CONNECTED_LINE: + if (ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_IGNORE_CONNECTEDLINE)) { + ast_verb(3, "Connected line update from %s prevented.\n", + ast_channel_name(winner)); + break; + } if (!tmpuser) { /* * Hold connected line update from caller until we have a @@ -930,11 +935,6 @@ static struct ast_channel *wait_for_winner(struct findme_user_listptr *findme_us tpargs->pending_in_connected_update = 1; } ast_party_connected_line_free(&connected); - break; - } - if (ast_test_flag(&tpargs->followmeflags, FOLLOWMEFLAG_IGNORE_CONNECTEDLINE)) { - ast_verb(3, "Connected line update from %s prevented.\n", - ast_channel_name(winner)); } else { ast_verb(3, "%s connected line has changed. Saving it until answer.\n", diff --git a/apps/app_queue.c b/apps/app_queue.c index 1ddf79f707cbec4969fd226e0e36d0763172428f..80c253f2247f1475ebcdccd58862df41ab1bbd56 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -5429,12 +5429,20 @@ static struct callattempt *wait_for_answer(struct queue_ent *qe, struct callatte case AST_FRAME_CONTROL: switch (f->subclass.integer) { case AST_CONTROL_CONNECTED_LINE: + if (o->block_connected_update) { + ast_verb(3, "Connected line update to %s prevented.\n", ast_channel_name(o->chan)); + break; + } if (ast_channel_connected_line_sub(in, o->chan, f, 1) && ast_channel_connected_line_macro(in, o->chan, f, 0, 1)) { ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen); } break; case AST_CONTROL_REDIRECTING: + if (o->block_connected_update) { + ast_verb(3, "Redirecting update to %s prevented.\n", ast_channel_name(o->chan)); + break; + } if (ast_channel_redirecting_sub(in, o->chan, f, 1) && ast_channel_redirecting_macro(in, o->chan, f, 0, 1)) { ast_indicate_data(o->chan, f->subclass.integer, f->data.ptr, f->datalen);