+
+ # broadcast our configuration to the world
+ $thing = Thingy::Rt->new_cf;
+ $thing->broadcast;
+ }
+ }
+ $nref = Route::Node::get($origin);
+ $nref->np(1);
+ } else {
+
+ # for otherwise connected calls, that come in relayed from other nodes
+ # note that we cannot do any connections at this point
+ $nref = Route::Node::get($origin);
+ unless ($nref) {
+ my $v = $thing->{user} ? undef : $thing->{pcv};
+ $nref = Route::Node->new($origin, $v, 1);
+ push @{$thing->{pc19n}}, $nref;
+ $nref->np(1);
+ }
+ }
+
+ # handle "User"
+ if (my $user = $thing->{user}) {
+ my $ur = Route::get($user);
+ unless ($ur) {
+ my @ref;
+ my $uref = DXUser->get_current($user) || Thingy::Rt::_upd_user_rec($user, $origin)->put;
+ if ($uref->is_node || $uref->is_aranea) {
+ push @ref, $nref->add($user, $thing->{pcv} || 0, $thing->{h} || 0);
+ push @{$thing->{pc19n}}, @ref if @ref;
+ do $_->np(1) for @ref;
+ } else {
+ $thing->{pc16n} = $nref;
+ push @ref, $nref->add_user($user, $thing->{h} || 0);
+ $thing->{pc16u} = \@ref if @ref;