my $dxchan;
my @out;
-push @out, " Callsign Type Started Name Ave RTT";
+push @out, " Callsign Type Started Name Ave RTT Link";
foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all ) {
my $call = $dxchan->call();
- my $t = cldatetime($dxchan->user->lastin);
- my $sort = $dxchan->is_ak1a() ? "NODE" : "USER";
+ my $t = cldatetime($dxchan->startt);
+ my $type = $dxchan->is_node ? "NODE" : "USER";
+ my $sort = " ";
+ if ($dxchan->is_node) {
+ $sort = "DXSP" if $dxchan->is_spider;
+ $sort = "CLX " if $dxchan->is_clx;
+ $sort = "DXNT" if $dxchan->is_dxnet;
+ $sort = "AR-C" if $dxchan->is_arcluster;
+ $sort = "AK1A" if $dxchan->is_ak1a;
+ }
my $name = $dxchan->user->name || " ";
- my $ping = $dxchan->is_ak1a ? sprintf("%8.2f", $dxchan->pingave) : "";
- $ping = "" if $dxchan->call eq $main::mycall;
- push @out, sprintf "%10s $sort $t %-18.18s $ping", $call, $name;
+ my $ping = $dxchan->is_node && $dxchan != $DXProt::me ? sprintf("%5.2f", $dxchan->pingave) : " ";
+ my $conn = $dxchan->conn;
+ my $ip = '';
+ $ip = $conn->{peerhost} if $conn && $conn->{peerhost};
+ push @out, sprintf "%10s $type $sort $t %-10.10s $ping $ip", $call, $name;
}
return (1, @out)