Posted on Thursday, 11th March 2010 by Michael

Hacking the Magic Jack in 2010 for use on Trixbox or any other SIP device

The concept and art of hacking the Magic Jack is actually really old. The reason I am writing this is that over the last year the process has become much harder. There is definitely ample information available online that if you were to spend weeks reading you could easily do this. But who wants to read through countless forums post trying each way to hack it only to find that way no longer works. Like you, I want the answer and I want it now.

Chapters:

  1. Who wrote this document.
  2. What is the Magic Jack.
  3. Why did I buy it and my buying experience.
  4. Required tools and knowledge.
  5. Setup and registration of your Magic Jack.
  6. Get SIP info and Proxy info.
  7. Testing settings and using other SIP clients.
  8. Configuring Trixbox

Who wrote this:

This document contains the ideas of many but has been written, tested, added to and compiled into one body of knowledge by the team of Security professionals at http://www.digitaloffensive.com. Resale, trading, or hosting of this document is against the law and violators will be prosecuted. This document is for educational use only and the team at http://www.digitaloffensive.com does not take any responsibility for your use of this document or the effects it may have on your systems or Magic Jack account.

What is the Magic Jack:

The Magic Jack is a small USB dongle that plugs into a computer and telephone to provide the end user a low cost phone service through the power of VoIP and ads. There are many thoughts on this product some good and many bad. Many people believe this product to be riddled with spyware based on their poorly worded TOS that you must accept to use and the ads you are forced to see when using their soft phone. I am under the assumption that anything I install on my computer could possibly spy on me and I assume that risk. With that out of the way I leave it up to you to decide if you want to try this product or not.

Why did I buy it and my buying experience:

Several days ago I ordered a Magic Jack. My reason for ordering a Magic Jack was to use it as a part of my Trixbox VoIP system. I read this can be done and it looked real easy to do. Lucky for me they were offering a free 30 day trial. The free 30 day trial is actually free though they put a hold on your credit card for 46.00 + change this includes the shipping cost, the USB dongle and 1 year of service. The whole process felt fishy to me but I figured even if I was to get ripped off it was under $50.00 and would provide a good learning experience as well as give me something to write about. It took less than 5 days to get my Magic Jack sent to me.

During the research I did I found that the older versions of the Magic Jacks before the recent upgrades were easier to hack and to get the SIP information off of. So when I ordered this I was hoping that it would arrive in one of those vacuum packed plastic cases that take close to an act of God to open. My thought process was that if it came sealed like that it might have been sitting on the shelf for some time and not contain the most recent updates, making it easier to hack. But no, mine came in a foam holder like a glorified AOL DVD. I decided to first try to install it on a computer with no internet connection so I can view the files on the Magic Jack and maybe figure a way to disable the auto updates. This was fruitless because as soon as it detected there was no internet it would not install. So I moved the USB to another computer with internet access and enabled windows firewall in hopes that it would stop the Magic Jack from auto running and updating itself. I was wrong. It ran and automatically updated itself to version 2/18/10. I was about to ship it back ASAP, but I got to say this little device looks cool and I wanted to play.

Required Tools and Knowledge:

We will need to download several tools to get started. I suggest that you create a folder on your desktop and extract all the files to the folder you created as they all will be used together.

  1. Magic Jack: http://www.magicjack.com.
  2. Stroths MJ Utilities Suite v 1.6 from this link: http://magicjackhacks.com/downloads/MagicJack_Utilitieswsip.zip . This suite was once used to be able to pull the SIP information off your Magic Jack. Even though this feature no longer works with newer Magic Jacks, this suite provides other useful tools that we will need.
  3. SIPDump.exe: This file is not normally included in the suite above, but the URL above has a copy of it in the zip file. The Magic Jack stores the SIP info in memory. This is the most important tool and will be used to dump the password and SIP info out of memory.
  4. MJMD5: http://magicjackhacks.com/downloads/MJMD5.exe . This is a windows proxy that will allow us to use other thin clients and soft phones, such as xlite, without needing the actual USB dongle. This is also good for those that want to use the iphone or other wifi enabled phones. This is needed since Magic Jack has altered how it handles SIP and basically adds a hash to each packet. This tool will add the hash and the proper syntax information. I use this tool to test my Magic Jacks to make sure that the SIP information I pulled off is correct.
  5. WireShark: http://www.wireshark.org/download.html . WireShark is a packet sniffer and will be useful in figuring out what Magic Jack proxy we are using. It is also capable of capturing VoIP calls and compiling them so you can listen to other people’s calls.
  6. Notepad ++: http://sourceforge.net/projects/notepad-plus/files/. Notepad ++ is a replacement for Notepad. It keeps the formatting of files, adds line number, and is able to open large files without crashing and many other cool features. This will be needed to open the memory dump files. Though it is possible to use Notepad or Wordpad to do the same on faster computers.
  7. Xlite: http://www.counterpath.com/xlite-comparison.html .This is a soft phone that we will for testing our credentials. You can use any soft phone you want or any SIP client you want for testing, such as an iPhone. Though I will use this one for the article. The current 3.0 code of the Xlite application does not require you to sue the MJMD5 proxy as it uses md5 to encrypt your password already.
  8. Windows firewall, Antivirus Firewalls, Software Firewalls, and or Hardware firewalls: Make sure these are disabled as this adds to the trouble shooting. Or open up your system to allow all outbound connections and inbound connections (UDP is not stateful) for the testing. If you are worried about your security please Google 1 to 1 NAT or PAT’s and create a policy that way.
  9. MJProxy: http://www.digitaloffensive.com/mjproxy.c.tar.gz Linux Magic Jack Proxy. This is like the MJMD5 proxy but for Linux.
  10. Trixbox: http://www.trixbox.org/downloads (or any other asterisk system you feel comfortable with). An easy to use asterisk system widely used in the community.

Besides the tools listed above you will need the following:

  1. Patience: This is key in doing this. If you think you are going to run a few commands and get the goods you are wrong.
  2. 2. Computer Skills: If you do not have basic to intermediate computer skills and the ability to follow directions, just stop now.
  3. 3. Linux Skills: If you plan to use this as part of your Asterisk, Trixbox, Free PBX and so on systems.

Setup and Registration of your Magic Jack:

So let’s get started. The first thing you will need to do is put your Magic Jack in the USB and register your Magic Jack. This will walk you through upgrading the Magic Jack firmware, setting up your Magic Jack account, setting up E911 and obtaining a telephone number. Be warned that during the whole process they try to sell you additional services, so be careful where you click. Once you have completed your Magic Jack setup, I would use their soft phone to make a test call to verify everything is working before continuing. This will help eliminate additional troubleshooting steps if there is a problem later on in this article. If you do not have a phone to plug into the Magic Jack, go to “menu” tab and choose headset, this will allow you to use your computer speaker and mic. Once you have done this place a call to someone. I called my cell phone to test, so I would not bother any one while I went through the rest of the setup and tests.

Get SIP Info and Proxy Info

I do not guarantee this will work and doing this may get your account terminated.

Now that we have a working Magic Jack we can start the process of trying to get the SIP info from the Magic Jack. Most of you already know that the Magic Jack stores its SIP info temporarily in memory on initial start up, so for us to get this information we will need to dump the memory and look through the output for the password. To do this we will use the SIPDump.exe that we have downloaded earlier.

Timing is everything on this step and it may need to be repeated several times to get the information you need.

Timing is everything on this step and it may need to be repeated several times to get the information you need.

1.Open the SIPDump.exe and set the dumps to 4. DO NOT HIT OK YET.

Click for a larger image

2. Next start up your Magic Jack software, either unplug it and plug it back in or go the drive and select autorun.exe.

3. When you see it starts to load and see the ad on the left hand side start to show click ok on the SIPDump.exe.

Click for a larger image

4. This will dump the memory into 4 dump files and stop Magic Jack. These dump files will be located in the directory where you ran SIPDump.exe from and be called SIPDump1-4. Each file must be a minimum size of 22,000 KB. If they are not please try again. We have found the password in smaller sized files but for some reason the Magic Jack do not work in the following steps.

Click for a larger image

5. Now open the first SIPDump file and search for the EXACT phrase “SIP.Connection.Refresh” without the quotes. There should be only one instance of this phrase and your password should be located within a few lines above and or below it. Many articles on this say your password will be 20 characters, mine however is 21 characters. I also found mine in the second SIPDump file along with my SIP username which is still the standard E_your_number_01@talk4free.com.

Click for a larger image

6. At this point we have our SIP username and password. We now need to get the proxy address that our Magic Jack is using. It will be in the format of proxy01.xxx.talk4free.com, where the xxx is the city where your proxy is. To do this I used WireShark. Since WireShark is not what this article is about, I will provide you with a high level instruction on how to use it to get what we need. Side note I know there are easier ways to do this but they are not as reliable. I also understand there are other ways to get this info out of WireShark but I am keeping it simple so the end user does not have to go through tons of packet capture to get what they need.

a. Open WireShark. Once it is open click on Capture à Interfaces à Then the interface that is handling your networking and internet. This will also most likely be the only interface that has packets. Once you determine the interface to use choose start.

Click for a larger image

b. Once you start the capture start your Magic Jack and place a call to your test number. This will generate VOIP traffic that WireShark will capture and save. Once your test number answers or you get voicemail, hang up and stop the capture.

c. Now that you have the packets, let’s find the VOIP info. To do this click on Statistics and then on VoIP Calls.

Click for a larger image

d. This will launch another window showing your call info:

Click for a larger image

e. As you can see from the image above we have detected 1 VOIP call. From this screen we can Graph the call details or actually play the call back and listen to the conversation. Though playing the call back is cool is not what we need to continue. Click on “Graph”

Click for a larger image

f. This IP will vary based on where you live. To get the Fully Qualified Domain name (FQDN) we will open a command prompt and type “ping –a <IP from above>”

Click for a larger image

g. We now have all the required SIP information

i. SIP username: Etelephone-number01

ii. Password: L123456789101112133G (not a real password)

iii. Proxy: proxy01.philadelphia.talk4free.com

Testing settings and using other SIP Clients:

Now that we have our SIP info, we want to test it to make sure we gathered all the correct information. To do this we will use the MJMD5 tool. This tool is a proxy server that we will send all our VOIP traffic through. This is needed since Magic Jack alters how the packets are sent by adding a hash to them. This tool will add the hash to the packet then send it.

1. Start MJMD5.exe and fill in the proxy and the password field and press start:

2. Now that the proxy is running, let’s open our Xlite soft phone application and add a new SIP Account. To do this launch the application and right click on the status window –> Choose SIP account settings –> Add. Display Name: Can be anything you want. User Name: Must be your SIP user name. Password: must be the password that we got from the dump. Authorization user name: must be the SIP user name. Domain: is the IP address of the computer you are running the MJMD5 proxy on :5070 (The SIP Port). To get the IP of your machine go to a command prompt and type ipconfig and press enter. Make sure the rest of the settings are checked as you see in the image below. Then hit save and go back to the application.

Click for a larger image

3. The moment of truth: If you have followed all the directions above and got the correct proxy, password and username you should see the following displayed on the Xlite soft phone and you should be able to place a call without the Magic Jack plugged in.

Click for a larger image

4. Testing outbound call

Click for a larger image

5. Testing incoming calls

Click for a larger image

6. Now that we know that the SIP information we gathered is correct, we can use it for countless things.

a. For example you can use a service like http://www.afraid.org to register a sub domain for free that points to your home IP address. On your home firewall you can setup a rule to allow 5070 inbound and create a network address translation. This will allow you to use any wireless device with a SIP client to connect to your home computer running the MJMD5 proxy and make free calls.

b. Or you can setup your own PBX, like Trixbox

Setting up your own PBX using Trixbox

This section requires that you have knowledge of the Linux operating system or are willing to spend the time to learn as you go. If this is you then please continue on.

Before you start you will need a copy of Trixbox installed and ready to go. To obtain an ISO of Trixbox go to http://www.trixbox.org/downloads and download it. Once it is done downloading burn the ISO to CD and install. Trixbox should be installed on a system with a minimum hardware of 40gig hard drive, 512 MB of memory and a network card. This configuration should support a small office or home setup.

During the creation of trunks, routes and extensions if I do not mention a field you are to leave the default value unless you want to play with settings at which point you are on your own for making this work.

Installing MJProxy:

MJProxy is a program written in c to manipulate your SIP traffic into the Magic Jack required format and pass it to and from the Magic Jack servers and your PBX.

1. Login as root to your Tribox system

2. Install the c compiler: yum –y install gcc

3. Download mjproxy source: wget http://www.digitaloffensive.com/mjproxy.c.tar.gz

4. Extract the mjproxy source and libraries: tar –zxvf mjproxy.c.tar.gz

5. Compile the mjproxy source to an executable: gcc -o mjproxy md5.c mjproxy.c

6. Give it rights to run and execute: chmod 777 mjproxy

7. Run the mjproxy: ./mjproxy 0.0.0.0 5070 proxy01.yoursite.talk4free.com 5070 your_password

a. To run multiple Magic Jacks you can either use a virtual IP on your interface or replace the 0.0.0.0 with a dedicated IP. The 0.0.0.0 means to listen on all IP’s. Or you can change the first instance of 5070 to the next highest number i.e. 5071. I would suggest a combination of both as to not to confuse inbound and outbound calls.

b. You can also place this as a service or create a shell script to execute all your Magic Jack proxies.

8. Issue a ps –wuax to make sure the mjproxy process is running

Logging into Trixbox web gui:

1. Login to the web gui http://IP_address of your Trixbox install and click switch in the upper right hand cornor. This will switch you from user mode to maintaince mode. By default the login is maint / password. To change this log into the console with the root account and issue the command passwd-maint and follow the instructions.

2. Once logged in either fill out or ignore the Trixbox registration screen. This is not required but can’t hurt.

3. At this point you can start your configuration.

Update your system:

1. Click on PBX settings

2. On the left hand side click “Module admin”.

3. Click on “Check for updates online”.

4. Click on “Upgrade all”.

5. Click on “Download all”.

6. Then ok, this will start the downloads, the upgrades and will then prompt to reload the system.

Configuring a Trixbox Trunk:

1. Click on “PBX Settings”

2. Click on “Trunks”

3. Choose “Add a SIP Trunk”

4. Leave “General Settings” blank

5. Under “Outgoing Settings” fill out the following

a. Trunk Name: Magic Jack (or anything you want)

b. Peer details:

username=EXXXXXXXXXX01 (your SIP username)

type=friend

secret=LXXXXXXXXXXXXXXX (Your SIP Password)

qualify=2000

port=5070

nat=no

host=XXX.XXX.XXX.XXX (The IP address of your trixbox)

fromuser= EXXXXXXXXXX01 (your SIP username)

dtmfmode=inband

insecure=very

context=from-pstn

6. Under Incoming settings erase everything out of the fields.

7. Under registration fill it in as follows with the information from the Peer Details:

a. SIP username:SIP password@Trixbox IP:5070/Your 10 digit telephone number

b. Ex. EXXXXXXXXXX01: LXXXXXXXXXXXXXXX@xxx.xxx.xxx.xxx:5070/7175555555

8. Click “Submit changes”

9. Click on “Apply changes”

10. Click on “reload”

Click for a larger image

Click for a larger image

Click for a larger image

When you click on the PBX settings button you will see the following if you created the trunk correctly and if it registered:

IP Trunks Online 1

IP Trunk Registrations 1

If this did not work you can use tail –f 10 /var/log/asterisk/full on the command line to view your logs for errors. If you did not test your SIP settings as I outlined above please go back and use xlite to verify they are correct then try rebuilding the trunk again. If you are still having issues I am available for a hourly rate to trouble shoot and correct or you can use Google.

Creating an outbound route:

1. Click on “PBX Settings”

2. Click on “Outbound Routes”

3. Click “Add route”

4. Route Name: Magic-out (Or whatever you want to name it)

5. For Dial Patterns use the wizard and select 7 digits and 10 digits dialing unless you want to setup some special dialing which if you do you are on your own for this article.

6. For “Trunk Sequence” choose the trunk you just created.

7. Click “Submit changes”

8. Click on “Apply changes”

9. Click on “reload

Click for a larger image

Creating an Extension:

1. Click on “PBX Settings”

2. Click on “Extensions”

3. Choose “Generic SIP Device”

4. Under “User Extension” enter an extension in a numeric format i.e. 101.

5. Under “SIP Alias” enter the same number you used for the extension.

6. Under “Secret” enter a min 6 character password the longer and more complex the better.

7. Click “Submit changes”

8. Click on “Apply changes”

9. Click on “reload

This will create a basic extension. Under this setting you can also configure your extensions voicemail and caller ID, but we are keeping this basic for now.

Creating an Incoming route:

1. Click “PBX Settings”

2. Click “Inbound Routes”

3. Click “Add route”

4. Under “Description” enter Magic-in (or other name you want)

5. Under “DID Number” enter your 10 digit Magic Jack number.

6. Under “Set Destination” choose “Extension” and select the extension you just created

7. Click “Submit changes”

8. Click on “Apply changes”

9. Click on “reload”

Once all these steps are completed you can configure your smart phone and test. If you are using xlite as your soft phone use the settings you used in the extension creation for your settings in xlite. Or if you are using a different IP phone such as Cisco follow the manufactures directions to configure it.

Simple Troubleshooting of your Trixbox:

Asterisk stores all of its events in one log fill called full located in /var/log/asterisk/ to view the log in real time you will need to log in to your Trixbox via shell access as root. Once you are logged into the box issue the command tail –f 10 /var/log/asterisk/full . This will scroll the last 10 lines of the log and any new log entries. Common errors that you will find here is incorrect authentication or issues with registration of the trunk. These are the two biggest issues I have run into while configuring Magic Jack to work with Trixbox. If you see any errors in the log you can simply Google them for detailed answers.

Services / Help:

If you bought this document and still cannot get your Magic Jack to work I will provide discounted hourly fees to help you to get yours working. I charge 100 dollars a day, with a 1 day minimum. I require you to ship your Magic Jack or Magic Jacks to me with a tracking number and provide return shipping with tracking as well. Your best bet is to send me the sealed Magic Jacks with the email address you want associated to them as well as the area code you want and let me do them from scratch.

If you want me to configure Trixbox system to use your Magic Jacks I will also require remote access to your machines as well as the usernames and passwords to your system. The fee for Trixbox configuration is an additional 30.00 dollars per day.

As mention above I will give a discount of 25.00 per day to anyone that bought this document and could not get this working based on information I provided and not due error or lack of ability on their side. I will review everything before accepting work and I do not guarantee anything.

1. Next start up your Magic Jack software, either unplug it and plug it back in or go the drive and select autorun.exe.

2. When you see it starts to load and see the ad on the left hand side start to show click ok on the SIPDump.exe.

Posted in Papers | Comments (83)

83 Responses to “Hacking the Magic Jack in 2010 for use on Trixbox or any other SIP device”

  1. Dannie Pinckley | X100pse Fxo Pci Digium Asterisk Trixbox Elastix … Says:

    […] Digital Offensive » Blog Archive » Hacking the Magic Jack in 2010 … […]

  2. Digital Offensive » Blog Archive » Hacking the Magic Jack in 2010 … Vioxx Me Says:

    […] more from the original source:  Digital Offensive » Blog Archive » Hacking the Magic Jack in 2010 … tags: dtmf-inputs, long-term, secure-systems, start-the-capture, sudo-chown, telecom, […]

  3. software testing forums | SOFTWARE Says:

    […] Hacking the Magic Jack in 2010 for use on Trixbox or any other SIP device […]

  4. Digital Offensive Blog Archive Hacking the Magic Jack in 2010 … Says:

    […] Linux Skills: If you plan to use this as part of your Asterisk , Trixbox, Free PBX and so on systems. Setup and Registration of your Magic Jack: So let’s get started. The first thing you will need to do is put your Magic Jack in the USB …Click Here […]

  5. Magichack Says:

    Hi Michael,

    Thanks a lot for posting such a great article on how to handle this seemingly impossible task of getting SIP credentials from MJack. I was able to make and receive calls using XLite.

    I was successful in getting my SIP and password, however, my goal is to be able to use my PAP2T with these credentials. I have tried the configuration on this page: http://www.icrawl.org/485225513-pap2t-magicjack-setup

    but i’m unsuccessful in making/receiving calls, nor there is a dial tone. I get this error ” Registration State: Can’t connect to login server”.

    Any further help would be greatly appreciated.

    Thanks again
    -MagicHack

  6. Michael Says:

    MagicHack: Where it says proxy information enter the local IP of the computer you are running MJMD5 on. The issue is that Magic Jack requires the packet to have a MD5 hash. Your PAP2T does not have the option built in so you are still required to run a proxy some where for this to work. I am starting to think that hosting a remote MJproxy service may become a good idea. If you do this and change the user agent to the new one which can be found by a simple Google you should be good to go.

  7. cslinux Says:

    It’s k , i’ve searched and douns the SIPDump, but when i used it as shown above I got:
    SIP.Connection.Refresh and below it a phone number for one of my contacts , any idea what does that mean ?

  8. Michael Says:

    I am glad you learned how to use Google. Beware next time you decide to send countless comments on the same subject we will not answer any of them. We all have full time jobs and are not at a keyboard 24 x 7 to respond to our web users. Customers of ours are given our number and email.

    Per your question about the telephone number I do not know. The config is not a standard and you may have to check each of the 4 dumps before you find the password. I guess you are seeing the contact number as it is part of the memory of magic jack and it does load it on the right hand side when it boots up.

  9. cslinux Says:

    First thanks for your reply and sorry for the multiple post.
    If i see the same phone and no numbers else after SIP.Connection.Refresh in the 4 dump files, so does it mean that the password wasn’t found ? or what ?

  10. Moe Says:

    can anyone confirm that this still works I got a 21 digit number and letter password I got the username and proxy. But when I try to connect using mjmd5 and xlite I get timeout error.

  11. Michael Says:

    This does work I do about 3 + of these a week for people. Some magic Jacks have issues and need to be upgraded or basically reset by wiping it and restarting.

  12. MacAttack Says:

    Michael,

    Thanks you SOOO much for this posting!

    Everything worked like a charm with the exception of testing with X-lite.

    I am using a Cisco SPA504G which is essentially the updated and improved version of the Linksys SPA942 – 4 Line IP Phone. I put my freephoneline.ca home phone number as my main number and my MagicJack as my secondary number. The whole MD5 encrypted password thing that MagicJack implemented kinda sucks but I am running MJMD5 on the computer connected to the SPA504G and I have my MagicJack line pointed to the MJMD5 and the MJMD5 pointed to my MagicJack proxy pointed to proxy01.dallas1.talk4free.com which is my MagicJack proxy in Dallas.

    I also had to run SIPDump 3 times before finding my password and FYI I never had a dump larger than about 20,617 KB either…

    I could have not done it without your expert tutorial though

    Thanks Again!!!

    :-)

  13. Mark Says:

    Great share. Very informative and step by step process. I will try this one when I have the time. This really looks very cool.

  14. Tony Says:

    I tried this on Sunday and it worked incoming and outgoing then, by Monday my trunk no longer registered, no calls in or out. Did MJ change the registration string or blocking digital offensive proxy? Is there a work around?

  15. Michael Says:

    This still works. At no time are you using my site in the directions for proxying. All settings are Magic Jacks. I suggest you review your logs. tail -f 10 /var/log/asterisk/full to see what is happening. As of this morning all my Magic Jacks are still up and running fine.

  16. Tony Says:

    Michael, my bad. Apparently I edited sip.conf before going to bed Sunday night and didn’t check if my mod worked, the by Monday I forgot that I had altered sip.conf. All is working again after removing the lines I added to sip.conf.

    Question for you or to anyone else. How can I disable the MJ 4 rings before voicemail kicks in while on my asterisk?

  17. Tony Says:

    Do I need to be concerned with the user agent that asterisk sends to MJ server?

  18. Michael Says:

    I heard you should be but I have not edited mine. I have done that for clients that are running multiple jacks so as to stay below the radar as much as possible.

  19. William Says:

    Which version of Wireshark did you use?

  20. Michael Says:

    I don’t have my user agent configured and I have not had a issue.

  21. Michael Says:

    I am currently using 1.2.1 but in the article it was a older version. Each of them work fine.

  22. William Says:

    06/12/2010 My MagicJack works on the X-lite dialer. Thanks for the info.
    I would like to set up a router and ATA to run my Magicjack(s). Any thoughts?

  23. William Says:

    06/13/2010 I may be on the right track to putting Magicjack(s) on an ATA. The Unofficial Magicjack Forum – http://www.magicjacksupport.com/tomato-version-of-mjmd5-aka-mjproxy-t7055.html

    Michael,
    Thanks to you and the team at Digital Offensive for compiling this document.

  24. Luis Says:

    This is still working up to now. The outbound calls work just fine, but I could not get the inbound to work correctly.

  25. Michael Says:

    This is usually because you don’t have the ports open on your firewall and or you are behind a NAT and don’t have your settings for NATing setup right. Check my article over coming NAT and SIP and open the firewall up.

  26. Luis Says:

    I opened up the ports and had my other inbound routes working for troubleshooting.

    My MJ inbound did manage to go to VM now(not the extension VM but the DID vm), but that is not what I wanted. I tried to add some lines on the extensions_custom.conf but did not help at all.

    Am I getting close here?

  27. Michael Says:

    Luis without seeing your system it is hard to see. Can you create me a read only account in the freepbx config and grant me access to look. Thoughts are the number of rings on your pbx is greater then 4. I believe MagicJack voice mail picks up at 4. I would create an extension and assign your inbound route for the MagicJack trunk to that extension and create a VM box for testing.

    Luis also try this: http://www.digitaloffensive.com/2010/05/overcoming-sip-over-nat/#more-204

  28. Luis Says:

    Okay, here’s the problem:

    I did an nmap -sU -p 5060 localhost and
    I did an nmap -sU -p 4569 localhost
    (my primary DIDs are bound to)

    but after nmap -sU -p 5070 localhost
    it came back closed

    I opened up the port from the etc/sysconfig/iptables (did a service iptables save) but it still does not show up as open|filtered. This might be causing the issue.

    Thanks for helping out Michael. I will try to do this on my own first so I could learn more about what’s causing it.

  29. Luis Says:

    Forgot this line:

    Both ports 5060 and 4569 came out as “open|filtered” after doing the nmap

  30. Mario Carmona Says:

    Got a question about using multiple Magic Jack accounts with my ExpressTalk SIP softphone. I’ve set up the MJMD5.exe proxy to create the hash required by magicJack’s servers, and it works fine with ONE magicJack account/phone number.

    However, when I try setting up a 2nd magicJack account (say, Line 2) within ExpressTalk, and run a 2nd instance of MJMD5 with respective magicJack password, proxy address, etc… it will not work.

    Any ideas or suggestions? Do I have to use different ports within MJMD5 and Express Talk, for this 2nd magicJack account?

    Would greatly appreciate any insight or ideas that will allow me to run multiple magicJack accounts on my PC…

    Kindest Regards,
    Mario Carmona

  31. Michael Says:

    Mario you need to have each mjmd5 listen on a different port ie 5070 5071. They will all go out 5070 but you need different listen ports, what ever port you use make sure you use in the reg string as well or in the proxy setting on your client.

  32. Mario Carmona Says:

    Michael, thank you! It worked PARTIALLY. Whenever I use a different port OTHER than 5070 (including 5071), I can get the magicJack account to register, and can make outgoing calls with that magicJack number, but incoming calls work partially; incoming goes to magicjack voicemail on caller’s end, but on X-Lite (magicJack receiving end), it keeps ringing. When answered, you hear nothing. Meanwhile, calling end is dealing with magicjack voicemail.

    When I switch everything back to port 5070, all works perfectly. Weird eh? Any ideas?

    Thanx,
    Mario

  33. Michael Says:

    The issue is the nat and ports. Look at my article on here about over coming nat and that should fix the sound and voicemail issue.

  34. Mario Carmona Says:

    Michael, just finished reading your article about overcoming NAT, but since I am running a SIP softphone (X-Lite) on Windows XP, the advice you give there seems not to apply to my situation. I hate taking up your time, and would gladly compensate you for the appropriate solution. I have PC Anywhere installed on my main PC, with access to my Sonic Wall router, so if you or one of your techs want to log in and try fixing the issue, I’ll consider your fee required for doing so.

    Thanx again!
    Mario

  35. Eldon Says:

    Tried SIPDump all day today and not be able to get pass step 4. I’m not getting anything more than 600 KB. This work with Window 7? This is challenging.. any suggestions? Thanks!

    BTW I’m trying to use MJ with Eyebeam.

  36. Michael Says:

    Make sure your jack is registered. Once that is done place a call to make sure it is working. Then unplug it and load up Sipdump. Once that is up plug the jack in when you start to see the add press ok. I run it on windows 7 64 bit and 32 with no issues.

  37. Michael Says:

    You still need the ports open on your router. Where ever your internet is coming from those ports need open or it will not work.

  38. Eldon Says:

    Michael, thanks for the response. I finally got my sip info. Got my Eyebeam to work for a split minute than gone. I have a question regarding the proxy. My doesnt start with proxy01. Instead its vms03.xxx.talk4free.com. I tried using both and still doesnt work. Any suggestions?

  39. Jake Says:

    Everything works for me. Although your suggestion on running multiple instances of magic jack didn’t work. I changed the second mjproxy to use 5071 but could not register. Any suggestions? or is there some steps to follow?

  40. Jake Says:

    if I use port 5071 on the second trunk, do I have to change all the port numbers in the trunk peer details? also in the reg string?

  41. Michael Says:

    Jake did you change the listen port or did yo change the other one? You need to change the listen port on the proxy and on the trunk registration you change it there as well. That should fix it. If you are using asterisk it is better to patch the chan_sip file. This is more advance but makes life so much easier and smoother.

  42. Jake Says:

    Thanks for the quick reply Michael, I did change the listening port on the proxy and the trunk registration.

    I am using trixbox 2.6 – will the chan_sip patch work? Do you have the link for the patch? I might have to use your services if patching wouldn’t work.

    I am definitely recommending this site to my friends who also just setup their pbx recently. Good Job!

  43. Michael Says:

    Jake the patch will work. It is not as easy to do on trixbox as it is to do in pbxinaflash. This is due to the source for asterisk is not included in trixbox and will require you to download it and recompile the whole asterisk portion of your pbx.

    The patch is on page 1 of this forum post and the how to is on page two. This post assumes you have the source currently though.

    http://www.magicjacksupport.com/magicjack-patch-for-asterisk-updated-t7243.html?sid=6059ce4b4043d5bfef2d8cb12ac120fe

    I have done this patch on about a dozen boxes so far and each time it has gone well. So let me know if you like to have me do it for a small fee.

    Thanks

    Mike

  44. Craig Says:

    Hi Michael, Thanks for a great tutorial. I got xlite to work and my trixbox ce 2.6.2 to work but only for incoming calls. When I try to make outgoing calls I receive a prompt saying all circuits are busy now. Is there a systematic way to go about troubleshooting this. I have read in some forums it could be the codec, while others say it could be the callerid info not being sent? Also Why exactly would I need to patch the kernel?

  45. Michael Says:

    I would suggest checking to make sure you have the NAT setup right. Check my article about over coming NAT. On top of that create another extension have it go to voice mail and test calling a internal line. if that works the issue is most likely your trunk configuration. Make sure you don’t have any spaces and that your dial patterns are correct. You can also look in /var/log/asterisk/full for errors or connect to the asterisk console with asterisk -r then place the call and watch.

  46. patx Says:

    [quote]I have done this patch on about a dozen boxes so far and each time it has gone well. So let me know if you like to have me do it for a small fee.[/quote]

    I would like you, Michael, to patch my server if possible…

    i am running asterisk 1.6.X, freepbx 2.7.0.4 on a Ubuntu 10.04 VPS

    Please contact me by email:

    dreamtv@live.ca

    Thank you :)

  47. Michael Says:

    Thanks for your business. People like you help keep me going and providing these great articles.

  48. JOhn Says:

    Hi Michael

    Part of this document is not showing up in Internet Explorer 8 because of poorly formatted HTML tags. In IE8, I wasn’t able to see the steps after REquired Tools->XLite.

    I viewed this page in firefox and now everything appears.

    Thanks

  49. Michael Says:

    I am sorry. I have tried fixing this countless times. The issue is I usually write in Microsoft word before posting and a lot of time it adds crap to my posts. I am working on rewriting this document or making it into a video. For now please use firefox.

  50. Uzzy Says:

    Hi Michael, thanks for this great document, I was up and running until a few days ago, after the new MagicJack/2.0.554f (SJ Labs)it stopped working I dumped the memory again an found what seems like a new 20 character secret, the new user agent and so on used the new info but no go, are you still up?, thanks again for your grate work, I read and used endless combination but no success until i found and used your info.

  51. Michael Says:

    MJ had changed something over the last two weeks to cause constant password changes. Though reports are coming in the change has stopped and you are able to once again get your password. Though some are reporting that the username changed to 02. I have not had the time or extra jacks to confirm this.

  52. MagicJack with SIP based Softphone « CDELATORRE.COM Says:

    […] http://www.digitaloffensive.com/2010/03/hacking-the-magic-jack-in-2010-for-use-on-trixbox-or-any-oth… […]

  53. arcadia2uk Says:

    Do I understand you right that you now can run Xlite w/o MJMD5?
    [quote]Xlite:…The current 3.0 code of the Xlite application does not require you to sue the MJMD5 proxy as it uses md5 to encrypt your password already.[/quote]

  54. Michael Says:

    arcadia2uk,

    I am not sure if that is still the case or not or if I tested with a jack that did not need the mjmd5.exe. But the copy of the Bria / c-lite software said it had md5 support. Only way to be sure is to test.

  55. arcadia2uk Says:

    OK, thanks Michael.
    I will test them out, I also found an old copy of Xlite v3.0 at cnet.

  56. Mike Says:

    Hi,
    I am wondering if I can use my magicjack’s credentials with my iPhone’s softphone since I need to run the MJMD5 in order to alter my SIP packets.

    Do I have to use an Asterisk PBX ?

  57. Michael Says:

    You don’t need a pbx you do need mlmd5 or mjproxy. There has been some development where some of the softphones support mj.

  58. Richard Says:

    I also can get it to work with X-Lite running MJProxy on the same box as my Asterisk/Elastix setup, but I get “all circuits are busy” when I try to make a call out on Asterisk. I have a truck setup as specified in post as well as a valid outgoing route. Any ideas?

  59. Michael Says:

    Make sure the line is registered check /var/asterisk/full for errors. Also make sure you are dialing all 10 digits

  60. swimmerboy6 Says:

    Just wanted to thank you for these instructions, Did your instructions as of Oct 2010 and worked successfully.Before I looked everywhere to get my sip credentials and this finally worked. Xlite worked great and for my Jailbreaked Iphone I also used the latest Siphon 2.3 app(install thru the developer website with Open SSH and WinSCP Not cydia.) I didnt need the MJMD5 Tool for Iphone dont know how you would install it anyways.

    Be patient with the SipDump, it does take a while, I almost gave up but it may help to press the okay button once your mj phone number appears on the welcome screen. I also disabled the autorun/auto play for my magic jack drive using tweak UI but i dont think that’s necessary. I chose 5 dumps. Your password will be right under SIP.Connection.refresh, my 2nd dumpfile had 2-3 instances with that phrase but one of them eventually displayed my sip code. Also if you get a sip idle message or something like that under SIP.connection.refresh in your dump files, dont worry, just keep trying and restart sipdump.exe a couple times. My password didn’t have a letter to begin with as suggested by some other forums and started off with number 6. It’s hard work buts is worth it, I now can use mj on the Iphone 3G 4.01

  61. Kola Says:

    Hi Michael,

    Thanks for such amazing steps but i seem to have problems logging in xlite.

    Di i need to enter Exxxxxxxxxx12@talkfree.com or just Exxxxxxxxxx12 as the username.

    Please advise,

    Thanks,

    Kola

  62. maxp Says:

    is mj blocking us now, I have been using this for 6+ months no problems now it’s no longer connecting to the trunk, anyone else having problems??

  63. Michael Says:

    Some time this weekend MJ reinstated the rotating passwords. At this time we are still researching this.

  64. Jon Says:

    Thanks for the tutorial and the replies, the guide is superb. They must got a algorithm to roll passwords now. It seems that every time you do a SIPDump from a new connection(reinsert MJ), it will dump out new password.

  65. Michael Says:

    It is something server side via maybe a configuration issue or on purpose. I suggest sitting back for a week and see how this plays out.

  66. William Says:

    October 26, 2010
    Try connecting to a server in a different state using the same password. Example- change proxy01.houston.talk4free.com to proxy01.miami.talk4free.com. In my case this worked, for how long who knows. When I have problems with call quality I connect to a different server and all is good.

  67. Michael Says:

    This works normally when the passwords are not rotating.

  68. William Says:

    October 28, 2010
    Michael,
    I know this is off the subject, did not know how to contact you. You may reply to my email if you like. Here is my question:
    Now that I have hacked my MagicJack I would like to hack my Tracfone. The Tracfone sim card will not work in other phones. I would like to use it in the phone of my choice. I assume this would require extracting the information from the Tracfone sim, modifying it, and installing it to another sim card. Any help or advice would be appreciated.
    Thanks
    William

  69. Raid Says:

    I did a multiple dumo with many SIP.Connection.Refresh instances and a 20 charecter long near the statement and my username. Does the password have to be after sip.code or sip code or could be floating around.

  70. Michael Says:

    You did it right but MJ changed the way authentication works.

  71. Raid Says:

    So what to do from now on.

  72. Venkat Says:

    Hi Michael,
    Excellent step by step tutorial.I followed exactly as you documented. I can get it work with the X-lite softphone, but i want to make it work with my home pbx(Elastix)Registration status shows ok(registerd)
    Incoming calls work great, but when i try to dail out “All circuits are busy.pls try ur call again later message” comes. Any suggestions what might be wrong.

    Thank you for very good documentation

  73. Michael Says:

    Check your codec and outbound route. Also check the ports on the firewall.

  74. tim Says:

    There is only one string looks like the password (20 characters) in dumped memory files. Tried in xlite but get 401 error.

  75. Frank Says:

    Guys,

    I am still very unlucky. I’ve managed to get the password @ the username.

    the proxy I am having a hard time with.
    If i follow this wonderful article, i get “ip67-88-11-16.z11-88-67.customer.algx.net” as my proxy.

    I am in toronto but have a 301 #, so i’ve tried the standard baltimore and washginton proxy address–none of which are working.

    Any suggestions…

  76. Evan Says:

    I’m just looking to see if this still works?

  77. luis Says:

    Hi, Thank you for the information. Does it works this days?

  78. Michael Says:

    For all you who keep asking. This works and you can get the password but it is useless as MJ has rotating passwords. Meaning a new password on each use. So the password you get is no longer valid on next use.

  79. grover Says:

    hi, i m using magic talk and i am from India and i got user name and password but when ever i m trying to configure magic talk sip account with x-lite i get the error like unauthorized so please guide regarding this error and assist me that how can i remove this error or suggest me any software from where i can record magic talk conversation reply as soon as possible.

  80. Michael Says:

    Read my last post about this topic.

    Thanks

  81. ben Says:

    does this still work? can’t find credentials in the dump files.

  82. mumo Says:

    does this still work? guys

  83. Michael Says:

    No they have changed the authentication and password rotates.

Leave a Reply

*