Chat Administration

A Neuron® can notify administrators about important events on the Neuron®. This is done by sending instantaneous XMPP chat messages. The recipient in turn can respond, using chat messages, and ask the Neuron® to perform various tasks. This page outlines the various commands that are available. They are only available to recipients of notification messages.

By typing #, ? or help (? is here synonymous with help), a list of available commands will be presented to the user. You can also type help COMMAND (or ? COMMAND), where COMMAND is replaced by the name of a command, specific help will be presented about the corresponding command, and any parameters that can be used.

If you type something that is not a recognized command, the input will be executed as script. This makes the chat admin interface an interface you can execute script queries as well.

The Neuron® is itself an XMPP Client (to its parent Neuron). As such, the Neuron® can participate in Multi-User-Chat (MUC) rooms in XMPP. A special MUC category exists below. Using these commands, an administrator can command the Neuron® to enter, join and leave such rooms. If an administrator is member of such a room, the administrator can send commands to multiple Neurons at once. All Neurons recognizing the sender as an administrator responds accordingly. The administrator in turn, consolidates all answers, and displays a consolidated result back to the user. This consolidation takes different forms, depending on the output of the command: It can be a consolidated graph, where graph output is collected from multiple sources to generate a larger or more complete graph of the entire network. It can be a table, listing the results from the different neurons in table form, etc.

Commands are organized by category below.

Broker

create account NAME[ PASSWORD[ EMAIL]]

Creates a new account with the account name given by NAME. Optional PASSWORD and EMAIL parameters can also be provided.

create key NRACCOUNTS “OWNER”[ EMAIL]

Creates a new API key. It can be used to create NRACCOUNTS accounts. The OWNER and EMAIL parameters provide extra information.

disable account NAME

Disables an existing account named NAME. It is not possible to log into a disabled account.

disable key KEY

Disables an existing API Key KEY. It is not possible to create more accounts using this key. Created accounts will continue to work however.

enable account NAME

Enables an existing account named NAME.

enable key KEY NRACCOUNTS

Enables an existing API Key KEY, and allows NRACCOUNTS to be created with the key.

Database

Analyze

Analyzes the database for inconsistencies.

Backup

Creates a backup of the system.

Backups

Lists available backup files.

Repair

Repairs the database for inconsistencies.

Feedback

echo …

Echoes anything written after the echo statement back to the original sender.

Hello

Displays a greeting message.

help

Gets help about available commands.

help COMMAND

Gets help about a specific command named COMMAND.

notify

Lists recipients of JIDs that will be notified of events on the broker. They also have access to chat admin interface.

notify JID JID2…

Sets the recipients of notifications, and those with access to chat admin interface. You cannot remove yourself from the list.

Ping

Performs a Ping-Ping request.

LegalId

Returns the ID of the last approved Legal ID.

Mode

Cmd

Enters command prompt (shell) mode.

Script

Enters script mode (on by default).

Multi-User-Chat (MUC)

Enter ROOM NICKNAME[ PASSWORD]

Temporarily enters a Multi-User Chat Room named ROOM, using the nick-name NICKNAME.

You can leave the room issuing a leave command. The broker also leaves the room when it is restarted.

An optional PASSWORD can be provided to enter password-protected rooms.

Join ROOM NICKNAME[ PASSWORD]

Permanently enters a Multi-User Chat Room named ROOM, using the nick-name NICKNAME.

You can leave the room issuing a leave command. The broker re-enters the room when it is restarted.

An optional PASSWORD can be provided to enter password-protected rooms.

Leave ROOM

Leaves a Multi-User Chat Room named ROOM.

Occupants ROOM

Lists occupants in a room named ROOM.

Rooms

Lists rooms currently entered by the Neuron.

In script, you have the MUC constant, that gives you access to available rooms using the index operatos. Example: MUC[Room].

Network

Clients

Returns a list of currently connected clients.

MyIp

Returns the current public IP, as seen by external parties.

NrClients

Returns the number of connected clients.

NrServers

Returns the number of connected servers.

Servers

Returns a list of currently connected servers.

Unblock ENDPOINT

Unblocks a remote endpoint defined by ENDPOINT.

Runtime

ClockDiff SOURCE

Measures the difference in clocks, as well as network latency, between the broker and the SOURCE.

Reboot

Reboots the system.

Runtime

Returns the time elapsed since the broker was started.

Started

Returns the date and time when the broker was started.

Stop

Stops (and restarts) the broker service.

Time

Returns the current local time of the broker.

Security

create user NAME ROLES METADATA PASSWORD

Creates a new user with the user name given by NAME and privileges defined by ROLES. ROLES is one or more roles separated by whitespace. METADATA is an object-exnihilo definition of meta-data associated with the user. PASSWORD is an optional password string to assign to the user account. If not provided, a random password is provided.

reset password NAME

Resets the password of an existing user with user name NAME.

roles

Lists available roles.

update user NAME ROLES METADATA PASSWORD

Updates an existing user with the user name given by NAME. ROLES is one or more roles separated by whitespace. METADATA is an object-exnihilo definition of meta-data associated with the user. If not provided, existing meta-data is kept. PASSWORD is an optional password string to assign to the user account. If not provided, the existing password is kept.

users

Lists available users.

Software

auto

Displays if automatic updating of the broker is enabled, and the current delay between receiving an update, and the actual update, during which the installation can be cancelled using the cancel command.

auto 0

Automatic software updates are disabled (default).

auto DELAYMIN

If positive, the broker will be automatically updated after waiting this number of minutes after receiving a new validated software package.

auto content 0

Content-only packages are processed as any other package (default).

auto content 1

The broker will automatically install validated content-only packages as they are received.

BuildTime
Returns the date and time when the software the broker is running, was built.
Cancel

Cancels the current auto-update delay. Disabling auto-updates is done using the auto 0 command.

Check

Checks for new software packages.

install PACKAGE KEY

install a specific software package that is downloaded but not installed. Performas a backup first.

install nobackup PACKAGE KEY

install a specific software package that is downloaded but not installed. Does not perform a backup first.

installed

Lists packages that are installed.

installed PACKAGE

Checks if a specific package is installed or not.

Packages

Displays available software packages, and basic information regarding each one, in table form.

upgrade

Upgrades the software of the service, including installed packages. Performas a backup first.

upgrade PACKAGE

Upgrades a specific software package that is already installed. Performas a backup first.

upgrade nobackup

Upgrades the software of the service, including installed packages. Does not perform a backup first.

upgrade nobackup PACKAGE

Upgrades a specific software package that is already installed. Does not perform a backup first.

Versions

Displays assembly versions of running modules and libraries.

Subscriptions

accept

Accepts all pending subscription requests, or a specific subscription request.

accept JID

Accepts a specific subscription request from JID.

accept

Accepts all pending subscription requests, or a specific subscription request.

accept JID

Accepts a specific subscription request from JID.

subscribe JID

Sends a presence subscription to JID.

unsubscribe JID

Unsubscribes from a contact.

Topology

Add Domain NAME

Adds a domain name given by NAME to the domain configuration.

Domain

Returns the domain (and alternative domains) of the current broker.

GroupGraph[ SCRIPT]

Returns a GraphViz graph of the current broker and how it is connected to roster items with groups. Such a graph illustrates information flow authorized by group membership. Optional script can be provided, and its result embedded in the graph. Consolidating responses from multiple brokers generates a groups graph of all brokers.

Parent

Returns the domain of the parent broker.

ParentGraph

Returns a GraphViz graph of the current broker connected to its parent broker. Consolidating responses from multiple brokers generates a topology graph of all brokers.

Remove Domain NAME

Removes the domain given by NAME from the domain configuration.

S2SGraph[ SCRIPT]

Returns a GraphViz graph of the current broker and how it is connected to other federated brokers. Such a graph illustrates the federated network. Optional script can be provided, and its result embedded in the graph. Consolidating responses from multiple brokers generates a S2S graph of all brokers.

TopologyQuery[ SCRIPT]

Executes script (if provided), and returns the result in the form of a GraphViz graph of the current broker connected to its parent broker. Consolidating responses from multiple brokers generates a topology graph of all brokers, where each node contains the result of executing the script.