Skip to content

Troubleshooting

Start by checking that every container is running and reading the logs of the one that is misbehaving:

Terminal window
cd ~/comcent-ce
docker compose ps
docker compose logs -f server # or traefik, sbc, freeswitch, web-app, voice-bot

The first docker compose up -d pulls about 800 MB of images and takes 5–10 minutes. The web app waits for the server’s health check, and the server waits for Postgres, so services appear one after another. Follow docker compose logs -f server until it is up.

https://… shows a Traefik default certificate

Section titled “https://… shows a Traefik default certificate”

Let’s Encrypt could not issue a certificate. Check the Traefik logs:

Terminal window
docker compose logs traefik

Usually DNS is not yet pointing at the host, or port 80 is blocked. Fix it, and Traefik retries.

SMTP_URL is unset or wrong. For one-off testing you can run a MailHog container and set SMTP_URL=smtp://mailhog:1025.

The token is printed again on every server start until the instance is claimed:

Terminal window
docker compose restart server
docker compose logs server | grep -A 10 "FIRST-RUN SETUP"

Outbound calls fail with 403 from the SIP trunk

Section titled “Outbound calls fail with 403 from the SIP trunk”

Your host’s public IP is not on the trunk’s IP allow list. Add <your-IP>/32 on the provider’s side.

Check that:

  • the provider sends inbound calls (origination) to sip:<YOUR_DOMAIN>?transport=udp;
  • your phone number is routed to the trunk on the provider’s side;
  • the provider’s IPs are listed under Inbound IPs to whitelist on the trunk in Comcent;
  • the number has been added under Numbers with an inbound flow;
  • UDP/TCP 5060 and UDP 19000–19100 are open.

The dialer connects to wss://<COMCENT_DOMAIN>:5063/sip-ws. Confirm port 5063/TCP is open and serving a valid Let’s Encrypt certificate:

Terminal window
echo | openssl s_client -connect voice.yourdomain.com:5063 -servername voice.yourdomain.com 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates

Media flows over UDP 19000–19100. Check that the range is open on every firewall in front of the host, and that PUBLIC_IP in .env is the host’s current public address.

Search or open an issue on GitHub.