The steps were simple
1) port landline to T-mobile prepaid
2) port T-mobile to Google Voice
Problem: my landline carrier is small company.
1. Contact T-mobile, provided my information, including PIN. Rejected because info mismatch with carrier
2. Called up my carrier, confirmed everything. Went back to T-mobile, rejected again for mismatch
3. Bring T-mobile and my carrier on the same call. My carrier said they will double check their system and let T-mobile try again. Rejected again
4a. Contact my carrier. Took them a few days to prepare CSR and emailed me
4b. Contact T-mobile, they don't have any way to receive the CSR record. Case transferred to Case Work department. They convinced me that they can get this handled without the CSR. But again, 4th try rejected
5. Case escalated to Solution team. Conference with my carrier and T-mobile. Yet 5th try rejected. Nice thing this time is they followed up with me instead of me chasing them.
6a. In T-mobile's system, my carrier is MCI. They called MCI and was told it's Verizon. Conference w/ T-mobile, me and Verizon. Now I know that my carrier is resaler for Verizon. In Verizon's record, it's a business line under different account information. Their "PSL Address" matches what I have in CSR. However, there is no account name matching Verizon's record.
6b. 4-way conference w/ Verizon, my carrier, T-mobile. My carrier customer service rep knows what's needed but the billing department is closed. T-mobile rep told me she will take care of it. And she did.
6c. Next day the status changed. 3 days later, the number is ported.
7. Porting to Google voice requires you to receive a call. 30 days have passed since the initial T-mobile activation so I can't receive call any more. Don't want to pay $10 refill so I contacted T-mobile. They re-activate my number for 30 days. Next day, the number is successfully ported to Google voice.
So if you have a small carrier, the best chance is to
a) get to T-mobile case work team after the first rejection (you can't contact them until then). Still you need to call in, talk to regular rep and request that.
b) get to T-mobile solution team after the second rejection. You have to request this from case work team. regular rep won't transfer you there.
c) Conference with T-mobile, your carrier and the upstream wholesale (e.g. Verizon) and talk about PSL address and account
Hope this helps those in similar situation
---
If this should be in different forum, please move it or let me know. I will delete and repost