Skip to content

Operation and troubleshooting

For a node that has registered as 1234:

dig @127.0.0.1 -p 5054 1234.nodes.example.org A
dig @127.0.0.1 -p 5054 1234.nodes.example.org TXT
dig @127.0.0.1 -p 5054 _iax._udp.1234.nodes.example.org SRV

The A record contains the node's address, TXT contains registration metadata, and SRV contains its IAX endpoint. Answers have a TTL of at most 60 seconds, shortened when the registration is about to expire. Replaying an old Kafka message does not extend its lifetime.

If a lookup returns SERVFAIL, check that the node has a current registration and that the query uses the configured domain. Missing or expired nodes and unsupported query types receive SERVFAIL.

docker logs --tail 100 rpt-dns
docker stop rpt-dns

If no registrations appear, check the broker's advertised addresses, the topic name, and whether a registrar has published an update. Size the directory for the number of nodes on your network. No persistent volume is required for the in-memory cache; Kafka retention determines what can be replayed after a restart.

Diagnose missing or incorrect answers

Symptom What to check
All node lookups fail Kafka reachability, advertised addresses, topic name, and registrar publication
One node fails Recent successful registration, matching domain, and expiry
Some nodes disappear under load Directory capacity and registration lifetime
Address belongs to a proxy HTTP trusted proxy settings or source preservation at IAX ingress
Restart does not recover nodes Kafka retention, timestamps, and whether events have expired
UDP works but TCP fails Publish both protocols and check firewall rules

There is no separate HTTP health endpoint. Check process logs and perform a DNS lookup for a known, actively renewing test node to verify the complete path.