X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Ftalk.pl;h=827ff672d3a26210af2e95aabe8ddabc0f53a6ff;hb=8804833a62667fe6a33655351790b241256e5980;hp=ebde8888ebd106101c082af5afff612489a218d7;hpb=324bd80ed4aef7e2636f5a03288788ce11ab2663;p=spider.git diff --git a/cmd/talk.pl b/cmd/talk.pl index ebde8888..827ff672 100644 --- a/cmd/talk.pl +++ b/cmd/talk.pl @@ -24,12 +24,14 @@ if ($argv[1] eq '>') { } my $call = $via ? $via : $to; -my $ref = DXCluster->get($call); +my $ref = DXCluster->get_exact($call); # try an exact call +$ref = DXCluster->get($call) unless $ref; # try one ignoring SSID +$ref = DXChannel->get($call) unless $ref; # is it local? # if we haven't got an explicit via and we can't see them, try their node unless ($ref || $via) { my $user = DXUser->get($call); - $ref = DXCluster->get_exact($user->node); + $ref = DXCluster->get_exact($user->node) if $user; if ($ref) { $via = $user->node; push @out, "trying via $via.."; @@ -47,7 +49,7 @@ if ($dxchan && $dxchan->is_user) { } else { $line =~ s/\^//og; # remove any ^ characters my $prot = DXProt::pc10($from, $to, $via, $line); - DXProt::route($via?$via:$to, $prot); + DXProt::route(undef,$via?$via:$to, $prot); Log('talk', $to, $from, $via?$via:$main::mycall, $line); }