Solved

Android Native Visual Voicemail Trouble



Show first post
This topic has been closed for comments

115 replies

Any progress or leads on this?

This is affecting quite a few people, at least as seen over on Reddit and certainly more.

Not sure why this thread is marked as "answered" if there's no solution, but regardless, please let us know if there's any fix forthcoming.

Thanks.

Userlevel 1

So I called T-Mobile support again because removing the voicemail to text feature did not fix my issue.  The guy I was transferred to a "tech expert" basically told me they are not able to get the stock android visual voicemail to work on the 6T with their service, but they will gladly sell the phones in their stores.  He then proceeded to tell me it's OnePlus' fault and transferred me to them.  This is just fantastic service!!! 

@carrierlost​, just curious, what is the location of the log files you are grabbing from the device? I've been wanting to debug VVM in some other situations (e.g. some prepaid carriers), and this would certainly help.

/u/tmo_amanda, can you please provide an update?

Userlevel 1

Hey @erikswan2​ - Android uses logcat through adb.

Simple instructions:

1. Put your phone into developer mode

2. enable usb debugging

3. install android debug bridge (adb)

4. once you're connected to your phone, run the following:

          adb logcat -c

This will clear the current logs, so you don't get a bunch of stuff you don't need. Now reproduce the issue you're looking for logs on, then run:

(for the vvm logs, I normally open the phone, go to the vvm tab, wait for it to fail, then after I clear the logs, hit the "try again" link.

          adb logcat -d > (filename).txt

Yeah I've had a case open for two weeks for my Pixel 3 XL.  They even got Google on the line for an hour to troubleshoot and they deemed it a T-Mobile issue.  They said they'd escalated it last week to engineering but no response.  Every time I call they act like they've never heard of this issue.  Would be great if they read their own support threads.

Userlevel 1

Don't hold your breath for a fix.  My case was escalated to the engineers 3 weeks ago and I never got a response.  They either don't know how to fix it or don't care to fix it because T-Mobile seems to have faith in their crappy visual voicemail app so why bother with the naitve option.  I put my SIM card back in my pixel 2 just as a test and voicemail activates just fine so it's definitely a per device issue.

Userlevel 1

I'm in the same boat. SIM works fine in the Pixel 2, but the Pixel 3 won't activate at all. It's definitely a config issue on TMo's end that they can't or won't fix. I've opened multiple tickets and spoken with several support people, even having the issue "escalated to the engineers" a few times, too. Still no change at all, and every person I talk to acts like they've never heard of this issue. I've even referenced this thread in my calls. At this point, it's a waiting game. Wait for them to fix it, or wait until I can reconcile switching providers (again) to someone that doesn't have this issue.

Userlevel 1

Long and detailed post incoming.

Digging through the android source code, checking into how the process works. (Code available here: https://android.googlesource.com)

What we see in the logs is this, (and I'll break down the bits as the post goes along)

Phone realizes it's not activated, starts task. This can also happen when a user presses the "Try again" button in the failed activation screen.

I Dialer  : OmtpVvmSyncReceiver - Unactivated account ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, ***, UserHandle{0} found, activating

Activation task created and executed.

I Dialer  : VvmTaskReceiver - task received

I Dialer  : VvmTaskReceiver - scheduling new job

I Dialer  : TaskSchedulerJobService - scheduling job with 1 tasks

I Dialer  : TaskSchedulerJobService - running job instantly.

I Dialer  : TaskSchedulerJobService - job 34 scheduled

I Dialer  : TaskSchedulerJobService - starting 34

I Dialer  : VvmTaskExecutor - onStartJob

I Dialer  : Task.createTask - create task:com.android.voicemail.impl.ActivationTask

I Dialer  : VvmTaskExecutor - executing task com.android.voicemail.impl.ActivationTask@b732577

Activation begins, SMS sent to get config

I Dialer  : VoicemailErrorAlert.updateStatus - isModal: false, Activating visual voicemail

I QImsService: ImsSmsImpl : sendSms:: token:4 msgRef:0 format:3gpp isRetry:false

I QImsService: ImsSenderRxr : sendSms over IImsRadio with format:3gpp

I QImsService: ImsSenderRxr : [0026]> REQUEST_SEND_IMS_SMS [SUB0]

SMS response received by phone

I QImsService: ImsRadioResponse : Ims sms response received

I QImsService: ImsSenderRxr : [0026]< REQUEST_SEND_IMS_SMS { mMessageRef = 144, mSendSmsResult = 1, mSendSmsReason = 0}[SUB0]

I QImsService: ImsSmsHandler : Message received: what = 1

I QImsService: ImsSmsImpl : onSendSmsResult:: token:4 smsResponse:{ mMessageRef = 144, mSendSmsResult = 1, mSendSmsReason = 0}

I QImsService: ImsSenderRxr : [unsl]< UNSOL_INCOMING_IMS_SMS[SUB0]

I QImsService: ImsSmsHandler : Message received: what = 2

I QImsService: ImsSmsImpl : onSmsReceived:: token:3 incomingSms:{ mFormat = 3gpp verstat = 0}

D GsmInboundSmsHandler: Skipped message de-duping logic

I QImsService: ImsSmsImpl : acknowledgeSms:: token:3 msgRef:0 result:1

I QImsService: ImsSenderRxr : [0027]> REQUEST_ACK_IMS_SMS [SUB0]

I VvmSmsFilter: VVM SMS received

I VvmSmsReceiver: Sending SMS received event to remote service

I RemoteVvmTaskManager: Binding to ComponentInfo{com.google.android.dialer/com.android.voicemail.impl.OmtpService}

Response processed, status returned

I Dialer  : VvmOmtpService - onSmsReceived

I Dialer  : OmtpMessageReceiver - Received message on non-activated account

I Dialer  : LegacyModeSmsHandler - processing VVM SMS on legacy mode

I Dialer  : VvmActivationTask - Subscriber not ready but provisioning is not supported

I Dialer  : OmtpVvmCarrierCfgHlpr - OmtpEvent:CONFIG_SERVICE_NOT_AVAILABLE

Here's where it gets fun. Checking the code.

From ActivationTask.java

Task to activate the visual voicemail service. A request to activate VVM will be sent to the carrier, which will respond with a STATUS SMS. The credentials will be updated from the SMS. If the user is not provisioned, provisioning will be attempted. Activation happens when the phone boots, the SIM is inserted, signal returned when VVM is not activated yet, and when the carrier spontaneously sent a STATUS SMS.

    StatusMessage message = new StatusMessage(data);

    VvmLog.d(

        TAG,

        "STATUS SMS received: st="

            + message.getProvisioningStatus()

            + ", rc="

            + message.getReturnCode());

    if (message.getProvisioningStatus().equals(OmtpConstants.SUBSCRIBER_READY)) {

      VvmLog.d(TAG, "subscriber ready, no activation required");

      updateSource(getContext(), phoneAccountHandle, message, helper);

    } else {

      if (helper.supportsProvisioning()) {

        VvmLog.i(TAG, "Subscriber not ready, start provisioning");

        helper.startProvisioning(

            this, phoneAccountHandle, status, message, data, isCarrierInitiated);

      } else if (message.getProvisioningStatus().equals(OmtpConstants.SUBSCRIBER_NEW)) {

        VvmLog.i(TAG, "Subscriber new but provisioning is not supported");

        // Ignore the non-ready state and attempt to use the provided info as is.

        // This is probably caused by not completing the new user tutorial.

        updateSource(getContext(), phoneAccountHandle, message, helper);

      } else {

        VvmLog.i(TAG, "Subscriber not ready but provisioning is not supported");

        helper.handleEvent(status, OmtpEvents.CONFIG_SERVICE_NOT_AVAILABLE);

      }

    }

Bolded section is what failures are generating. That is pulled from the sms response to message.getProvisioningStatus(), which is received from the SMS status message sent by TMo vvm servers. The result should be in the first few lines:

        "STATUS SMS received: st="

            + message.getProvisioningStatus()

            + ", rc="

            + message.getReturnCode());

Which will give you a result like:

    I Dialer  : VvmOmtpService - onSmsReceived

    I Dialer  : OmtpMessageReceiver - Received message on non-activated account

    I Dialer  : VvmActivationTask - STATUS SMS received: st=B, rc=0

(Above results are from when I had customer service remove the vvm add-on from my account. Without having vvm active on the account, the vvm service is (rightfully) setting status to Blocked.)      

VvmActivationTask return comes from this section in OmtpConstants.java:

/** See {@link OmtpConstants#PROVISIONING_STATUS_VALUES} */

public static final String PROVISIONING_STATUS = "st";

/** See {@link OmtpConstants#RETURN_CODE_VALUES} */

public static final String RETURN_CODE = "rc";

A successful return would be from this list, pulled from OmtpConstants.java:

    public static final String SUBSCRIBER_NEW = "N";

    public static final String SUBSCRIBER_READY = "R";

    public static final String SUBSCRIBER_PROVISIONED = "P";

    public static final String SUBSCRIBER_UNKNOWN = "U";

    public static final String SUBSCRIBER_BLOCKED = "B";

    public static final String[] PROVISIONING_STATUS_VALUES = {

        SUBSCRIBER_NEW,

        SUBSCRIBER_READY,

        SUBSCRIBER_PROVISIONED,

        SUBSCRIBER_UNKNOWN,

        SUBSCRIBER_BLOCKED

    };

In this instance, "st" should return N, R, or P (for a working account) with a return code ("rc") in the following values: (also from OmtpConstants.java)

    public static final String SUCCESS = "0";

    public static final String SYSTEM_ERROR = "1";

    public static final String SUBSCRIBER_ERROR = "2";

    public static final String MAILBOX_UNKNOWN = "3";

    public static final String VVM_NOT_ACTIVATED = "4";

    public static final String VVM_NOT_PROVISIONED = "5";

    public static final String VVM_CLIENT_UKNOWN = "6";

    public static final String VVM_MAILBOX_NOT_INITIALIZED = "7";

    public static final String[] RETURN_CODE_VALUES = {

        SUCCESS,

        SYSTEM_ERROR,

        SUBSCRIBER_ERROR,

        MAILBOX_UNKNOWN,

        VVM_NOT_ACTIVATED,

        VVM_NOT_PROVISIONED,

        VVM_CLIENT_UKNOWN,

        VVM_MAILBOX_NOT_INITIALIZED,

    };

The hope here would be that it returns st=(N or R) and rc=0 for SUCCESS. (Hint: It doesn't. 😥 )

There's way more here, but this is as far as I'm going tonight.

Userlevel 1

This is my 3rd call to T-Mobile. I had the 1st rep check and she said she just enabled VVM to my account. I do have the One Plus so I assumed it was already enabled. Either way, I stopped the app, cleared cache, restarted phone but it's still not working. She escalated to the tech, who said that this feature doesn't work on T-Mobile and reiterated that the device is a "Verizon" phone so the T-mobile's VVM feature won't work. I asked if I bought a T Mobile device, such as one of the Samsung's they sell or even the OnePlus 6T, she continued to say that those devices will work. But looking at this thread and others I've found on the internet, this doesn't always hold true.

So in the end, the tech claims I won't be able to use my Pixel 2 XL's native VVM because it's not a fully supported device through T Mobile. The only way this phone can get VVM is to use the app. So why was T Mobile touting they were the superior carrier for the Pixel? Unleash the Pixel 2 for Half Off – No Verizon Required | T-Mobile Newsroom

Does my Pixel 2 XL not work because I got it from Verizon instead of Google? Would this work on Google Fi which uses T Mobile's service as one of the supported carriers?

12-14 11:31:02.081  2229  2229 I Dialer  : OmtpVvmSyncReceiver - Unactivated account ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, ***, UserHandle{0} found, activating

12-14 11:31:02.082  2229  2229 I Dialer  : VvmTaskReceiver - task received

12-14 11:31:02.082  2229  2229 I Dialer  : VvmTaskReceiver - scheduling new job

12-14 11:31:02.083  2229  2229 I Dialer  : TaskSchedulerJobService - scheduling job with 1 tasks

12-14 11:31:02.083  2229  2229 I Dialer  : TaskSchedulerJobService - running job instantly.

12-14 11:31:02.084  2229  2229 I Dialer  : TaskSchedulerJobService - job 51 scheduled

12-14 11:31:02.086  2229  2229 I Dialer  : TaskSchedulerJobService - starting 51

12-14 11:31:02.087  2229  2229 I Dialer  : VvmTaskExecutor - onStartJob

12-14 11:31:02.087  2229  2229 I Dialer  : Task.createTask - create task:com.android.voicemail.impl.ActivationTask

12-14 11:31:02.087  2229 12844 I Dialer  : VvmTaskExecutor - executing task com.android.voicemail.impl.ActivationTask@e703973

12-14 11:31:02.088  2229 12844 I Dialer  : PreOMigrationHandler - ComponentInfo{com.android.phone/com.android.services.telephony.TelephonyConnectionService}, ***, UserHandle{0} already migrated

12-14 11:31:02.101  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.102  2229 12844 I Dialer  : VvmActivationTask - VVM content provider configured - vvm_type_cvvm

12-14 11:31:02.102  2229 12844 I Dialer  : OmtpVvmCarrierCfgHlpr - OmtpEvent:CONFIG_ACTIVATING

12-14 11:31:02.104  2229  2229 I Dialer  : MainCallLogFragmentListener - voicemailStatusObserver.onChange selfChange:false

12-14 11:31:02.104  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.109  2229  2229 I Dialer  : MainCallLogFragmentListener - voicemailStatusObserver.onChange selfChange:false

12-14 11:31:02.110  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.115  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.119  2229  2229 I Dialer  : MainCallLogFragmentListener - voicemailStatusObserver.onChange selfChange:false

12-14 11:31:02.121  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.127  2229  2229 I Dialer  : MainCallLogFragmentListener - voicemailStatusObserver.onChange selfChange:false

12-14 11:31:02.128  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.136  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - 1 status

12-14 11:31:02.136  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:02.137  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:02.137  2229  2229 I Dialer  : MainCallLogHost.enableFloatingButton - enabled: true

12-14 11:31:02.137  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - isModal: false, Activating visual voicemail

12-14 11:31:02.154  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - 1 status

12-14 11:31:02.154  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:02.154  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:02.155  2229  2229 I Dialer  : MainCallLogHost.enableFloatingButton - enabled: true

12-14 11:31:02.155  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - isModal: false, Activating visual voicemail

12-14 11:31:02.155  2229  2229 I Dialer  : OldMainActivityPeer.MainCallLogFragmentListener - onVoicemailStatusFetched

12-14 11:31:02.155  2229  2229 I Dialer  : OldMainActivityPeer.onVoicemailStatusFetched - hasActiveVoicemailProvider:true, number of active voicemail sources:1

12-14 11:31:02.159  2229  2229 I Dialer  : OldMainActivityPeer.showVoicemail - showing Tab:true

12-14 11:31:02.163  2229  2229 I Dialer  : OldMainActivityPeer.MainCallLogFragmentListener - onVoicemailStatusFetched

12-14 11:31:02.163  2229  2229 I Dialer  : OldMainActivityPeer.onVoicemailStatusFetched - hasActiveVoicemailProvider:true, number of active voicemail sources:1

12-14 11:31:02.167  2229  2229 I Dialer  : OldMainActivityPeer.showVoicemail - showing Tab:true

12-14 11:31:02.170  2229  2229 I Dialer  : OldMainActivityPeer.MainCallLogFragmentListener - onVoicemailStatusFetched

12-14 11:31:02.170  2229  2229 I Dialer  : OldMainActivityPeer.onVoicemailStatusFetched - hasActiveVoicemailProvider:true, number of active voicemail sources:1

12-14 11:31:02.174  2229  2229 I Dialer  : OldMainActivityPeer.showVoicemail - showing Tab:true

12-14 11:31:02.178  2229  2229 I Dialer  : OldMainActivityPeer.MainCallLogFragmentListener - onVoicemailStatusFetched

12-14 11:31:02.178  2229  2229 I Dialer  : OldMainActivityPeer.onVoicemailStatusFetched - hasActiveVoicemailProvider:true, number of active voicemail sources:1

12-14 11:31:02.182  2229  2229 I Dialer  : OldMainActivityPeer.showVoicemail - showing Tab:true

12-14 11:31:02.413  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:02.463  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - 1 status

12-14 11:31:02.464  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:02.464  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:02.465  2229  2229 I Dialer  : MainCallLogHost.enableFloatingButton - enabled: true

12-14 11:31:02.465  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - isModal: false, Activating visual voicemail

12-14 11:31:03.203  2229  2229 I Dialer  : VvmOmtpService - onSmsReceived

12-14 11:31:03.225  2229  2229 I Dialer  : OmtpMessageReceiver - Received message on non-activated account

12-14 11:31:03.225  2229  2229 I Dialer  : LegacyModeSmsHandler - processing VVM SMS on legacy mode

12-14 11:31:03.225  2229 12844 I Dialer  : VvmActivationTask - Subscriber not ready but provisioning is not supported

12-14 11:31:03.225  2229 12844 I Dialer  : OmtpVvmCarrierCfgHlpr - OmtpEvent:CONFIG_SERVICE_NOT_AVAILABLE

12-14 11:31:03.234  2229  2229 I Dialer  : RetryPolicy - com.android.voicemail.impl.ActivationTask@e703973 completed successfully

12-14 11:31:03.234  2229  2229 I Dialer  : RetryPolicy - committing deferred status: configuration_state=4

12-14 11:31:03.247  2229  2229 I Dialer  : VvmTaskExecutor - no more tasks, stopping service if no task are added in 5000 millis

12-14 11:31:03.249  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:03.256  2229  2229 I Dialer  : MainCallLogFragmentListener - voicemailStatusObserver.onChange selfChange:false

12-14 11:31:03.257  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:03.264  2229  2229 I Dialer  : MainCallLogFragmentListener - voicemailStatusObserver.onChange selfChange:false

12-14 11:31:03.265  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:03.279  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - 1 status

12-14 11:31:03.279  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:03.279  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:03.280  2229  2229 I Dialer  : MainCallLogHost.enableFloatingButton - enabled: true

12-14 11:31:03.280  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - isModal: false, Can't activate visual voicemail

12-14 11:31:03.296  2229  2229 I Dialer  : OldMainActivityPeer.MainCallLogFragmentListener - onVoicemailStatusFetched

12-14 11:31:03.297  2229  2229 I Dialer  : OldMainActivityPeer.onVoicemailStatusFetched - hasActiveVoicemailProvider:true, number of active voicemail sources:1

12-14 11:31:03.303  2229  2229 I Dialer  : OldMainActivityPeer.showVoicemail - showing Tab:true

12-14 11:31:03.307  2229  2229 I Dialer  : OldMainActivityPeer.MainCallLogFragmentListener - onVoicemailStatusFetched

12-14 11:31:03.308  2229  2229 I Dialer  : OldMainActivityPeer.onVoicemailStatusFetched - hasActiveVoicemailProvider:true, number of active voicemail sources:1

12-14 11:31:03.313  2229  2229 I Dialer  : OldMainActivityPeer.showVoicemail - showing Tab:true

12-14 11:31:08.254  2229  2229 I Dialer  : VvmTaskExecutor - Stopping service

12-14 11:31:08.255  2229  2229 I Dialer  : VvmTaskExecutor - finishing Job

12-14 11:31:08.256  2229  2229 I Dialer  : TaskSchedulerJobService - finishing job

12-14 11:31:08.269  2229  2229 I Dialer  : JobFinishedPoller.run - Job finished

12-14 11:31:08.270  2229  2229 I Dialer  : VvmTaskExecutor - terminated

12-14 11:31:15.711  2229  2229 I Dialer  : CallLogQueryHandler.fetchVoicemailStatus - fetching voicemail status

12-14 11:31:15.762  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - 1 status

12-14 11:31:15.763  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:15.763  2229  2229 I Dialer  : VoicemailClientImpl.isVoicemailTranscriptionAvailable - visual voicemail is not activated

12-14 11:31:15.764  2229  2229 I Dialer  : MainCallLogHost.enableFloatingButton - enabled: true

12-14 11:31:15.764  2229  2229 I Dialer  : VoicemailErrorAlert.updateStatus - isModal: false, Can't activate visual voicemail

Userlevel 1

Nokisme: That rep is full of sh1t.  Truth is they have no idea why it isn't working.  The naitve VVM on my Pixel 2 from Verizon WILL on T-Mobile but not on my T-MOBILE OnePlus 6T.  I think that when a number is ported over to T-Mobile from another carrier something isn't configured right on T-Mobile's end.  This error in configuration causes the VVM native in Android to not work in some phones.  The guy that got me signed up to T-Mobile is someone I've known for a few years. He has a OnePlus 6T and his native VVM works fine.  The error has to be attached to the specific line itself and is not the fault of the phone you have.  When I first signed up for service I couldn't use any mobile data on my Pixel 2.  They had to go deep into the settings and reconfigure some things to get it to work.  I think something similar needs to happen with VVM.

Userlevel 1

nokisme wrote:

This is my 3rd call to T-Mobile. I had the 1st rep check and she said she just enabled VVM to my account. I do have the One Plus so I assumed it was already enabled. Either way, I stopped the app, cleared cache, restarted phone but it's still not working. She escalated to the tech, who said that this feature doesn't work on T-Mobile and reiterated that the device is a "Verizon" phone so the T-mobile's VVM feature won't work. I asked if I bought a T Mobile device, such as one of the Samsung's they sell or even the OnePlus 6T, she continued to say that those devices will work. But looking at this thread and others I've found on the internet, this doesn't always hold true.

So in the end, the tech claims I won't be able to use my Pixel 2 XL's native VVM because it's not a fully supported device through T Mobile. The only way this phone can get VVM is to use the app. So why was T Mobile touting they were the superior carrier for the Pixel? Unleash the Pixel 2 for Half Off – No Verizon Required | T-Mobile Newsroom

It's all apparently marketing and lies. I've put more work into solving this than T-Mobiles "engineers" have.

Does my Pixel 2 XL not work because I got it from Verizon instead of Google? Would this work on Google Fi which uses T Mobile's service as one of the supported carriers?

No, Verizon doesn't put any specific software on the Pixel that can't be removed. If you are so inclined, you can even flash the "non-Verizon" image to your Pixel and it will be indistinguishable from a "Verizon" Pixel. (OG/XL, 2/XL, 3/XL) Images can be found here: https://developers.google.com/android/ota

Your native vvm app would (and does) work on Google Fi, even using T-Mobile's network, because they actually bothered setting up omtp compliant vvm services. (I came to T-Mo from Fi. In retrospect, maybe not such a great idea...)

---- snip ----

12-14 11:31:03.225 2229 12844 I Dialer : VvmActivationTask - Subscriber not ready but provisioning is not supported

12-14 11:31:03.225 2229 12844 I Dialer : OmtpVvmCarrierCfgHlpr - OmtpEvent:CONFIG_SERVICE_NOT_AVAILABLE

---- snip ----

This is the same error everyone else is seeing - even those that have T-Mobile "branded" OnePlus 6T phones. (Which, incidentally also don't work... great work there, T-Mobile.) At this point, it's clearly T-Mobile that's screwed up. They are outright refusing to acknowledge the issue, hiding behind the weak "You should buy our branded phones" argument. Frankly, it's shameful.

Userlevel 1

Hey @tmo_amanda

This issue should NOT be marked as "answered". It's not even remotely answered. For people still having this issue, and those searching because they're having the same problem, seeing the thread marked as "answered" is highly misleading.

Userlevel 1

Thanks. I knew she was blowing smoke up my @$$ when she made those claims. I even asked if I got the phone from Google, she claimed it still wouldn't work because it was designed for Verizon. I told her it wasn't designed for Verizon, and she stuck to her guns that it wasn't designed to T Mobile services. She even went as far to say that T Mobile's VVM app was specifically designed for these reasons. Really? I thought it was because older OS versions of Android dialers didn't have VVM built in. I'm going to put T Mobile on blast and try to reach out to some of the media outlets (Android Police, The Verge, Engadget, etc.) so they can spread the word out and light a fire. I'm to the point of reporting them to BBB.

It's obvious this is a backend issue that they are ignoring.

Userlevel 1

Truth is they have no idea why it isn't working.  The naitve VVM on my Pixel 2 from Verizon WILL on T-Mobile but not on my T-MOBILE OnePlus 6T.  I think that when a number is ported over to T-Mobile from another carrier something isn't configured right on T-Mobile's end.  This error in configuration causes the VVM native in Android to not work in some phones.  The guy that got me signed up to T-Mobile is someone I've known for a few years. He has a OnePlus 6T and his native VVM works fine.  The error has to be attached to the specific line itself and is not the fault of the phone you have.  When I first signed up for serviceI couldn't use any mobile data on my Pixel 2.

I questioned her when she said my phone was "T Mobile issued". I asked if I bought a Samsung, or even the OnePlus 6T from T Mobile, could she guarantee that will work. She hesitated for a minute and not confidently stated that native VVM would work. So I pressed the fact that I know of at least one user in the T Mobile community forums that owns a OnePlus 6T and it doesn't work. That's when she admitted that their was a system push that affected some Samsung and OnePlus 6T users. She couldn't verify if it was working for either now, but that confirms something is wrong. I'm assuming it's an update on their end so she pretty much admitted that they botched something up and can't figure out how to fix it. That's how I see it anyway.

Ha, after having the trouble ticket open for my Pixel 3XL for more than 2 weeks, supposedly escalated to engineering, and numerous calls back to them, I got a text message saying the issue was resolved and the ticket was closed.  So of course I called them and am right back at the beginning.  So ridiculous.

Userlevel 1

Your native vvm app would (and does) work on Google Fi, even using T-Mobile's network, because they actually bothered setting up omtp compliant vvm services. (I came to T-Mo from Fi. In retrospect, maybe not such a great idea...)

I'm waiting for from my credit to pay off my phone. If this isn't resolved by then, I will be hopping carriers till I'm happy. Google Fi is next on my list.

Ummm, guys?

Mine just started working.  I've been hitting "Activate voicemail" in the Phone app (P3XL) about 1-2x/day fruitlessly for about a week now, getting the failure message.

But this time when I went to the VM tab in Phone, it came up with a screen I've never seen before, asking me if I wanted to activate VVM.  I said yes.  It didn't do anything visibly -- no failure message, no success message either.  So I had somebody call me and leave a voicemail... and bam it's working now.

That said, for some reason the test voicemails I've been left (2 of them now, from 2 different numbers, but both from iPhone users) show up with "This is a message for the Apple Voicemail system" as the transcription. No idea what that's all about.

Anybody else?

Userlevel 1

No such luck here. I think it may be something to do with that screen you saw. I was doing more reading of the code for the vvm activation, and it looks like there's supposed to be a trigger that pops up a user agreement that either isn't happening at all, or not as it should.

I REALLY don't wanna reset my phone again to see if I can get it to pop up, but I might have to.

My visual voicemail just started working on my Pixel 3 XL.

Mine is still working.  The "Apple Voicemail' thing also is appearing for the first maybe 10 secs of each message left, after which it gets converted over to the transcription.  Strange behavior.

Also the voicemail tab is telling me the message was left 1 hour before the actual time, so that's off as well.  For instance it's 12:30 Eastern here, and I just left myself a voicemail with another phone in my time zone, and the VVM tab in the Phone app says the message was left at 11:30.

Userlevel 1

Not working for me either. Using google voice for the time being. I refuse to use their app until this gets resolved.

Badge

How about native transcription? On my unlocked non-TMobile 6t my transcriptions are coming through as text messages instead of appearing alongside the relevant voicemail in the Phone app.

I have also found that native support for Name ID doesn't work. Which it did on my BlackBerry KEYone, at least on Nougat.

My Pixel 3XL finally activated visual voicemail today too.

Having this same issue with a Nokia 6.1 on Android 9 Pie, brand new line, brand new phone. T-Mobile VVM works, but it's annoying to have voice mail in a separate app when it's integrated into the stock Phone app (with free transcription, as on my iPhone). If I delete T-Mobile VVM after clearing caches, the problem persists. Sounds like I might need to try various resets from other super helpful commenters on this thread.