diff --git a/main/channel.c b/main/channel.c index 946c6033fdf29487357eecbb7a506c1effbcb5bd..1714d7b7a370969ef91c2bdc58b41e363cb647ec 100644 --- a/main/channel.c +++ b/main/channel.c @@ -6625,14 +6625,14 @@ void ast_channel_set_linkgroup(struct ast_channel *chan, struct ast_channel *pee linkedid = oldest_linkedid(linkedid, ast_channel_uniqueid(peer)); if (ast_channel_internal_bridged_channel(chan)) { bridged = ast_bridged_channel(chan); - if (bridged != peer) { + if (bridged && bridged != peer) { linkedid = oldest_linkedid(linkedid, ast_channel_linkedid(bridged)); linkedid = oldest_linkedid(linkedid, ast_channel_uniqueid(bridged)); } } if (ast_channel_internal_bridged_channel(peer)) { bridged = ast_bridged_channel(peer); - if (bridged != chan) { + if (bridged && bridged != chan) { linkedid = oldest_linkedid(linkedid, ast_channel_linkedid(bridged)); linkedid = oldest_linkedid(linkedid, ast_channel_uniqueid(bridged)); } @@ -6645,13 +6645,13 @@ void ast_channel_set_linkgroup(struct ast_channel *chan, struct ast_channel *pee ast_channel_change_linkedid(peer, linkedid); if (ast_channel_internal_bridged_channel(chan)) { bridged = ast_bridged_channel(chan); - if (bridged != peer) { + if (bridged && bridged != peer) { ast_channel_change_linkedid(bridged, linkedid); } } if (ast_channel_internal_bridged_channel(peer)) { bridged = ast_bridged_channel(peer); - if (bridged != chan) { + if (bridged && bridged != chan) { ast_channel_change_linkedid(bridged, linkedid); } }