Unraveling The Inner Workings Of magicJack (Winter, 2010)

Hello, and greetings from the Central Office! I’m currently over the North Pacific winging my way back to Seattle. I now know the price of tea in China, the breeding cycle of the giant panda, and just how crazy payphones can get. In fact, you may see some interesting Chinese payphone pictures in an upcoming issue of 2600.

When preparing for my trip to Sichuan, one big consideration was how I’d call back home. Land lines are available and payphones are plentiful throughout China, but costs are very high using US-based calling cards (anywhere from 50 cents to $1 per minute). Slightly more reasonable rates are available using Chinese GSM carriers, but rates still average 20-50 cents per minute. Meanwhile, VoIP is very cheap, weighing in with prices as low as … well, free. That’s what MagicJack advertises, which deserved a closer look.

Of course, it’s not really free, but the promise is tempting: for about $40, you can simply plug in MagicJack and make calls anywhere in the US or Canada for free. Call as long as you want, anywhere you want, for an entire year. Better yet, each subsequent year costs only $20. The product even includes free voicemail and you can select phone numbers in whatever market you like nationwide. And best of all, no fiddling around with headsets or microphones on a computer; just plug one end of the MagicJack into your computer’s USB port, and then connect the other end to an ordinary telephone set. Heck, it was even endorsed as the 2008 PC Magazine product of the year! What could possibly go wrong?

Error screen image 

Well, if you have to ask that in the telecommunications business—especially where VoIP is involved—you probably haven’t been around it for very long. VoIP is a very complicated business, and MagicJack fails to unravel its complexity. In fact, it introduces some complexity of its own. Phone numbers in whatever market you like? Well, you may get one in the same LATA, but the end office might be a toll call to virtually everywhere. Call anywhere you want? Sure, as long as the number isn’t blocked by MagicJack (as many Iowa-based teleconference services are). Make as many calls as you like? Yes, as long as you call fewer than 60 unique numbers per day. When you install the software, the End User License Agreement (EULA) has a few very nasty surprises. And as for that PC Magazine Product of the Year endorsement (which MagicJack still advertises), PC Magazine rescinded it—something never before done in the history of the magazine.

There are four distinct components of MagicJack:

Hardware. This is made by TigerJet, a manufacturer of VoIP hardware. The TigerJet integrated chipset provides a USB audio controller, which serves as the interface between your telephone set and the computer. It also provides a CD-ROM USB device, which is used to install the MagicJack software.

Client software. Written by SJ Labs, this provides a SIP/RTP “soft phone.” It uses the CPU of your computer to encode and decode your conversations, and referencing an index of gateway servers, it uses your Internet connection to reach MagicJack’s SIP/RTP gateways. The software also logs your phone calls, sends information about you to Google, and serves advertising.

Middleware. Provided by stratus.com, this software runs on MagicJack gateway servers. These are numerous and located throughout the country with reasonable proximity to MagicJack rate centers. This software provides encoding and decoding of SIP/RTP conversations on the server side, and also provides an SS7 interface to the PSTN. SIP servers appear to run on Linux, and Asterisk appears to be the switching platform. RTP servers appear to run on OpenVMS for HP Alpha.

CLEC. MagicJack is a wholly owned subsidiary of YMAX Communications Inc., a fully qualified CLEC in all 50 states. This is the ace in MagicJack’s sleeve, and appears to make possible (albeit with razor-thin margins) unlimited calling to anywhere in the US or Canada.

Installation

MagicJack software is available for both Mac and PC. I tested the PC version. Although this is supposed to be a “plug and play” installation experience, it doesn’t work if you have autoplay disabled in your operating system. To install the software, I had to hunt through the root directory of the virtual CD-ROM device (which contains a file called DO NOT USE THIS DRIVE) to find the setup files.

Running the installer downloads the latest installation files from the MagicJack site and starts up the soft phone. This allows immediately making 30 minutes of calls (over a 48 hour period) prior to registration. After you’ve reached either threshold, registration is mandatory. In this “demo” state, 800, 888, 877, 866, 500, 900 calls are blocked, as are international calls (except Canada) and calls to directory assistance.

Registering requires the following information, which is nearly as much as I need to do my taxes:

  • Your email address
  • Your street address.
  • The type of internet connection to be used.
  • Information on what type of television service you have (dish, cable, or neither) – presumably for marketing purposes.
  • Accepting the terms of service.
  • To make outgoing calls, you have to select an “I elect to accept free outgoing service (recommended)” button. It’s not clear why this is here, but it’s probably for legal reasons. MagicJack also attempts to upsell you to a vanity number ($10 per year) or a vanity last 4 digits ($3 per year). (Fig. 2)
  • You can then select a number. As of this writing, Seattle numbers were not available. In the 206 area code, only Vashon numbers were available. Vashon is an island. You have to ride a ferry there, and the island is located 30 minutes away from Seattle or Tacoma. It’s also not a local call to anything except itself and downtown Seattle.
  • MagicJack then offers insurance for $1 per year. The insurance covers damage to or failure of your MagicJack hardware, but whether MagicJack replaces your hardware is in its sole discretion. I declined.
  • MagicJack then attempts to upsell you to 5 years of service for $59.95. This equates to an additional $15 per year (sneakily, MagicJack isn’t selling a 5 year extension to what you already purchased, they’re selling a 4 year extension).
  • If you decline that, you’re offered a 1 year extension of service for $19.95. This is the same as the normal renewal price.
  • You are then offered pre-paid international calling in the $10, $20 or $40 increment.
  • Finally registration is complete. Your number is issued. I got a number ending in 666. One evening when I’m bored, I’ll contact customer service to find out whether I can get a number that doesn’t contain the Mark of the Beast. I’m sure the results will be amusing.
MagicJack upsell screen shot

MagicJack never misses an upsell opportunity

After registering, I received two email messages. The first was a 911 disclosure. It basically says that MagicJack will try to connect 911 calls, but they’re under no obligation to do so and they will only send 911 whatever information you provided at sign-up (which may not be your actual location). I also received a verification email. Clicking on the verification email specifically allows MagicJack to spam you per their Terms of Service.

Once installed, the softphone cannot be uninstalled. Yes, you read this correctly, even if you return the MagicJack the software will remain on your computer, tracking your activity and displaying ads forever (or until you track down and eradicate every piece of it).

Using the software

Once installed correctly, making phone calls is as easy as picking up the phone and dialing. That is, as long as the ports the soft phone uses are open, and as long as it’s able to communicate with the MagicJack SIP and RTP servers. There are a few additional technical requirements that are unlikely to be met on many consumer PCs, leading to a complicated and frustrating troubleshooting experience with MagicJack’s unhelpful customer service (they communicate with you only via Web chat, and generally provide canned answers that don’t apply to your problem).

While running, the client software handles SIP/RTP in the background. The SIP credentials use a salted hash password, which means that it could be cracked via dictionary attack (this could allow you to, for example, clone your MagicJack account to a SIP ATA). The client also displays advertising and secretly sends information about you to Google via the 1e100.net domain. “Don’t be evil,” indeed.

The user interface allows selecting between normal broadband connections and high latency, slower speed aircard connections. Normal broadband connections appear to use the GSM codec, while aircard connections use a poorer quality (but lower bandwidth) codec.

Obviously, as a phreak, I tested the entire dial plan. Here are my observations:

  • Voice quality ranges between poor and terrible. Folks, for $20 a year, you get what you pay for! It’s too poor to pass DTMF in most cases. The quality is also too poor to maintain a data (such as fax or modem) connection, making for a frustrating experience sending faxes or calling dial-up BBSs.
  • As compared to other VoIP services I tested, Skype, Gizmo5, IPKall, and Google Voice all provide a markedly superior VoIP experience. In my market, MagicJack quality is so poor that the service is virtually unusable.
  • Disconnected numbers ring indefinitely and then go to reorder. No SIT tones and no recording, so it’s really difficult to know what went wrong.
  • ANI and Caller ID do pass correctly.
  • Either 10 or 11 digit dialing goes through, but 7 digit dialing is not allowed.
  • All circuits busy recordings are played.
  • Calls to numbers that don’t supervise go through, and they even send forward audio.
  • Calls to Canada and the US are free, including Alaska, Hawaii and Puerto Rico. However, USVI isn’t considered domestic and isn’t allowed without purchasing international credits. Guam and the Commonwealth of the Northern Mariana Islands are also considered international.
  • Calls to 800/888/866/877 numbers go through without issues. However, calls to UIFNs fail without any international calling credit. I’m not sure whether they go through or bill properly with international calling credit on the account, because I didn’t buy any.
  • Calls to a carrier access code plus any number route to a recording that says “You have reached a YMAX Communications test number. This call was successful.”
  • Dialing 0 provides instructions to dial the area code and telephone number. 0+ calls yield the same results.
  • While most calls appear to be routed either through local access tandems or dedicated interconnection trunks, YMAX doesn’t have interconnection agreements with every ILEC, CLEC or wireless carrier. For these calls, AT&T appears to be the long distance carrier (based on all circuits busy recordings). The trunk used is 062T, which is the New York 24 tandem.
  • Call waiting works correctly. There is no 3 way calling available on outbound calls. A 3 way calling feature for inbound calls is available, but I couldn’t get it to work.
  • Voicemail is available, and is surprisingly rich and full featured. The terms of YMAX’s interconnection agreements require a reasonable degree of traffic parity for the “bill and keep” arrangements made, so YMAX definitely wants you to receive calls.
  • Call forwarding is available via the MagicJack website. You can log in to set up forwarding.
  • *67 doesn’t work, and there’s no apparent way to block caller ID (either per-call or permanently).

The Ace in MagicJack’s Sleeve

Unless MagicJack is a giant Ponzi scheme, how could they possibly afford to provide unlimited calling for only $20 per year? This is something I really wanted to find out, given the spectacular collapse of previous VoIP services priced well below market.

What I discovered is that $20 per year may become the new market price for voice service. MagicJack is a subsidiary of YMAX Communications Inc., a fully qualified CLEC with a management team consisting of numerous telecommunications industry veterans. These folks knew what they were doing, and played their cards very shrewdly when setting up the company. In reviewing the interconnection agreements filed between YMAX and AT&T for its 13-state region (handled by tminc.com), the billing arrangement is consistently “bill and keep” and is not subject to access charges (a topic I’ve written extensively about in previous columns). There is one exception, which is ISP-bound traffic. This is subject to a .0007 cent charge per minute of use, where activity exceeds a 3:1 terminating to originating ratio. This is clearly why MagicJack provides such full-featured voicemail; they need to maintain at least this balance of inbound to outbound calls in order for their business model to work. In fact, it is possible (though unlikely) under this arrangement for YMAX is to receive reciprocal compensation from AT&T for inbound calls to MagicJack lines while terminating calls for free to AT&T’s network. In many states, it’s difficult to obtain access to tariffs without paying. However, I was able to review a Qwest tariff for Montana and a Verizon tariff for Illinois containing similar terms, so it’s reasonable to believe that YMAX has pursued a consistent strategy with respect to interconnection.

While the underlying carrier (YMAX) is a CLEC, MagicJack is specifically not offered as a CLEC product. The terms of service explicitly state that MagicJack is “…a multimedia experience which includes a voice over Internet information service feature. It is not a telecommunications service and is subject to different regulatory treatment from telecommunications services.” This appears to exempt MagicJack from essentially any regulation from either the FCC or local public utility commissions.

And with that, Skram will hate me. I’ve used more space than I’m usually allowed, which will make his job of laying out the magazine more difficult. It’s time to bring this column to a close. Have a safe winter… and if you make it to China, enjoy the Harbin ice sculptures, try some delicious Uighur cuisine, and don’t miss the pandas!

References

http://www.magicjackhacks.com/ – Site with lots of interesting information using MagicJack in undocumented ways.

http://www.magicjack.com – Official MagicJack site.

http://www.sjlabs.com/ – SJ Labs site. You can download their legacy softphone product here.

http://www.ymaxcorp.com – Corporate site for YMAX Communications, parent company of MagicJack and SJ Labs.

http://tjnet.com/ – TigerJet, manufacturer of the chipset used in MagicJack hardware.

Shout outs to: Chronomex, afiler, javantea, maokh, inf0reaper, Dan Kaminsky, and the Metrix Create:Space crew.