my $parent = Route::Node::get($self->{call});
# record the type and version offered
- if ($_[1] =~ /DXSpider Version: (\d+\.\d+)/) {
- $self->{version} = 53 + $1;
- $self->user->version(53 + $1);
- $parent->version(0 + $1);
- dbg("DXSpider version $1");
+ if (my ($version) = $_[1] =~ /DXSpider Version: (\d+\.\d+)/) {
+ $self->{version} = 53 + $version;
+ $self->user->version(53 + $version);
+ $parent->version(0 + $version);
my ($build) = $_[1] =~ /Build: (\d+(?:\.\d+)?)/;
$self->{build} = 0 + $build;
$self->user->build(0 + $build);
$parent->build(0 + $build);
- dbg("DXSpider build $build");
+ dbg("DXSpider version $version build $build");
unless ($self->is_spider) {
dbg("Change U " . $self->user->sort . " C $self->{sort} -> S");
$self->user->sort('S');
$self->sort('S');
}
# $self->{handle_xml}++ if DXXml::available() && $_[1] =~ /\bxml/;
- if (!$self->{isolate} && $_[1] =~ /\bpc9x/) {
- $self->{do_pc9x} = 1;
- dbg("Do px9x set on $self->{call}");
+ if ($_[1] =~ /\bpc9x/) {
+ if ($self->{isolate}) {
+ dbg("pc9x recognised, but is isolated, using old protocol");
+ } else {
+ $self->{do_pc9x} = 1;
+ dbg("Do px9x set on $self->{call}");
+ }
}
} else {
dbg("Unknown software");
# convert to PC10 talks where appropriate
my $ref = Route::get($to);
if ($ref) {
- my @dxchan = $ref->alldxchan;
- for $dxchan (@dxchan) {
+ # just go for the "best" one for now (rather than broadcast)
+ $dxchan = $ref->dxchan;
+# my @dxchan = $ref->alldxchan;
+# for $dxchan (@dxchan) {
if ($dxchan->{do_pc9x}) {
$dxchan->send($line);
} else {
$dxchan->talk($from, $to, $via, $text, $onode);
}
- }
+# }
return;
}