diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 30cb20de86911c7694c9c0305b309f09f1eba9fa..1838bdaadde178cb7a282e3f031014b2db351b05 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -24932,10 +24932,12 @@ static int handle_invite_replaces(struct sip_pvt *p, struct sip_request *req, if (ast_bridge_impart(bridge, c, replaces_chan, NULL, AST_BRIDGE_IMPART_CHAN_INDEPENDENT)) { ast_hangup(c); + ast_channel_unref(c); } } else { ast_channel_move(replaces_chan, c); ast_hangup(c); + ast_channel_unref(c); } sip_pvt_lock(p); return 0;