User Profile
carrierlost
Transmission Trainee
Joined 6 years ago
User Widgets
Contribuciones
Re: Android Native Visual Voicemail Trouble
(Un)Fortunately mine is still working on my Pixel3, so I can't really tell whether or not it's a broken T-Mobile function again. Earlier in this thread I posted instructions on grabbing logs from an android. If you read back through my posts, you should be able to pull the logs from your phone and verify if it's the same issue it was previously, or if you're getting a new error message that may help narrow down the issue. If it broke after a security upgrade, they may have changed the VVM code, so you'll (hopefully) see a new error message that can point you in the right direction.1Ver0likes0ComentariosRe: Android Native Visual Voicemail Trouble
@tangerine That isn't correct. Android native VVM should be working just fine at the moment. Once all the profiles were set up correctly, most people were able to connect and use the native VVM without issue. To my knowledge, it hasn't quit since it started working.1Ver0likes0ComentariosRe: Android Native Visual Voicemail Trouble
So this is going to sound stupid, but it worked on my wife's phone. Go into phone settings, under voicemail, and turn it off and on a few times .On the third or fourth attempt, hers activated . You can tell immediately when it activates, because the other options light up.2Visto0likes0ComentariosRe: Android Native Visual Voicemail Trouble
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.2Visto0likes0ComentariosRe: Android Native Visual Voicemail Trouble
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.1Ver1like0ComentariosRe: Android Native Visual Voicemail Trouble
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.1Ver0likes0ComentariosRe: Android Native Visual Voicemail Trouble
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.2Visto1like0ComentariosRe: Android Native Visual Voicemail Trouble
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.2Visto0likes0ComentariosRe: Android Native Visual Voicemail Trouble
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).txt1Ver0likes0Comentarios