diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 35ca1409f7a8e26e29bd2e1bc46f503ef797ab44..4d89ae03cb68442797f209b102a5fdf69a389ebd 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6060,7 +6060,9 @@ static int sip_hangup(struct ast_channel *ast) } /* Send a hangup */ - transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1); + if (oldowner->_state == AST_STATE_UP) { + transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1); + } } else { /* Note we will need a BYE when this all settles out