diff --git a/apps/app_dial.c b/apps/app_dial.c index 855945b244..65c44c5b5a 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -1754,12 +1754,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 43b95e7430..3e0c2c0819 100644 --- a/apps/app_followme.c +++ b/apps/app_followme.c @@ -890,6 +890,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 @@ -905,11 +910,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 eb85c51b0e..7f9261ad88 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -5232,12 +5232,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);