Telephony Troubleshooting Guide
1. Purpose
This SOP outlines how to troubleshoot telephony issues related to number importing, SIP trunking, outbound/inbound call failures, and carrier restrictions.
The objective is to ensure that AI assistants can successfully place outbound calls, receive inbound calls, and maintain carrier compliance when integrated with providers like Twilio or Telnyx.
2. Core Principles
- 
Correct Setup is Critical → Inbound and outbound calling depends on proper SIP trunking and whitelisting.
 - 
Provider-Led Debugging → Assistable can only pass packets; providers (Twilio, Telnyx) control call acceptance.
 - 
Geographic Permissions → Outbound international calling requires explicit country enablement.
 - 
Number Reputation Matters → Fraud scores and spam flags impact deliverability.
 - 
Minimal Assumptions → Always verify formatting (E.164 raw format, no spaces, no special characters).
 
3. Setup & Troubleshooting Process
Step 1: Verify SIP Trunk Setup
- 
Ensure Elastic SIP Trunking is enabled (Twilio: Super Network → Elastic SIP Trunking → Create SIP Trunk).
 - 
Confirm termination URI for outbound and origination URI for inbound are configured.
 - 
Whitelist IP ranges:
- 
0.0.0.0/1 - 
128.0.0.0/1 
 - 
 
Step 2: Debug Outbound Calling
- 
If outbound fails but inbound works → check trunk configuration.
 - 
Common fixes:
- 
Ensure Geographic Permissions are enabled in Twilio (
Voice → Geographic Permissions). - 
Verify account has sufficient balance.
 - 
Confirm CPS (Calls Per Second) limits with provider.
 
 - 
 
Step 3: Debug Inbound Calling
- 
Confirm Origination URI is set to:
sip:5t4n6j0wnrl.sip.livekit.cloud - 
Verify number is mapped to the correct trunk.
 - 
Use Twilio/Telnyx logs → check if provider is receiving the call.
 
Step 4: Handle Carrier Rejection or Spam Flag
- 
Check call disposition: “Carrier Rejected.”
 - 
Causes: Spam detection, unregistered CNAM, high CPS bursts.
 - 
Fixes:
- 
Register number with CNAM.
 - 
Submit to Free Caller Registry.
 - 
Warm up number gradually with balanced inbound/outbound traffic.
 - 
Replace number if fraud score remains high.
 
 - 
 
Step 5: Escalate When Needed
- 
If logs show Permission Denied → geographic restrictions.
 - 
If logs show Unknown Error → open a ticket with Twilio/Telnyx.
 - 
Assistable stores SIP configuration but has no control over provider-level call acceptance.
 
4. Best Practices
- 
Keep a record of your termination URI for outbound setup.
 - 
Monitor number health weekly with fraud score tools.
 - 
Use multiple providers (Twilio + Telnyx) for redundancy.
 - 
Start with low outbound volume to warm up new numbers.
 
5. Example Scenarios
Example 1: Outbound Works in U.S., Fails Internationally
- 
Cause: Geographic permissions not enabled.
 - 
Fix: In Twilio →
Voice → Geographic Permissions→ enable target countries. - 
Answer: Please enable Geographic Permissions in Twilio for the countries you’re calling. Outbound works only if those regions are whitelisted.
 
Example 2: Inbound Works, Outbound Fails
- 
Cause: Trunk termination misconfigured.
 - 
Fix: Recheck termination SIP URI and whitelist IP ACLs.
 - 
Answer: Please double-check your termination URI and IP Access Control Lists in Twilio — that usually resolves outbound call failures.
 
Example 3: Number Shows Healthy in Assistable but High Fraud Score in Lookup
- 
Cause: Number recycled or flagged as spam.
 - 
Fix: Register CNAM, warm up with mixed traffic, or replace.
 - 
Answer :This happens when a number has a poor carrier reputation. Try CNAM registration or warming it up gradually. If it persists, replacing the number is best.
 
6. Benefits of This SOP
- 
Ensures systematic isolation of telephony issues.
 - 
Reduces customer frustration by providing clear explanations + action steps.
 - 
Aligns with provider best practices (Twilio/Telnyx).
 - 
Improves call deliverability and reputation management long-term.