Documentation Index
Fetch the complete documentation index at: https://docs.getsmartalex.com/llms.txt
Use this file to discover all available pages before exploring further.
Quick diagnosis , by symptom
Trunk shows 'Not Registered' / red indicator
Trunk shows 'Not Registered' / red indicator
- Wrong credentials , re-copy username and password from SmartAlex
- SIP ALG enabled on firewall , disable it
- Outbound UDP 5060 blocked , check firewall rules
- Wrong transport , verify UDP vs TCP vs TLS matches both sides
Trunk registered but inbound calls fail
Trunk registered but inbound calls fail
- The DID is not registered to the trunk. Add it under the trunk’s DIDs list.
- Your inbound route doesn’t send the DID to the SmartAlex trunk. Update the rule.
- Agent not linked to the trunk. In Agent Studio → Telephony tab → select the trunk.
- Wallet empty (test-mode workspaces). Top up in Settings → Billing.
AI answers but hangs up immediately
AI answers but hangs up immediately
- Agent has no configured first message AND no system prompt — the AI has nothing to say.
- The call exceeded the workspace’s max-call-duration (default 300s).
- Voice runtime dispatch failed — check the call detail page or contact support.
AI answers but doesn't understand transfers
AI answers but doesn't understand transfers
- The agent isn’t linked to the SIP trunk — set this in Agent Studio → Telephony.
- Extensions not populated — add them in Settings → PBX.
- The extension has no aliases and the caller isn’t using the exact display name — add aliases via CSV upload.
- The trunk is suspended — reactivate it.
Transfer fires but extension doesn't ring
Transfer fires but extension doesn't ring
- Target extension doesn’t exist on the PBX , verify in the PBX admin console.
- Wrong
pbx_domain, the AI is sendingsip:101@wrong-hostname. Fix in the trunk settings. - PBX is accepting REFER but rejecting the target , check for 486 / 603 in the PBX SIP log.
- Firewall blocking inbound SIP from our IP range (shouldn’t be, since we use the existing dialog , but some very aggressive firewalls may block).
One-way audio (we can hear them, they can't hear us)
One-way audio (we can hear them, they can't hear us)
- Check that your PBX’s external / public IP is correctly set in its network settings
- Verify RTP port range (9000–10999 typical) is open both ways on the firewall
- Try TCP transport instead of UDP as a test
Echo on calls
Echo on calls
- Some endpoint (softphone, desk phone, or PBX) is double-applying echo cancellation. Disable on one side.
- On calls traversing a carrier with poor echo handling, enable Krisp noise cancellation on the trunk.
Calls drop after 30 seconds
Calls drop after 30 seconds
Calls drop at exactly 5 minutes
Calls drop at exactly 5 minutes
max_duration is set to 300 seconds. Increase it in the agent settings if longer calls are expected.Poor voice quality / choppy audio
Poor voice quality / choppy audio
- Packet loss in transit , run a
mtrortraceroutefrom PBX tosip.voice.getsmartalex.comand look for loss or high jitter hops - Insufficient bandwidth , each concurrent call needs 90–100 kbps sustained
- Wrong codec , G.711 requires ~90 kbps; if you’re on G.729 with poor implementation, switch to G.711
- Enable Krisp noise cancellation on the trunk
AI speaks in the wrong language or accent
AI speaks in the wrong language or accent
- Agent’s
voice_accentis not set or is set to something that doesn’t match , reconfigure in Agent Studio → Voice. - Some agents hard-code accent in the system prompt; check for conflicting instructions.
CDR not showing transfer correctly
CDR not showing transfer correctly
- Some PBXes only surface the first leg by default. Check PBX CDR settings to enable “transfer leg” reporting.
- 3CX: enable Call reporting → Advanced options.
- FreePBX: enable CDR reporting under Reports → CDR Reports.
By SIP response code
401 Unauthorized / 407 Proxy Authentication Required
401 Unauthorized / 407 Proxy Authentication Required
403 Forbidden
403 Forbidden
- IP allowlist mismatch (if using IP auth) — verify your public IP is listed
- Trunk suspended — check trunk status in Settings → PBX
- Account in read-only mode
404 Not Found
404 Not Found
408 Request Timeout
408 Request Timeout
- Outbound UDP 5060 not blocked
- SIP ALG disabled
- PBX is reachable from the public internet
480 Temporarily Unavailable
480 Temporarily Unavailable
486 Busy Here
486 Busy Here
488 Not Acceptable Here
488 Not Acceptable Here
503 Service Unavailable
503 Service Unavailable
600 Busy Everywhere
600 Busy Everywhere
603 Decline
603 Decline
Diagnostic commands
On your PBX:- 3CX: Admin → System → Activity Log (or Event Log on v18/v19)
- FreePBX: Admin → Reports → Asterisk Log Files →
/var/log/asterisk/full - Asterisk raw:
asterisk -rvvvvthenpjsip set logger on - Yeastar: System → Event Center → SIP Logs
- The Phone Numbers page has a Diagnostics button on each number , click it to see a live health check (active status, agent assignment, voice engine registration, credentials).
- Call records show SIP disconnect reasons in the Call Logs page.
- For deeper debugging, contact support with the call ID from the call record.
Verifying DNS and reachability
From any machine withdig:
When to escalate
Open a support ticket with:- Your workspace ID
- The SIP trunk ID (visible in Settings → PBX)
- The call ID of a failing call (from Call Logs)
- A SIP trace from your PBX covering 30 seconds before and after the failure
- The error symptom in plain language
support@getsmartalex.com.

