diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 52149c9556..10ba4cb441 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -5607,7 +5607,13 @@ 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; + } + sip_pvt_unlock(p); + return fr; }