[T-Mobile HTC One (M9)] aestivalisakito:
1. For those wondering why this is posted in the T-Mobile section: MetroPCS is owned by T-Mobile and as you will see through this post is very influential in it working.

2. If you got it working some other way, more power to you. please do not confuse people (because lets face it alot of people looking at this havent been on here very long or just stumbled onto the thread) by posting your "fix"

THIS IS FOR HTC ONE M9 users who have taken their devices to MetroPCS. If you are not on MetroPCS then do not try this in any way because it will not work for you. If you are on metropcs and have a T-Mobile firmware installed then try changing the apn settings from step 6-12. This will also fix people having problems turning the wifi calling switch on

YOU MUST BE ON THE MARSHMALLOW T-MOBILE FIRMWARE (3.39.531.7) FOR THIS TO WORK, MEANING MAKE SURE YOU ARE RUNNING A MARSHMALLOW ROM (NOT AOSP ROMS). THE ROM CAN BE BASED ON 3.35 for its base, this is not to be worried about. Also make sure the rom cook has T-Mobile support (i.e. ViperOne 4.3.0 etc) THESE INSTRUCTIONS INCLUDE FLASHING TO THE 3.39.531.7 FIRMWARE. MAKE SURE YOU FOLLOW THE INSTRUCTIONS IN THIS POST AND ANY POSTS THIS ONE LINKS TO.

How to get wifi calling & sms over wifi working on MetroPCS on the m9

FIRST AND FOREMOST STEP IS TO MAKE A COMPLETE BACKUP OF YOUR DEVICE IN RECOVERY IN CASE THINGS DO NOT GO AS INTENDED!

1. Make sure you have registered an account on http://www.metropcs.com/account.html

2. Download the myMetro app from the play store here: https://play.google.com/store/apps/details?id=com.nuance.nmc.sihome.metropcs&hl=en & download sqlite editor attached to this post and install it.

3. open the app and it should recognize you automatically, on the left upper corner of the app click the 3 lines to bring out the side menu. Click on E911 Address and follow the instructions.

4. Once you submit this information you will receive a text message saying you have filled out the e911 info for wifi calling.

5. Goto this post and follow the instructions for downloading and flashing the 3.39.531.7 firmware: http://xdaforums.com/one-m9/development/3-39-531-7-nowipe-noredtext-twrp-3-0-0-1-t3326861

6. Once your phone reboots go into airplane mode. open the sqlite editor app on your phone.

7. click the files tab. then navigate to /data/data/com.android.providers.telephony/databases/

8. click on telephony.db then carriers_cache. click on the 3 dots in the upper right corner and select delete all

9. click the back button and select carriers.

click the first line, then the little pencil and change the following exactly:

Name: MetroPCS
Numeric: 310260
mcc: 310
mnc: 260
apn: fast.metropcs.com
mmsc: http://mms.msg.eng.t-mobile.com/mms/wapenc
type: default,supl,mms,hipri,dun
protocol: IPV6
roaming_protocol: IP
state: MAKE SURE THIS FEILD IS BLANK IF IT SAYS READONLY REMOVE READONLY

10. click save

11. Take yourself out of airplane mode and goto your apn settings and make sure that the apn selected is the one that says MetroPCS with the apn set as fast.t-mobile.com

12. Go enable wifi calling via the switch in call settings. Make sure you are connected to a wifi network, then once you are sure it is working, go ahead and turn airplane mode back on, then activate ONLY WIFI. Let it connect. (For a few seconds you MAY see an invalid sim error, ignore it it will go away once the connection is made. and try making a call and sending a sms. SMS may only work with the stock app while in airplane mode. im not sure if that has changed. Anyway hope this helps. Enjoy.