Part 2: Setting up a VoIP number on VoIP.MS

In Part 1 of this article, I went over how to purchase a DID number with VoIP.MS. In this part of the article, we’ll be setting up a SIP client on an Android phone.


More homework

Setting up a SIP client is pretty straight-forward, but tweaking it to run smoothly may require a little bit of homework on your part. Before you do anything, I recommend familiarizing yourself with SIP, as well as the different codecs used. Once your head hurts from information overload, login to the VoIP.MS portal and head to Main Menu–>Account Settings–>Advanced. Check what codecs you’re supporting (I recommend G.711 or G.729), as you’ll need to make sure your SIP client uses one of these codecs.



Client setup

VoIP.MS provides instructions on how to setup many different client applications know as softphones. These include the native Android dialer, as well as third-party applications. Remember, since SIP is a protocol, any client that is compliant with SIP will work as well. Two of the more popular apps are CSipSimple (source) and Linphone (source), which are both open source. While the native Android dialer offers seamless integration into Android, it doesn’t offer the level of customization that CSipSimple or Linphone do. For this tutorial, I’m going to be using CSipSimple.

Once you have the app installed, launch it and click Add account. Expand World wide providers, then select VoIP.MS from the wizard.

20140803_002     20140803_003

Fill in the fields and click Save when you are completed.

  • Account name, which is something to identify the account (e.g., VoIP.MS)
  • User, which is your VoIP.MS SIP username (e.g., 123456)
  • Password, which is your account password
  • Server, which is the server you chose with the lowest latency (e.g.,



If you’re successful, you’ll see that your SIP is registered. This basically means that up until this point, if someone dialed your VoIP number, the call wouldn’t be routed anywhere, since you didn’t have a client setup. Now that you’re registered, the call will actually route somewhere.



You can also check your registration status by logging into the VoIP.MS portal, then heading to Main Menu–>Portal Home–>Get Registration status.



SIP settings

Technically, you could make a call now and it should go through. However, I recommend changing a few settings first to optimize quality. Go to the Action Bar, and select Settings.



Select Easy configuration, and choose the appropriate options for you. I recommend selecting Integrate with Android to make the calling process almost seamless. This will give you the option to choose what app to use (native dialer or CSipSimple) when you press on a number in a webpage or in a contact. I’m also going to choose to only use this over WiFi, but that’s just for my particular use case. Change your options as needed. Press Save when you’re ready.

20140803_008     20140803_009


Back at the menu, select Network. I didn’t change anything under here, but if you’re having issues where the other party can’t hear you, you may want to enable ICE or STUN here. If not, go back.


From the menu, Select Media. I recommend checking Echo cancellation, as well as Voice audio detection. Voice audio detection tries to drop packets of silence, saving you bandwidth.



Next, scroll down to the Codecs section. Remember that homework you were supposed to do? This is where the CSipSimple app has Android’s native dialer beat. The native Android dialer only supports a few codecs that the user can’t adjust or prioritize. However, CSipSimple supports many codecs. In fact, the developer has a free codec pack published that adds support for a few popular codecs. The G.729 codec add-in is also available for a one-time price.

From this screen, you can select the codecs you want to use for both high and low bandwidth networks. You may have to play around with this before you find a combination that works well for you. See the table at the bottom of this page for a comparison.

20140803_011     20140803_012


Back at the menu, I didn’t change anything under User Interface or Filters. However, under Call Options, I set a Caller ID, and I made sure to check the box next to Support multiple calls to enable conference calling.



Test call

Finally, the moment of truth. From another phone (you’ll need a buddy for this), dial your VoIP number. If successful, you should see the CSipSimple app open up and prompt you to answer the call.



After you’ve tested that, go the the native Android dialer, dial the number that just called you, and you should see the option to use your VoIP.MS service, or your cellular service. Select VoIP.MS and verify the call goes through.



A note on codecs

I’m not an audio engineer, but what I’ve managed to scrape together about the audio codecs supported by VoIP.MS is below.

G.711U (around 64kbps) G.729 (around 8kbps) GSM (around 13kbps)
  • Requires less CPU
  • Good audio quality due to no compression
  • Supported on most systems
  • No license required
  • Newer codec
  • Uses less bandwidth
  • Standard codec for cell phone usage
  • Very popular outside US
  • No license required
  • Con
  • Legacy codec
  • Uses more bandwidth
  • Requires more CPU to compress audio
  • Poor audio quality due to compression
  • Requires a paid license
  • Due to CPU cost, some systems can only handle one call at a time
  • Not optimized for VoIP
  • Poor audio quality compared to G.711 or G.729
  • Also known as
  • G.711a == PCMA ==aLaw
  • G.711u == PCMU == uLaw
  • *Sources: here, here, here, here, here, here, here, here, here, here, here, here, and here

    Also, I can’t say enough good things about this site. All sorts of good techie information there. Read up!


    Overall experience

    All-in-all, I’m very pleased with this setup and VoIP.MS in general. I mainly use my VoIP number when I’m at home, since my cellular coverage is pretty poor. I plan on setting up some advanced routing options, such as IVR, in the future.


    If you setup a VoIP.MS number, let me know what you think!


    16 thoughts on “Part 2: Setting up a VoIP number on VoIP.MS”

    1. Hi,
      Thanks for the article. Been w for 4 yrs. Finally got a smart phone so the natural thing to do was to voip it. I got along fine via your article up to the point of whether or not I can get it to ring my number rather than my cell number. Did I miss something?

      • Did you setup CSipSimple on your phone? If so, are you getting the message that your client is “registered”? If it is not registered, I think something is wrong with your settings. If it is registered, can you open the CSipSimple app and dial the echo test at 4443?

    2. Tried both suggestions. No joy.
      Tried the Audio Test. I really have to scream to get the little bars to budge much.
      Master volume is at full setting.

      • Forgot. PHone is a new Boost Mobile > Sharp Aquos Chrystal.
        Another clue. The numerical pad on the built in phone is way louder than Csip. The Csip is airplane quiet.

    3. I’ve had success using on my deskyop, ipod, ipad. I use Bria on iOS and have had no troubles. I just got a LG Gpad 7 and installed CSipSimple. I can call out but when people call they get a message that I am unavailable and it goes to voicemail. Any ideas how to fix this?

      Also there is a specific SMS app called SMS. It works great if you don’t mind you messages going through the Dev’s server.

    4. I’ve been live for 4 or 5 days on a personal phone. (Honor 8). Excluded the client from power saving. Found that csipclient occasionally deregistered so my phone won’t receive calls. Have you found that the default keep alive times were adequate? Also, when it’s deregistered the call just drops when I’ve set it to failover to voicemail. Ideas?

      • Michael,

        Unfortunately, I don’t use VoIP.MS or CSipSimple anymore, so I won’t be much help you to. However, when I did use it, I never had any issues with it deregistering. I would talk to the support at VoIP.MS and see if they have any logs as to why it’s doing that.

    Leave a Reply to Dave2 Cancel reply

    This site uses Akismet to reduce spam. Learn how your comment data is processed.