diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c index 6d027b32f01aa3ee94475edb4bd9926c61e17845..0d565dfe7af934909c5eca8d3fe7801acbf9eb00 100644 --- a/channels/chan_pjsip.c +++ b/channels/chan_pjsip.c @@ -1363,7 +1363,9 @@ static int chan_pjsip_indicate(struct ast_channel *ast, int condition, const voi switch (condition) { case AST_CONTROL_RINGING: if (ast_channel_state(ast) == AST_STATE_RING) { - if (channel->session->endpoint->inband_progress) { + if (channel->session->endpoint->inband_progress || + (channel->session->inv_session && channel->session->inv_session->neg && + pjmedia_sdp_neg_get_state(channel->session->inv_session->neg) == PJMEDIA_SDP_NEG_STATE_DONE)) { response_code = 183; res = -1; } else {