I was looking to find out the possible service codes for my HTC Windows Phone device and I found an obvious trend – not every code used on other platforms (even from the same manufacturer) will be supported on Windows Phone. More than that, the same Windows Phone service code are not universal.
So I decided to go deeper and here is what I found:
A pretty decent starting point – the registry. We have the initial code – ##634#. This is the code required to unlock the engineering application. I successfully tested it on a Dell Venue Pro and a Samsung Focus, both yielding expected results – for the DVP I got the EM application and for the Samsung there will be the diagnostic screen. It is a device-specific command, though. The OS keeps a placeholder for it and lets the OEM to implement the hook. Some devices have zero activity generated from the engineering mode command (e.g. Samsung Taylor).
##3282# will start the field test application. It is a native Windows Phone application and it cannot be found through settings or the list of installed applications. This command even works in the emulator. In order to activate it, create a new Windows Phone application and simply use a dummy PhoneCallTask, with a number like “000” – remember, that the dialer is a blacklisted application in the public emulator ROM.
PhoneCallTask task = new PhoneCallTask();
task.PhoneNumber = "000000";
Click on Add Call, then keypad and once the keypad shows up, type the command. You can now end the main call and focus on the application.
Obviously, the Field Test application will not work on the emulator because there is no actual network connected, but feel free to experiment on your phone.
You can see a clear differentiation between the registered service codes:
- PartnerImmediateDialStrings – triggered instantly when the last required character is entered.
- PartnerNonImmediateDialStrings – triggered when the Call button is pressed.
The rest of codes failed both in the emulator and the test phones I had. Apparently there is no direct binding to OEM-based functionality (can be implied from the name of the key).
The PersoUnlockCode key has the ##782# value that is universal – it opens the unlocking app for carrier-locked phones. It is not an unlocker per-se, but rather the unlocking hub, given that the user has the proper unbranding information. Once the user gets an unlock code from the carrier he is using, he can use this service code to open the unlock code handler and unbrand his device. The default number of code experimentation attempts here is set to 100.
PS: The field test application I am talking about has the following ID: 5B04B775-356B-4AA0-AAF8-6491FFEA5626 and its location is \Windows\fieldtestapp.exe.