# routing, this must go out here to prevent race condx
my $pkg = shift;
my $call = shift;
- my @rout = $main::routeroot->add_user($call, Route::here(1));
+ my $uref = Route::User::get($call) || Route::User->new($call);
+ $uref->here(1);
+ $uref->conf(0);
+ $main::routeroot->add_user($uref);
# ALWAYS output the user
- my $ref = Route::User::get($call);
- $main::me->route_pc16($main::mycall, undef, $main::routeroot, $ref) if $ref;
+ $main::me->route_pc16($main::mycall, undef, $main::routeroot, $uref);
return $self;
}
$to = $ent unless $to;
my $call = $via ? $via : $to;
my $clref = Route::get($call);
- my $dxchan = $clref->dxchan if $clref;
+ my $dxchan = $clref->bestdxchan if $clref;
if ($dxchan) {
$dxchan->talk($self->{call}, $to, $via, $line);
} else {
my $key = "$to$from";
unless (exists $nothereslug{$key}) {
my ($ref, $dxchan);
- if (($ref = Route::get($from)) && ($dxchan = $ref->dxchan)) {
+ if (($ref = Route::get($from)) && ($dxchan = $ref->bestdxchan)) {
my $name = $self->user->name || $to;
my $s = $self->user->nothere || $dxchan->msg('nothere', $name);
$nothereslug{$key} = $main::systime;