Sunday, November 2, 2014

How to get free home phone service w/ Google Voice + OBi

If you are still paying for home phone service, you should to look into this. This blog will walk you through to setup a free, feature rich home phone service with no monthly recurring cost (except the cost of the OBi device you purchase one time). You can enjoy features like unlimited free local and long distance calling in US & Canada, $0.01/minute to India, unlimited call blocking of annoying telemarketer calls, call screening, call hour schedule, custom greeting, voice mail transcript to your e-mail and a boat load of other features. The only requirement is: you need have a decent internet connection. Interested? Then read on.

OBi110:

First you need to get a OBi110 VoIP device (for about $60 at amazon.com). Here is a link to it http://www.amazon.com/gp/product/B0045RMEPI

Google Voice (GV):

Next, sign-up to get a free GV number. Anyone with a g-mail account can get one by clicking the link below...just follow the instructions. If you don't have a g-mail account, no worries, you can create free account here http://www.gmail.com ; it should not take more than a few minutes.


Number porting:

Skip this section if you are fine with the brand new phone number GV assigned to you. However, if you don't want new phone number and would like to keep your existing number, Google will happily port your number to GV service for $20. However, it gets bit complicated if your existing number happens to be a land-line number because Google will not be able to port land-line. The good news is, there is a way to port your land-line number to GV service by first porting it to a mobile provider (t-mobile) and when the porting is complete, then you can ask GV to port it from t-mobile. Just follow this link http://www.obihai.com/porttutorial that will walk you through that process. I took this route to port my land-line number since I had the same number for almost 18 years and I did not want to loose it … the total cost to port my land-line following the link was about $35 ($20 for Google + $10 for t-mobile prepay card used in the process to convert my land-line to mobile number).

Setting up OBi Device:

Once you got your OBi device, connect the internet port of the OBi to your internet router and power it on. Connect a home phone (corded or cordless base unit) to the port named “Phone” on the device (Note: there is also “Line” port there, I will explain later in this blog what you can do with it). Now, create an account at http://www.obitalk.com using your Google account credentials. After the account is created, login to obitalk.com and click on the “Add Device” link on the left of your dashboard, (Note: ensure that the check-box “I want to configure Google Voice on this device” is checked) and follow the prompts to setup GV service on the OBi. Have the home phone connected to the device handy with you as you will have to dial some codes to activate the device during the process. Once you complete this step, and if all goes well, your corded or cordless phone connected to the OBi will be active now and ready to make local and long distance calls. Congratulations, you are ready enjoy the free service!

To setup and use all that great google voice features (custom greeting, call blocking, call screening, ... etc), read the documentation at the link below. There are plenty of documentation available besides this on the web.


International calls:

If you just want the home phone for calls in US and Canada, you can skip this section as well as the rest of the blog. Otherwise, read on for to setup cheap calls to many countries especially India. This step is very simple, all you have to do is add money to your GV account! You can do that in GV webpage here: http://google.com/voice click the + link next to the word “Credit” on the left under your GV phone number and follow the prompt.

The rest of the blog is for optional things like skype integration. If you are not interested, you can skip the rest of the blog.

Skype integration: (optional)

Since many people use skype to make and receive international call these days, you can optionally integrate your skype account with OBi so you can call your friends and family overseas via your skype account bridged to OBi. The OBi110 device is equipped with two SIP lines. The first one (SP1) is already used for GV that you setup earlier and the second one (SP2) is free to do what ever you want with it. We can use the empty SP2 to link your skype client to OBi so your friends and family overseas who use skype can call your skype client which in turn will call your OBi which in turn will ring your home phone. Sounds good right? This step is bit complicated and you can potentially screw up your device but if you follow the steps carefully it should be OK. This skype integration is not needed if you prefer to use skype client and are comfortable with it. If that is the case, you can skip this section.

Here are the steps to follow to link your skype client to OBi
  1. Download the latest SipToSis (a program that creates a bridge between your skype client and OBi device) from here: http://www.mhspot.com/sts/siptosis_download.php Once download is complete, extract the archive to a folder named SipToSis. Execute SipToSis_win.bat (windows users) on a command prompt or SipToSis_linux (Linux users). When activity has stopped, terminate SipToSis.
  2. Now, using notepad (or vi) edit SkypeToSipAuth.props file and add the following line at end of the file. In order to do this, first you need to find the IP Address of your OBi device. To find IP address, pickup your home phone, and dial ***1 and press talk button. Now your OBi will speak the IP address (and other settings) for you, once you note down the IP, you can hang up. I assume you know your skype_id :) Note, replace the appropriate entries on the line with out any angle brackets of course.
    *,sip:siptosis@<your_OBi_IP_Address>:5061,<your_skype_id>
  3. Add a # in front of the line in the same file as shown below
    #*,play:clips/invalidDest.wav
  4. Go to obitalk.com and enable expert settings (click the blue button for expert/advanced configuration, click yes at the warning and click enter to enable expert settings page). Under the expert settings, make the following changes.
    Service Providers -> ITSP Profile B -> SIP -> ProxyServer : 127.0.0.1
    Voice Services -> SP2 Service -> AuthUserName : (put anything here)
    Voice Services -> SP2 Service -> X_RegisterEnable : (unchecked)
    Voice Services -> SP2 Service -> X_ServProvProfile : B
    SP2 status should show : Registration Not Required
  5. Start skype client.
  6. Start SipToSis on the command prompt. (You should see the output similar to what I get on my machine shown below for reference)

Launching SipToSis

2014-11-01 21:47:25,062 Starting SipToSis v20130716
2014-11-01 21:47:25,065 Skype4Java Version 1.3.0.1
2014-11-01 21:47:25,065 os=Linux ver=3.13.0-37-generic arch=amd64 (8 core)
2014-11-01 21:47:25,065 javaVer=1.7.0_72 - Oracle Corporation (64 bit)
2014-11-01 21:47:25,091 Available Codecs: PCMU(0),PCMA(8),iLBC(98),L16/16k(102)
2014-11-01 21:47:25,091 DTMF rfc2833(101)
2014-11-01 21:47:25,092 initSkype - If stuck, check Skype online & API auth
2014-11-01 21:47:25,628 SkypeVer:172
2014-11-01 21:47:25,703 Attached SkypeUserId:aselvan
2014-11-01 21:47:25,713 Config - skypeClientSupportsMultiCalls:false concurrentCallLimit:2
2014-11-01 21:47:25,713 SipToSis contact_url=sip:skypests@192.168.x.xxx:5070
2014-11-01 21:47:25,713 via_addr=192.168.x.xxx realm=
2014-11-01 21:47:25,713 RTP Ports: 63200-63202 Local Skype Ports: 64432-64435
2014-11-01 21:47:25,713 jitterLevel=-1
2014-11-01 21:47:25,750 Registrar Server Domains=
2014-11-01 21:47:25,751 MaxCallTime: not limited MaxPSTNCallTime: not limited
2014-11-01 21:47:25,751 MaxDailyPSTNUniqueNumberCount: 48 MaxDailyPSTNMinutes: 350
2014-11-01 21:47:25,751 Loading Skype PSTN Call History
2014-11-01 21:47:25,756 WAITING FOR INCOMING CALL
...

At this point (assuming I haven't missed any steps) you have your OBi device bridged to skype client successfully. To test it out, you can setup a speed dial to your skype friend or skype test user “echo123” as shown below at obitalk.com speed dial setup (you can find it under the “Add Device” link).

sp2(<your_friends_skype_id>@<your_computers_IP_address>:5070)
sp2(echo123@<your_computers_IP_address>:5070)

Note: Replace <your_computers_IP_address> with the IP address of your PC running SipToSis and Skype client. Enter the above without the angle brackets in the “Number/Address” field of an empty speed dial entry, you can add a friendly name in “Name” field.

Once the skype speed dials are setup, you can simply pickup the phone and dial the speed dial number and press talk. This will make the OBi call SipToSis which in turn calls skype client which actually connects your home phone to your skype buddy on a voice call.

BTW: The speed dials are for anything, it can be skype friends or just any phone numbers. You can setup up to 99 speed dials

Bridging a land-line with OBi: (optional)

Finally, if you have an existing land-line and would like to keep it as a second line for home business or you just love to pay telephone company for what ever reason :), you can link that to OBi so you can take advantage of OBi features on that line as well. Remember the “Line” port mentioned earlier? that is where you connect your existing telephone service. Once connected, you need to go to your obitalk.com account and click on “Add Device” and follow the prompt (note: ensure that the check box “I want to configure Google Voice on this device” is unchecked this time). The only reason you may want to do this bridging is so you can use same phone to make calls using different services (GV or your land-line), and to take advantage of the OBi features. OBi by default will use SPI (your GV service) to make outbound calls. You can however change that on Obitalk.com settings.

Final thoughts:

OBi is highly configurable and comes with ton of useful features. In my opinion, it is way too complicated for ordinary folks to mess with all of them especially the inbound and outbound call routing rules, digitmaps, auto attendant etc. In order to play with all of them you need to spend a lot of time to read the manual (first link below) to learn how to do it. If you are happy with GV features (sufficient even for an advanced user), just don't mess with any settings on your OBi.

Enjoy your OBi!