If you have issues with one-way audio and a linksys device (like an ATA) and you just happen to be running pfsense with Siproxd, you’ve experienced the occasional problem where the ATA or device (like the phone) just refuses to register through the siproxd (sip proxy) server.
This causes many problems, the most common being 1 way audio. Sometimes, it’s incoming audio, other times, it’s outgoing. Either way, a multitude of reboots just isn’t going to help. There is a simple solution to the whole mess though.
Of course, it’s not documented anywhere and the only solution seems to be endless hours of frustration and fiddling with registers on the ATA or phone until it works. (For some odd reason, sometimes it works and other times, it doesn’t.)
So here’s the quick and easy solution (that I’ve found) to make it work within about (1 minute).
Just log into the web interface on your device. (Mine is an SPA-2102) and when it works, it’s an absolute dream, but after a firewall upgrade or reboot, all heck breaks loose.
How do I know? A good, working configuration that has lasted me 9-10 months all of a sudden dies. I know it’s not siproxd, I know it’s not pfsense. Why? The linksys just refuses to register on the port (5060) you tell it to.
Here’s all you need to do to fix it.
1. Go to Admin / Advanced (in the linksys device).
2. Choose the line that isn’t working (Line 1 or Line 2 in my case). Ensure that both SIP port and External Sip port are the same. I just designate both of mine to 5060 on Line 1. You’ll need different sip ports on the different lines. (It’s a Linksys thing.. don’t kill the messenger).
3. Change the SIP Port value from 5060 (or whatever you have it set at) to any arbitrary number that isn’t used. (I just change it to 5160) and just hit submit changes or save (whatever that button is that saves the settings at the bottom of the page).
4. Wait for the machine to recycle / reboot / reconnect (depending on the firmware revision you have).
5. Change the SIP port back to the original values that you originally installed and need to work. (I have my Siproxd set to use 5060 on the internal side). I just set it back, hit the button and save/reboot/whatever that button is. The machine should reboot / recycle / re-register.. It should now be registered through the proxy.
6. Test incoming and outgoing audio by doing the following:
- Test incoming by calling *98. If you hear sound, it’s working.
- Test outgoing by one of the two methods:
- Call 1-800-555-1212 and use the voice response system to actually see if the toll-free directory assistance actually hears your voice. If it’s not an accurate representation, it doesn’t matter. It just needs to hear something and it’ll present you with choices [right or wrong]
- Call your favorite telemarketer on their toll-free number and hit them with that wonderful 1st minute charge of .12 cents or whatever it is they pay. (This is my preferred method.. I especially like to call those idiots that mis-represent themselves as a police association or those credit card scam telemarketers). [ok.. so flame me all you want, but I’m just returning the favor.. after all, I’m on the Do Not Call list and they just hang up on me when I ask them to remove me.. so they’re fair game in my eyes]
Well.. that’s it. All is well and the world is a happy place. Hope this helps you deal with the frustration I’ve had to endure for countless hours until I’ve figured out the exact method that works.
Another note: set keep-alives to every 30 seconds and re-register to 60. Seems to work for me quite well.