I recently decided to delve into FreePBX for my 2-number, single phone, one person business. I have both of my numbers hosted with Twilio, and I’ve installed FreePBX to a Digital Ocean droplet.
So far, I’ve been able to configure a FQDN with let’s encrypt, to get me into the FreePBX dashboard. I’ve also configured(maybe correctly?) the Sangoma responsive firewall. Anyhow, I’ve got a Yealink T46U phone, which I have manually provisioned and it is at least partially operational, in the sense that it shows my user extension as 200, which is what I created in FreePBX. I’vew created a trunk, along with inbound and outbound routes, all in accordance with the plethora of documentation I have found online. However, I can neither make, nore receive calls, and so far, my business has had no phone service for two days:( (we can thank Zoom for that, story for another day).
So, where do I start the troubleshooting process? For reference, I am going to post some screenshots of what I’ve got so far. I’ll post them momentarily.
If you can’t get FreePBX working quickly, consider forwarding calls at Twilio to your mobile. Twilio Help Center
Next, confirm that the extension is working. For example, dial *43 for echo test. It may also be useful to set up a second extension, for example
and confirm that you can call between them.
Once those work, does anything appear in the Asterisk log on an attempted incoming call? If so, turn on pjsip logger, make an attempted incoming call, paste the Asterisk log for the call at pastebin.com and post the link here.
If nothing in the Asterisk log, run sngrep and report whether anything appears there. If yes, the problem is with the FreePBX firewall – trust all addresses from which Twilio sends calls.
If nothing in sngrep, check any firewall you have set up at DO and also check what gets logged at Twilio.
Once incoming is working, if outgoing is still broken, with pjsip logger on attempt a call to 18004377950 , paste the Asterisk log for the call at pastebin.com and post the link here.
Also, one slight problem about inbound. I have the program voiper installed to test as a soft phone, but I also have this yealink. If I restart the yealink, incoming calls will go to it, but after a couple minutes, they don’t go to the yealink, and instead go to voiper.
Because you don’t have multiple contacts setup for the extension. If both the Yealink and Voiper are registering to the same extension you need to have the Max Contacts set to 2 or higher. Otherwise when the Yealink registers, it removes the Voiper registration and vice versa. Meaning the last device to register is where inbound calls will be sent due to only allowing 1 contact to register at a time by default.
pjsip logger was not on for the outbound call.
At the Asterisk command prompt (not a shell prompt) type pjsip set logger on
Note that it gets turned off by restart or reload, so turn it on just before making the test call.
The new pastebin link is bad, but just guessing, Twilio is rejecting the caller ID starting 443. I suspect that they want 1443 or +1443. Look at what they send on incoming and use the same format. If no luck, paste a new log.
Twilio isn’t sending anything in the case of an outbound call. They expect the number to be sent to them as +1NXXNXXXXXX and you’re sending 1NXXNXXXXXX. You need to go into the Dial Manipulation tab of the Twilio trunk and in the Outbound Dial Prefix field put + this will prefix the + to all your outbound calls to Twilio resulting in +1NXXNXXXXXX being sent.