diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9444282d65..45a8b8d964 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4378,6 +4378,11 @@ static struct ast_frame *sip_read(struct ast_channel *ast) } } + /* Only allow audio through if they sent progress with SDP, or if the channel is actually answered */ + if (p->invitestate != INV_EARLY_MEDIA && ast->_state != AST_STATE_UP) { + fr = &ast_null_frame; + } + ast_mutex_unlock(&p->lock); return fr; }