- my $node = DXCluster->get_exact($call); # we already have this
- if ($node && $node->dxchan != $self) {
- dbg('chan', "LOOP: come in on wrong channel");
- return;
+ my $node = DXCluster->get_exact($call);
+ if ($node) {
+ my $dxchan;
+ if (($dxchan = DXChannel->get($call)) && $dxchan != $self) {
+ dbg('chan', "LOOP: $call connected locally");
+ }
+ if ($node->dxchan != $self) {
+ dbg('chan', "LOOP: $call come in on wrong channel");
+ next;
+ }
+ dbg('chan', "already have $call");
+ next;