In April of 2022 my VOIP home phone stopped receiving incoming calls. I could still dial out, but nobody could call the house. I received warning emails from Skyetel every 3 hours that my SIP endpoint was unreachable by their servers.
Since nothing had changed on my end, I suspected that something changed with my provider: Comcast/xfinity. Similar to my experience with British Airways, I found that xfinity has now automated everything.
I understand that automation helps if someone just needs to reboot their router, or forgot their wifi password. But for those who need genuine help getting shit done, it presents a huge barrier. It took me 9 calls and 3 trips to the xfinity store to get this resolved…
I phoned tech support to explain that port 5060 (for SIP service) was being blocked on my connection.
The first guy I talked to said they won’t open up that port unless I subscribe to xfinity’s VOIP service. Honestly, I didn’t want to talk to this guy anymore. He was obviously from India. No offense, but he sounded more like a scammer than a helper. I wanted to talk to someone who actually works for xfinity in the US, that actually knows how their network is set up. Before I hung up I got the phone number for Advanced Technical Support. It’s 888-780-8571. You’re welcome.
I called that number and magically wound up speaking with an actual technical rep based in these United States. BTW, this won’t happen every time – I’ve yet to figure out what automation magic I did to skip past the overseas nonsense.
When I mentioned my issue he referenced this page https://www.xfinity.com/support/articles/list-of-blocked-ports which I had also been looking at, noting that port 5060 isn’t in the list. He said I might need to do some configuration in my modem’s settings to forward that port.
But the Netgear CM1000 isn’t a combo modem/router. It doesn’t have a firewall or port forwards or anything. It just passes all connections on to my OpenWRT router which has firewall/forwarding/wifi/etc.
So the tech guy suggested I try an xfinity-supplied cable modem (at a rental fee of $15/mo) to see if that solves the problem. I wasn’t thrilled with the extra cost, but he said it’s pro-rated and might be worth seeing if it fixes the problem.
Approach 2 (playing the game)
So I went into my nearest xfinity store, went home with a new cable modem, and set it up. Then, to my dismay, when I went into the port forwarding settings on the modem, I consistently got this error:
I called technical support back and they said:
You need to go back to the xfinity store and get a different modem that is supported by the xfinity app. I’ve made a note on your account so they’ll give you the correct one this time.
WTF. OK, so I went back and returned my modem for another one. The new one worked with the app. I did have to do some weird things like disable IPv6 on my router so that it would show up in the xfinity app as an available device and port-forward destination because xfinity only supports port forwards via IPv4.
What’s really going on?
After configuring the router and updating my IP at Skyetel, it seemed to work ðŠ Our home phone now rings after dialing. I called xfinity tech support again to re-activate my Netgear CM1000 to see if it will continue to work. Hey – it worked… But why?
My hunch is that by selecting a port forward in the app, something else is getting configured in their network to allow incoming connections – something upstream from your rental router. We’ll see how long the setting lasts before I have to go (temporarily) rent one again ðĪ Also – I was able to reactivate IPv6 in my router without issue.
The next day, the phone rang and it was music to my ears! âïļ It was my daughter’s friend and they made plans to get together. Then the day after that, I received my first spam call ðą
Configuring E911 support with Skyetel is simple on their side, as it should be. But because it’s an emergency service, I wanted to do a separate post to underscore the importance on making sure it works.
From your Incredible PBX Admin website control panel, navigate to Connectivity -> Outbound Routes.
Skyetel requires that your outbound caller ID is the 11-digit number of your phone. I updated my other Skyetel setup post to reflect this change – it was previously using a 10-digit number.
Edit your main Skyetel route and click Duplicate:
Then you’ll have a copy of your main route that you can edit:
Per the IncrediblePBX E911 Wiki page, set the name to E911 and set Override Extension to Yes. The other change I made was to mark it as an emergency route:
You can see by the help text that it forces the caller ID (CID) to be a specific number (if set). I don’t have any other numbers besides the one I ported from Google Voice, but you’ll be able to see later how it clearly indicates this extension is set up for emergency calling.
Then go to the Dial Patterns tab and remove all of the pre-existing dialplans by clicking the trashcan icons:
Click the Dial patterns wizards button to generate new dialing plans:
Unselect all options except “US Emergency” and then click Generate Routes. You’ll have all of the appropriate 911 and 933 (testing) dialplans added, plus some extras to make sure all bases are covered. There’s a sad story behind Kari’s Law and why these extra dialplans are ultimately unnecessary, but I’ll keep them just in case.
Once those are added click Submit at the bottom and you’ll be brought back to the Outbound Routes list where you can see the emergency icon lit up:
Move your E911 Route up to the top of the list by dragging it by the crosshair icon. Then click “Apply Config” to save all your changes and reload the dialplan.
Skyetel Settings
Over at the Skyetel dashboard, it’s as easy as following their support document. I’ve included screenshots here as additional examples. Head to Phone Numbers -> Local Numbers and click the gear icon on the number you want to edit.
Once editing your number, go to the E911 tab and set it to Enabled. Fill out your name and address so Skyetel can route you to the correct emergency service provider.
Once it’s enabled, the E911 indicator will be bright green:
Enabling E911 will add $1.50/mo to your bill. But for $2.50 per month ($1 for the local number, $1.50 for E911), it’s way cheaper than having a land line. I like that anyone in the house can dial 911, especially kids.
Testing
Testing 911 dialing seems like a nerve-wracking thing to do. Luckily Skyetel understands your anxiety and has set up a test number of 933 that you can dial to make sure everything is set up correctly.
When you dial 933, if everything is set up correctly an automated Skyetel message will tell you it’s working. It will also read back your configured caller ID and address to verify.
One minor hiccup I noticed is that my call didn’t go through until after a 15 second delay. If it were an actual emergency I would be panicking during this time.
The problem was at my RTP-300. You can dial a pound (#) to commit to the dialed number immediately – I like this for dialing my 702 extension. If I want to dial that extension, I dial 702# – because I might otherwise be trying to call a friend in the Las Vegas 702 area code.
I inspected the dialplan for the two lines of my RTP-300: