Emergency calling and Hopper
[Following provided by Javier Flores Assad, AKA MTTF Dude]
Hopper, as a random UI stress tool, can cause some real world problems like dialing emergency numbers … well as some OEMs have been asking for a solution of the hopper emergency calling scenario we have created a solution with an override mechanism available for OEMs.
Three new files are available at jetstream: dialrequest.dll, noemesetup.exe and restoreEME.lnk; these two binaries will make your runs safe of dialing emergency numbers.
[Warning: The override will block emergency calling; please don’t apply it on a device that is not intended to be used for hopper testing. If you apply the override your will be unable to make emergency calls until you remove the override as explained in this document]
- You need the two files to be at the \Windows folder and you need to run the noemesetup.exe application so that device can configure the necessary components and restart other components to pickup the override correctly.
- Dialrequest.dll will block the call from being started if the dialed number is registered as an emergency number in the system. The list of emergency numbers registered in the system is stored as a REG_MULTI_SZ in the registry at HKLM\Security\ECall as the List value. By default when you create an image such registry key is populated with factory default emergency numbers for your product.
- If a phone number that is not in that registry key is dialed, the override will not block the dial request, the override will only block call attempts for the registered numbers.
Steps to apply the override
- Boot your clean device normally
- Copy dialrequest.dll and noemesetup.exe into your device at the \Windows folder
- Execute the noemesetup application at your device and wait until the phone is at the foreground (this will be less than 10 seconds)
- You are all set! If you try to dial a registered emergency phone number you will be unable to do so in the device.
Steps to remove the override
Copy restoreEME.lnk into your device at the \Windows\Start Menu\Accessories\ folder (or any other folder that is accessible from the start-menu)
At your device navigate to the location in which you copied the restoreEME.lnk and tap on it.
The operation will take less than 10 seconds
You are all set! The override was removed and if you try to dial emergency numbers they will be dialed as expected.
[Another option would be to wipe your device by reflashing it or by cleaning its registry]
OEMs can create their own dial-request override if needed?
Yes, there is a public override mechanism that allows OEMs to be asked if a dial request should proceed or should be blocked. This mechanism is called: PreprocessDialRequest and is fully documented for OEMs to use in (public\ossvcs\oak\inc\dpext.h).
For more information regarding technical information about this override functionality, please refer to public\ossvcs\oak\inc\dpext.h.
- MTTF Dude