Xema

Queue

Queue holds callers waiting for an agent and offers each call to the agents who can take it. Each queue is kept by one server, which keeps its order; the others hold that queue's callers for it.

Given automatically to a server that carries a trunk. When a trunk is assigned to a server (sudo xema trunk assign <trunk> --node <server>), that server is given every service a phone system's server runs, this one among them. It is given once and kept: unassigning the server's last trunk does not take it away again. xema node role remove does.

Putting it on a server

sudo xema node role add queue
sudo xema node apply

node role add records that this server should run it, and node apply starts it. If xema component list shows it is not installed here, install it between the two:

sudo xema component install queue

A server can also be given it as it joins: sudo xema join ... --roles queue,....

Taking it off

sudo xema node role remove queue
sudo xema node apply

Checking it

xema node roles          # what this server should run, beside what it runs
xema status              # every service on this server, running or not
xema logs queue

Restarting it

sudo xema restart queue                       # on this server
sudo xema node restart queue --node <server>  # on another one

Restarting drops the calls it is carrying.