As of today, Google has officially shut off GrowlVoice's access to Google Voice as part of their integration of Google Voice into Hangouts.
Google has also shut off 3rd-party access to Google Voice VoIP, and it seems that the writing is on the wall for Google Voice as a standalone product in any form. I have a Google Voice number that I really like and wanted to keep, so I decided I wanted to port it out of Google Voice and onto my Verizon iPhone.
I wasn't even sure this was possible since Google Voice isn't really a cell phone provider like Sprint, AT&T, and Verizon, but Dan Moren of Macworld was kind enough to point me in the right direction to an encouragingly titled page at Google: Port your number out of Google Voice. In sum, on the Google side of things, there are two steps to porting your number out of Google Voice:
Pay Google $3 as "a one time fee to port your number away from Google Voice" unless you are using a number that you ported into Google Voice.
I did both of those steps and then decided to call Verizon. There may be a way to do this without having to talk to Verizon customer support, but since it was an unusual situation, I thought I'd be better off talking to another human being.
Verizon has about eleventy-milion phone numbers for various technical/customer support issues. The number I called was 800-922-0204.
When prompted, I pressed 3 for tech support.
At the next prompt I said "Porting a number" and then "Porting to Verizon wireless" when it asked what kind of port I wanted.
Lastly I was asked if I wanted to add a line to my account or replace an existing account, so I said "replace" since I was going to replace my current iPhone number.
After that I was on hold for 5-10 minutes before being connected with "Jason" at Verizon Wireless. I explained what I wanted to do, making it clear that I wanted to move a number to Verizon, not the other way around.
There were five pieces of information that Jason needed:
The name of the account holder on the Google Voice account.
The "billing address" for the Google Voice account. I wasn't sure what to use for that, so we just used the same billing address that was already associated with my Verizon account.
The phone number that I wanted to port to Verizon.
My "account number" with the carrier which currently held the number I wanted to port over. We used my Google Voice phone number.
A password, if any. At first Jason thought this meant he was going to need my Google Account password, but it turned out there was an option for "No Password" so we used that.
Once the whole thing went through, the system said that it would take 4-24 hours before it would take effect, and I would have to power cycle my iPhone for the new number to be recognized. (That turned out to be incorrect. Read on.)
Jason said that in his experience it usually only takes about 2 hours, but it could take longer, and if it hadn't happened in 24 hours, give him a call back.
After I hung up the phone, I realized that there were a few sites which used my current iPhone number to send me SMS login verifications for Two-Factor Authentication systems, most notably Paypal and Twitter. (Most others use the Google Authenticator, which I use with Authy.)
I went back to https://www.google.com/voice/unlock and say that my Google Voice number was now listed as "Unlocked (Approved )" and they added: "You have a Google Voice number that has been unlocked. You can now initiate porting with your new provider. We will notify you by email once the number has been ported away." (Spoiler Alert: I never received an email from them.)
Still later, I went back to that page and it said: "Google Voice has successfully approved your request, but the carrier to whom you are porting hasn't completed their necessary action. If you are still having issues and your number doesn't successfully port in 2-3 business days, please contact your new carrier for support, as Google Voice is unable to take any additional action."
Two hours passed, four hours passed, 24 hours, 36 hours, and nothing. However, this morning when I sat down at my Mac, there was an alert panel from iMessage, asking if I wanted to use my Google Voice number for iMessage. I clicked yes, and then checked my iPhone by going into the Phone app, and *inside the Phone app I tapped on the "Contacts" tab, and scrolled all the way to the top.
It still showed my old iPhone number, even after restarting it. I tried to send an SMS (not a blue-colored iMessage, but a green-colored SMS) and it failed to send. I tried making a phone call, and was greeted by an automated message that they could not authenticate my iPhone.
I tried rebooting again, but still nothing. I thought about going to Settings » General » Reset » "Reset Network Settings" but I knew that would also remove all my saved Wi-Fi passwords, so I decided to wait a few more hours and try again.
In the meantime, iMessage and FaceTime both showed my Google Voice number as associated with my iCloud account, and I could use Verizon's 3G and LTE data networks, I just couldn't make any calls or send any SMS messages.
Eventually I called Verizon (#8899, as the automated message suggested). After about 20 minutes on hold I was finally connected with someone, explained what had been going on, and she said "You aren't on that phone now, are you?" Well, of course I was, because I don't think calling #8899 from my landline was going to get me to Verizon Wireless tech support. She asked if there was another number where she could call me back, and I gave her my number, but asked: "If I wasn't on my iPhone right now, what would you have me do?"
"Reset your network settings," she said. She wrote down my landline phone number and promised to call me back in about 10 minutes. I reset the network settings, my iPhone rebooted, the Verizon logo showed up, the LTE logo appeared, I went into the Phone app, looked up my own number and -- my old phone number was still there.
I was in the car and had my iPhone on the windshield mount, but there wasn't anywhere I could pull over, so I just left it unlocked on the screen showing my old phone number.
About two minutes later, the number changed right before my eyes. One second it was the old number, and then it was the new number.
Success! Finally I could make calls, send/receive regular SMS messages, and everything else.
Summary of Steps
If I was starting over from the beginning, here's what I would do:
Go through my texts for the past month or so and look to see what (if anything) is using my iPhone number for SMS instead of my Google Voice number.
Temporarily disable any two-factor authentication systems which rely on SMS.
Call Verizon (800-922-0204 worked for me) and navigate the phone options for "Tech Support" and then "Port a phone number" and then "Port to Verizon"
Verizon will need your name (as it appears in Google account), your Google Voice number is the number you want to port and your "account number" and there is no password for porting a number out.
Accept that you may have to wait 2-3 days, and be on the lookout for iMessage or FaceTime to tell you that your Google Voice number has been associated with your account.
Don't bother just rebooting your iPhone to see if that does it, bite the bullet and choose "Reset Network Settings."
Tip: Whenever I am somewhere that has a Wi-Fi password, I always save the network name [SSID] and the password in 1Password, so if I do have to reset my network settings, I will still have the Wi-Fi passwords for the various networks that I use.
Once the port has been completed, be sure to reenable any two-factor authentication systems which use SMS.
Although these instructions were for a Verizon iPhone, I would assume that the process is similar for AT&T or Sprint, with the obvious exception of who you'd call to initiate the port from your carrier.