Do you have an extra line sitting empty on that IP phone on your desk? Here’s an idea for it: Use it to make and receive Google Voice calls by linking it to an OBi110.
Setting up an IP phone-OBi connection will also allow you to dial other OBi users directly and easily give the IP phone incoming and outgoing access to a PSTN line — including regular landline emergency 911 calling — with no other hardware needed.
Follow along, and you will:
- Have incoming calls to your Google Voice number ring on your IP Phone and, concurrently, on any other phone (your cell phone, for example) you forward Google Voice calls to;
- Have any incoming call to your OBiTalk number or to a number on a service attached to an OBi110‘s physical “Line” port (a PSTN line, for example) ring on your IP phone and, either concurrently or sequentially on another phone number, such as your cell phone;
- Correctly route outgoing calls on your IP phone: Emergency 911 calls through your PSTN (or a E911 enabled VoIP service through a separate analog telephone adaptor), OBiTalk calls through your OBi, and all “regular” phone calls through Google Voice.
All of this can be done without the need for a computer running constantly in the background. You don’t even need to know the ins and outs of the Asterisk PBX because we won’t be using one — fire up an IP phone and an OBi, and you’re all set.
You will have to install Google Voice on your OBi before getting started. Refer to the Voxilla How-To, Use Google Voice and OBi for All Your Calls (free) to see how. You will want to use Google Voice as the primary calling service on SP1 of the OBi — those instructions will set you up right.
In this How-To, we’ll be installing Google Voice on a Cisco SPA525. If you have any of the Cisco SPA series of IP phones, and you have access to the administrator user name and password for the phone, you should have little difficulty following these instructions, as the settings screens are very similar across the entire Cisco SPA line.
If you have a different IP phone model, and a bit of technical knowledge about your phone, you will probably be able to figure out how Step 1 below applies to your specific situation. If not, just ask in the comments, or in the Voxilla Forum, and we should be able to come up with answers for you for all but the least common of IP phones.
As we go through the steps below, you will be asked to note certain settings, that will be entered elsewhere in the process (including the IP address of your OBi). Keep a list of these settings in a separate text document so that you can easily refer to them (and copy/paste them) throughout. Start the list now with the IP address of your OBi.
Let’s get cracking.
Select a line on the IP Phone. The first thing we’ll have to do is edit the IP phone’s settings for the line on which we want Google Voice connected. In this How-to, we’ll be using line 5 of the Cisco SPA525G.
You will need to note (and copy to your settings list) the phone’s IP address. On the 525G, you can see the IP address on the phone’s screen by pressing the phone menu key (its icon is a square with the top right corner folded in a bit); “9” for Status, “2” for Network Status. The IP address will be listed on the screen that appears. Click the Back button a couple of times and the Exit button once to get back to the phone’s main screen.
Launch a browser on a computer on the local network the IP phone is attached to, and point it to the IP address you just noted. Log in to your SPA as an administrator (Admin Login), and make sure “Advanced” configuration is selected towards the upper right.
On the SPA web configuration, there are two context-sensitive row of tabs along the top. Make sure “Voice” is selected on the first row.
Click on the “Phone” tab of the second row (when the “Voice” menu is selected on the first) , and check to see the “Extension” setting for the “Line Key” you want to put Google Voice on. We will be putting the OBi on “Line Key 5,” which by default is set to “Extension 5”. We’ll be editing the Extension your line is on in the next step, so remember it.
If you wish to change the name that appears on the telephone screen for the line, change its “Short Name” here (tip: use your Google Voice phone number so it’s always on your phone). If you make any changes, click the “Submit All Changes” button on the bottom of this page.
Prepare your phone’s extension. Select the tab for your extension (“Voice” must be selected on the first menu row for your Extensions to appear on the second row). For our example, we are selecting “Ext 5”.
We won’t go through all the settings on this page, but we’ll cover the ones you are sure to have to pay attention to:
Under “General“, set “Line Enable” to “yes“.
Under “SIP Settings“, note the value “SIP Port” is set to as we’ll be using it later. If you are using Ext 1, it is most likely 5060; Ext 2, 5061; and so forth. For this How-to, we are on Ext 5, set to its default SIP Port of 5064.
Under “Proxy and Registration“, set your “Proxy” to the IP Address and Port of SP2 of your OBi (format: ip_address:port). The default port for SP2 on the OBi is 5061, and, assuming the OBi is on IP address 192.168.1.123, you would enter the following in the “Proxy” field: 192.168.1.123:5061.
Also in the “Proxy and Registration” section, set “Register” to “no“. Set “Ans Call Without Reg” to “yes“.
Under “Subscriber Information“, set “User ID” to anything you like, but note what you enter on your list as we will be using it later. For this How-to, we entered: spaline5. The “Password” field does not matter and can be safely ignored.
Under “Dial Plan“, at the bottom of the page, enter: xx. (that is two exes followed by a dot).
Click “Submit All Changes” and your SPA will reboot. We are ready to move on to the OBi.
Disable auto-provisioning on the OBi. Obihai will soon be making all device settings available through an advanced tab on the ObiTalk user portal. Until then, however, to use an IP phone with your OBi means you will have to forgo OBiTalk (as OBiTalk periodically writes to your device, and will erase any of the changes you make directly). You won’t lose any settings previously entered through OBiTalk as they are already saved to the device.
Before making any change to an OBi setting, you will have to “uncheck” the “Default” box to the right of the setting. This applies to all settings for the OBi below.
In your browser, log in to the IP address of your OBi. Select “System Management” then “Auto Provisioning“. Under “Auto Provisioning” (the second section on the page), uncheck the Default checkbox next for “Method“, and set the pull-down field to “Disabled.”
Click “Submit” and “Reboot” your OBi. When your device lights up again, the only way to configure it will be through the built-in device configuration tool as you have now closed it off to external configuration through OBiTalk.
Set Google Voice to be your Primary calling line The following assumes you set up Google Voice on SP1 of your OBi. Click on “Setup Wizard” and check to make sure that “Phone PrimaryLine” in the “Outbound Settings” section is set to “SP1 Service“. If not, set it correctly.
Click “Submit” before leaving this page or your changes will be lost. We don’t need to click “Reboot” until we are done with all the changes on the OBi1.
Have OBi point your Google Voice calls to your IP phone. Let’s go through these steps one-by-one, with a brief explanation where necessary. Remember, we are assuming that have Google voice installed on SP1 of your OBi, and that you will be attaching the free line of your IP Phone to SP2.
Go to “ITSP Profile B” then click on “SIP“. Set “Proxy Server” to the IP Address of your IP phone (i.e.: 192.168.1.124). Set “ProxyServerPort” to the line port you are using on your IP Phone (you should have noted it in Step 1). In our example, we are running the OBi on Extension 5 of the SPA525G, which is set to port 5064. We would enter: 5064.
Towards the bottom of this page, locate the setting called “X_SpoofCallerID” and enable it. This is important to receive correct caller ID information on Google Voice calls to your IP phone.
Go to “Voice Services” and click on “SP1 Service“. We’ll be setting up the OBi to ring your IP phone on SP2 whenever a call comes in to your Google Voice number on SP1. We do this by setting X_InboundCallRoute to the User ID from Step 1 in this format: sp2(spaline5).
Replace “spaline5” with the user name you entered on your IP phone in Step 1.
Click “Submit” to save your changes.
Other ways to route your incoming Google Voice calls.
If you have an analog phone system attached to the OBi, you can make both your IP phone and the analog phones ring concurrently by adding a “ph” to the “X_InboundCallRoute” field in “SP1 Service“. So, following the above example, you would enter: ph,sp2(spaline5).
Google Voice allows only one call at a time, so you can’t receive a call on the service and route it back using the OBi through the same Google Voice account to another phone number (say your cell phone). But you can instruct Google Voice to direct calls to your Google Voice number concurrently on your cell phone and other numbers. Log in to your account at http://google.com/voice, select “Voice Settings” from the Settings pull-down at the top right and the select the “Phones” tab. Here, you will be able to add other forwarding phones.
Set up your OBi for outgoing calls from your IP phone. In “Voice Services“, select “SP2 Service“. This is where we’ll be configuring your IP phone to work with the OBi, and we’ll be making a few changes.
Set the pulldown on “X_ServProvProfile“, “X_RingProfile” and “X_CodecProfile” all to “B“.
You have a choice to make about what to enter in “X_InboundCallRoute“.
If you have emergency calling services capability (using the PSTN, or a phone adaptor from an E911-enabled VoIP service), then you will want to enable it here and enter the following (replace “spaline5” with the User ID you entered in Step 1:
Translated, the above dial string means: If you dial “911” through the IP phone, send the call out the physical Line port of your OBi. If you dial a nine-digit number on your IP phone, we assume you are calling another OBi user so we connect to that user via IP, otherwise, send the call out through the default call service (“sp“), which we set to “SP1 Service” above.
If you don’t have E911 service attached to your OBi’s line port, enter the following dial string in “/Voice Services/SP2 Service/X_InboundCallRoute“:
On this page, you must enter something in “AuthUserName“. You can enter whatever you want in this field as we don’t use it, but the OBi expects something there.
You do not need to enter anything in the “AuthPassword” field.
Routing calls to your OBi number and/or the external line attached to the Line port.
You now have Google Voice on SP1, and you’ve connected your IP phone to the OBi using SP2. If you have an OBi110 There are still two other ways to receive calls to your OBi: Other OBi users can simply dial your OBi number, and if you have a service (such as a PSTN line) attached to the OBi’s line port, calls to that service can also be managed by the OBi. If you have an OBi100, there is no “Line” port to attach a service on, so your only additional calls are incoming OBi calls.
You can route either of these two types of calls in a number of ways, and we’ll cover a few here through the use of inbound calling routes. For calls to your OBi number, you will edit the “InboundCallRoute” field in “Voice Services/OBiTalk Service“. For calls to the OBi110’s line port, you will edit the “InboundCallRoute” field in “Physical Interfaces/LINE Port“.
Depending on how you want calls managed, what you enter in these two fields is the same.
To have calls ring your IP phone (with the User ID you noted above, we are using “spaline5”), enter:
To have calls ring the analog phone(s) attached to your OBi’s Phone port, enter:
To have calls ring your cell phone (with a number of 1-415-987-6543) via a Google Voice call (please note that the caller ID you will see on your cell phone is your own Google Voice number), enter:
You can enter multiples of these options in the “InboundCallRoute” fields, each separated by a comma (“,”). So, if you wanted all three phones to ring simultaneously, you would enter:
You can also set your OBi to dial phones sequentially, after a predetermined number of rings. Say you want your incoming calls to your OBi number to ring your IP Phone first, then ring your cell phone if the call is not picked up after 6 rings. Easy.
In the “InboundCallRoute” field in “Voice Services/OBiTalk Service” enter:
In the “Calling Features section down the page, enable “CallForwardOnNoAnswerEnable“. Set “CallForwardOnNoAnswerNumber” use the Google Voice account on SP1 to ring your cell phone, for example:
Now set “CallForwardOnNoAnswerRingCount” to 6.
Click “Submit” after you’ve made all your changes to the page.
After you’ve entered all the appropriate settings to meet your needs as outlined above, clicking “Submit” after modifying each page, click “Reboot” to write your settings to your OBi and restart the device.
Go ahead, test away.