OBiTALK Community

General Support => Installation and Set-Up (Devices) => Topic started by: unoriginal on March 31, 2012, 08:39:07 PM

Title: Android smartphone as client phone for Google Voice
Post by: unoriginal on March 31, 2012, 08:39:07 PM
I have, in addition to the analog dumbphone hooked up to my Obi100's phone hook, a deactivated (no cell service) Motorola Droid running Gingerbread 2.3.7. Being a smart phone, this Droid can do SIP calling over WIFI. The bright idea is to associate this smartphone as a second handset with my Google Voice number, which currently works flawlessly with the dumbphone, incoming and outgoing.

The options others have so-far discussed on this forum and elsewhere, as I understand them:


Okay, that's six half-assed solutions, as best as I can understand them. Does anyone have any more practical experience with any of them, specifically as pertaining to an Android smartphone, and even more specifically pertaining to making an Android smartphone actually work well? It would sure be nice to get one of these options working with its whole ass because having the ability to tie old and new smartphones into the Obi100 is much more attractive than buying a separate DECT system to do the work.
Title: Re: Android smartphone as client phone for Google Voice
Post by: Stewart on April 01, 2012, 01:07:43 AM
I use a free PBXes account to interface IP phones to the OBi.  SP2 (with X_SpoofCallerID on) registers as a sub-PBX; the IP phones register as normal extensions.  The OBi sends inbound calls to a PBXes Ring Group, which PBXes forks to the phones.  On outbound, PBXes routes the calls to the OBi trunk and the OBi routes them to my pseudo-landline, in your case, you'd send them to GV.

If you can't dedicate an SPx for the purpose, get a free Callcentric account.  Register your Droid to it.  Confirm, e.g. by calling it via a SIPBroker PSTN number, that incoming works and caller ID is correctly displayed.  Have OBi fork incoming calls to SP2(1777xxxxxxx@in.callcentric.com).  For outgoing, use a different account on the Droid (there are several options).
Title: Re: Android smartphone as client phone for Google Voice
Post by: unoriginal on April 01, 2012, 07:41:48 AM
Quote from: Stewart on April 01, 2012, 01:07:43 AMIf you can't dedicate an SPx for the purpose, get a free Callcentric account.  Register your Droid to it.  Confirm, e.g. by calling it via a SIPBroker PSTN number, that incoming works and caller ID is correctly displayed.  Have OBi fork incoming calls to SP2(1777xxxxxxx@in.callcentric.com).  For outgoing, use a different account on the Droid (there are several options).

Thanks for the quick help. I have a couple questions about your second alternative. First, in general, have you run this solution before, like your first one? More specifically:

Title: Re: Android smartphone as client phone for Google Voice
Post by: Stewart on April 01, 2012, 10:53:01 AM
A quick test with CSipSimple on my Samsung Captivate, registered to Callcentric, showed a correct (spoofed) caller ID when called from a Linksys ATA speed dial pointed at in.callcentric.com.  I don't want to test this on the OBi; it's far away and loss of control would mean asking a friend to reset it.
Title: Re: Android smartphone as client phone for Google Voice
Post by: unoriginal on April 02, 2012, 09:42:27 PM
Quote from: Stewart on April 01, 2012, 10:53:01 AM
A quick test with CSipSimple on my Samsung Captivate, registered to Callcentric, showed a correct (spoofed) caller ID when called from a Linksys ATA speed dial pointed at in.callcentric.com.  I don't want to test this on the OBi; it's far away and loss of control would mean asking a friend to reset it.

After playing with this for two nights, I just can't make this work.

First, as noted elsewhere (http://www.obitalk.com/forum/index.php?topic=2711.0), Callcentric (seemingly recently) requires stupidly frequent re-registration in order for whatever phone is associated with it to work, otherwise calls disappear into the ether. On the OBi, this necessitates certain workarounds involving Keep-Alive, Secondary Registration and Proxy Redundancy to keep the registration from conking out (http://www.obitalk.com/forum/index.php?topic=2840.0). My Droid, lacking many of the twiddly knobs found on the OBi, and having a battery to conserve besides, won't keep up with the deluge of REGISTER requests CallCentric sends its way. So even if the rest worked... it wouldn't work.

Second, during the few minutes I had CallCentric working on the Droid before registration was lost, calls forked to 1777xxxxxxx@in.callcentric.com from the 127.0.0.1 SIP handler on the OBi gave me a CallerID of INCOMING-NUMBER@127.0.0.1, just like with GetOnSip.

Third, when I tore out the OBi's SIP handler and put the CallCentric account in its SPx, and put GetOnSip back on the Droid, the INCOMING -> Google Voice -> CallCentric -> GetOnSip chain gave me INCOMING-NUMBER@callcentric.com on the Droid. Nothing I couldn't have done by setting UserAgentDomain myself.

So it would appear that no matter what, INCOMING -> Google Voice -> SIP FORK -> SIP MOUTH will wind up with either FORK'S user@domain or INCOMING's number@FORK'S domain, depending on whether or not CallerID Spoofing is set on SIP FORK.

There has got to be a setting on the OBi for this crap.
Title: Re: Android smartphone as client phone for Google Voice
Post by: unoriginal on June 22, 2012, 06:57:42 PM
Quote from: Stewart on April 01, 2012, 01:07:43 AM
I use a free PBXes account to interface IP phones to the OBi.  SP2 (with X_SpoofCallerID on) registers as a sub-PBX; the IP phones register as normal extensions.  The OBi sends inbound calls to a PBXes Ring Group, which PBXes forks to the phones.  On outbound, PBXes routes the calls to the OBi trunk and the OBi routes them to my pseudo-landline, in your case, you'd send them to GV.

Finally got around to trying this. Predictably, calls now come into the Droid with the format <12345678901>@pbxes.org, where <12345678901> is the 11-digit number of the original caller.

So, to review, with X_SpoofCallerID on:


(http://img831.imageshack.us/img831/1994/aaugho.jpg)
Title: Re: Android smartphone as client phone for Google Voice
Post by: unoriginal on June 23, 2012, 12:39:42 AM
Upon further review, it would seem the Obitalk ITSP web provisioning wasn't fully propagating to my device. Wonderful!

With the PBXes stuff configured on the unit directly, I now get <USERNAME-of-SUBPBX>@<IP-ADDRESS-of-SOME-PBXES.COM-SERVER> coming into the Droid, whether SpoofCallerID is on or not. Even better!

Sadly Google Voice does not know how to return a call to testaccount@173.95.243.43. Apparently that's not a valid number. Hogwash!
Title: Re: Android smartphone as client phone for Google Voice
Post by: Stewart on June 23, 2012, 03:22:30 AM
Get a free New York Callcentric DID for the account to which your Android phone is registered.  Set up GV to forward your calls there (turn off forking in the OBi).  You should now see correct caller ID and with luck, you'll even get the caller's name.  Use a different account on the Droid for making outbound calls through the OBi.
Title: Re: Android smartphone as client phone for Google Voice
Post by: unoriginal on June 23, 2012, 08:47:12 AM
Quote from: Stewart on June 23, 2012, 03:22:30 AM
Get a free New York Callcentric DID for the account to which your Android phone is registered.  Set up GV to forward your calls there (turn off forking in the OBi).  You should now see correct caller ID and with luck, you'll even get the caller's name.  Use a different account on the Droid for making outbound calls through the OBi.

I want to specifically thank you for your repeated attempts to help solve this problem, and I'm sure that this solution, similar to my original #5 option, would work, or come near enough to working. And I've seen elsewhere that you've been trying to get CSipSimple working on unregistered LAN SIP calls (i.e. from a VOIP-enabled WiFi phone to an Obihai unit), which is a large part of what I've been trying to do here. So again thank you for helping fight the good fight.

But I think I've got this thing working now, without having to rely on Callcentric (or SipGate), which seem to have problems on smartphones due to the DNS resolving etc. etc. See next post.