Verizon Blocking SIP ports {updated}

April 18, 2011

Background

Do you remember the days when AT&T didn’t allow Skype calls over 3G? We all complained and got our wishes. About a year ago, Verizon got into bed with Skype so all Skype calls to US will use Verizon minutes. Verizon is notorious for screwing customers to maximize their benefits. I just switched from AT&T iPhone 4 to Verizon iPhone 4 to find out that Verizon is being and A&& as usual.

They are somehow(probably checking the ports or analyzing packets) blocking SIP connections on their network.

What is SIP?

For those of people who doesn’t know, SIP is a protocol for VOIP. SIP allows users to make and receive calls over Internet Protocol. Think of it as Skype, but with lot’s of flexibility and openness. You can do everything Skype can do with SIP. For SIP there are many service providers(provides phone numbers, allow incoming calls, and making calls outbound), Softphones (Softwares that allows SIP connection to make/receive calls) and SIP Phones (physical phones that allows SIP connections, much like the Cisco phone you see at offices).

Why use SIP?

You can make cheap international calls(good quality) and get local phone numbers from other countries(so your customers/friends don’t have to pay international calling fee). What are some other features available? Basically, any features Skype and Google Voice offers, you can replicate it with SIP. For making calls and receiving you don’t need much, service provider can offer everything. If you want to do some routing, call-forwarding, and other advanced features, you would need to run your own servers, such as Asterisk.

The Story

I got fed up with AT&T signal so I decided to give Verizon Thunderbolt a try. Since Verizon announced the end of 1 year contract, I had to get it while it lasted. I installed SIPSimple(SIP softphone for Android) and tried making calls. On WIFI, I can make crisp clear calls. When I tried making calls on 3G/4G network, I would get disconnected 1 second into the call. I thought it was the software, so I tried couple different SIP Softphones. They all got disconnected 1~5 seconds into the call.

One of the reason I picked Thunderbolt over Verizon iPhone was Android’s openness which allows SIP to be integrated into basic phone features. On Gingerbread SIP will be part of OS. On Android I can call anyone as if I am dialing normally, and pick if I want to use Verizon’s cellular or SIP for outbound calls. iPhone doesn’t allow app developers to touch their basic phone functionality.

At first I still thought it was Android’s problem, so I exchanged Thunderbolt for iPhone 4(Verizon). I installed Media5 (softphone for iPhone) and tried making test calls. I was able to make calls but I would be disconnected randomly between 20~50 seconds. Again, WIFI calls were flawless. At this time I knew it was the network and decided to give final test. Using VPN.

VPN is the solution

VPN encrypts all the data from my device to the VPN service provider. So Verizon doesn’t know what kind of internet activity I am doing at my side. I knew this would work, but I just wanted to double confirm. I signed up for a VPN service which allows L2TP protocol and replicated my test. Ten Minutes into my test calls, I wasn’t disconnected. One caveat is, the VPN software(both iOS and Android has it integrated natively) needs to have “Send All Traffic”(iPhone has this feature, but Android doesn’t). Android tries to send un-encrypted SIP data to Verizon rather than using VPN tunnel, so VPN couldn’t solve the problem on Android.

Closing

I am not an Android user so I won’t probably look for a way to enable “Send All Traffic over VPN”, but if you know how, share wit with me/world. If you need a quick VPN service, check out VPNVIP.

Updated(October 25,2011): now it works!

Recently I have been able to use SIP on Verizon’s 3G network without getting disconnected. With bandwidth cap and monitoring, it looks like Verizon is giving little freedom to customers at a cost.