diff --git a/channels/chan_zap.c b/channels/chan_zap.c index f8538e5ea9..7dfa0ba733 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -9632,7 +9632,6 @@ static void *ss7_linkset(void *data) break; } else { struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_PROCEEDING, }; - struct ast_frame g = { AST_FRAME_CONTROL, AST_CONTROL_PROGRESS, }; p = linkset->pvts[chanpos]; @@ -9645,9 +9644,11 @@ static void *ss7_linkset(void *data) ast_mutex_lock(&p->lock); zap_queue_frame(p, &f, linkset); p->proceeding = 1; - zap_queue_frame(p, &g, linkset); - p->progress = 1; - + /* Send alerting if subscriber is free */ + if (e->acm.called_party_status_ind == 1) { + p->alerting = 1; + p->subs[SUB_REAL].needringing = 1; + } ast_mutex_unlock(&p->lock); } break;