Test a Trunk
A pre-flight checklist, then place a real test call in each direction, read the result in call history, and work out what to fix when it fails.
There is no simulated test button — a SIP trunk is proven by a real call. This page gets you to that call with the fewest surprises, and tells you how to read the outcome.
In the app: Dashboard → Automation → Calls → Call history
Pre-flight checklist
Work down the list. Each item is a real cause of a failed first call.
| Check | Where | Looking for |
|---|---|---|
| Number is connected | Dashboard → Connections | The number's card is present and healthy |
| Calling is on | Connections → ⋮ → Turn on calling | A Calling badge, not Calling (pending) |
| Trunk is Active | Calls → Trunks | The status dot is on and the side panel reads Active |
| Direction is right | Calls → Trunks | Inbound to receive, Outbound to place |
| Destination is public | Trunk → Deliver calls to | A hostname or public IP, reachable from the internet |
| Endpoint copied | Trunk → Dial-out endpoint | Your phone system dials exactly this URI |
| Auth matches | Trunk → Authentication | Credential created, and/or your public IP allowlisted |
| Firewall is open | Your network | SIP port and UDP 20000–29999 |
| Codecs overlap | Trunk → Codecs | At least one codec your phone system also speaks |
Calling (pending) means calls will not arrive
If the number's badge reads Calling (pending), WhatsApp has accepted the configuration but is not routing calls yet. Open the calling dialog to see WhatsApp's own explanation. Testing before this clears wastes an afternoon.
Test an inbound call
Open call history
Go to Dashboard → Automation → Calls → Call history and leave it open on a second screen. Set the state filter to All calls.
Call your business number from WhatsApp
On a phone with WhatsApp installed, open a chat with your business number and tap the call icon. Use a number that is not one of your own WhatsApp Business numbers.
Watch your phone system
Your PBX should ring within a few seconds. If nothing arrives, the problem is between us and your phone system — check the destination address, its firewall, and the trunk's transport.
Answer and listen both ways
Speak from both ends. Audio in one direction only, or neither, almost always means the media range is closed or the media encryption settings disagree.
Check the history row
Refresh call history. A row appears with direction Inbound, and its outcome moves through Ringing → Connected → Completed with a duration once you hang up.
Test an outbound call
Outbound has one extra prerequisite: permission.
Get permission from the test contact
The customer you are calling must have granted your business permission to call them. The quickest route is to have them call you first — a customer-initiated call grants permission automatically.
Otherwise, find the contact in Call history and click Ask in the Call permission column. They receive a message in WhatsApp asking whether you may call; once they accept, the column reads Can call back.
Dial from your phone system
Dial the customer as +<country code><number> through the outbound trunk. Their WhatsApp should ring.
Answer and check the history row
A row appears with direction Outbound, ending as Completed with a duration.
Permission requests are rate-limited
WhatsApp allows one permission request per contact per 24 hours, and two per 7 days. Do not burn them testing — use a contact who has already granted permission, or have them call you first. See Call permissions.
Reading the result
Every call lands in Call history, whether it connected or not.
| Column | What to look at |
|---|---|
| Contact | Who called, or who you called |
| Direction | Inbound (they called) or Outbound (you called) |
| Outcome | The state badge, with the reason underneath when there is one |
| Duration | m:ss, blank if the call never connected |
| When | Relative time; hover for the exact timestamp |
| Call permission | Whether you may call this contact back |
Completed is the only success state. Ringing and Connected are states a live call passes through — a row still showing Connected minutes later means the call did not end cleanly. Everything else means the call did not happen, and the reason text under the badge is your first clue.
Full meanings for all eight states are in Call history.
When the test fails
Work outwards from where the call stopped.
| What you saw | Where it broke | What to check |
|---|---|---|
| No history row at all | Before us | Calling is not on for that number, or the number is still pending at WhatsApp |
| Row appears, PBX never rings | Us → your phone system | Destination address, its firewall, trunk transport, trunk is Active |
| PBX rings, call drops on answer | Media | UDP 20000–29999 closed, or an RTP/SRTP mismatch |
| Connects, no audio one way | Media path | Firewall allows outbound but not return RTP, or NAT on your side |
| Outbound refused immediately | Permission or capacity | Contact has not granted permission, it expired, or the trunk hit Max calls |
| Outbound refused, several numbers on account | Caller ID | Bind the trunk to a WhatsApp number, or set a Caller ID |
| Everything refused, credential looks right | Authentication | Auth mode is IP + credential and your public IP is not allowlisted |
The full table with every failure reason is in Call history.
Before you go live
Test both directions
Even if you only plan to receive calls today, an outbound trunk you have never tested will not work the day you need it.
Test failover
Disable your primary destination in the trunk, place an inbound call, and confirm it lands on the second target. Re-enable it afterwards.
Test the capacity cap
Place enough simultaneous calls to hit Max calls and confirm the extra ones are refused cleanly rather than degrading everything. Skip this only if the cap is unlimited.
Check quality on a real network
Test from mobile data, not only office wifi. Codec conversion and jitter show up under real conditions.
Getting help
If a call still fails after the checks above, send support:
- The trunk name and its direction
- The contact's number and the approximate time of the call
- The outcome and the reason text from the history row
- What your phone system logged at the same moment
That is enough to correlate both sides of the call.
What's next
How is this guide?
Connect Your Phone System
Network requirements, firewall rules and configuration recipes for Asterisk, FreePBX, 3CX and other SIP platforms — in both directions.
Call Permissions
When you may call a customer on WhatsApp, how to ask for permission, what each status means, and the limits WhatsApp enforces.


