Xema

Ava

Ava is the AI voice agent: it answers a caller itself, through an external AI provider, and passes on what it gathered to the rest of the call's flow.

Never given automatically, not even to a server carrying a trunk, because it keeps sessions open at a paid provider. A server that should run it is given it by name. A caller routed to an AI agent on a server without Ava carries on through the rest of the flow, unanswered by one.

Putting it on a server

sudo xema node role add ava
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 ava

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

Taking it off

sudo xema node role remove ava
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 ava

Restarting it

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

Restarting drops the calls it is carrying.