Disabling Bluetooth headset initiated dialing (my own solution)

InfX

Senior Member
May 1, 2008
885
216
73
After searching for hours and hours for a way to disable voice dialing + dial last number function from my Bluetooth headset, i've decided to code my own solution, in a form of AT commands audio gateway extension. Since others may find this useful as well, i am packing it in a cab and posting it here.

All it does is putting a small audio gateway extension replacement DLL (just 4kbytes) in windows directory and changes the MS audio gateway extension settings in registry to use this replacement DLL. All the DLL does is responding with "ERROR" on the voice dial and last number dial commands from the headphone, that it. This does the trick.

To install: install the cab, reset the device
To uninstall: remove using the system control panel, reset the device

As simple as that. No guaranties. It replaces a system DLL functionality after all, don't blame me if renders your device unbootable, unusable, blows it up or even kills you... well, you know the drill, use it on your own risk. I'll be happy if someone else finds this useful.
 

Despoo

Member
Feb 3, 2008
16
0
0
it is embarrassing when you don't know about calling somebody

I appreciate your perfect solution

installed in kaiser with WM 6.5 OS and nokia BH-102

I tried many things and it is working perfectly

thanks
 

InfX

Senior Member
May 1, 2008
885
216
73
Wired headphones?! Are you sure? Cause i would really doubt any wired headphones would allow AT commands audio gateway extension, or, in fact, communicate using AT commands.

But, if it really works... if the system actually simulates those commands and passes those through the extension... maybe i'll finally make my wired remote work with something other than the damn AudioManager program.

I am too lazy to go to my car right now (thats where the wired remote currently is), but tomorrow i am totally going to see if this really blocks the call button on that wired remote. If it does, i am going to see if the other buttons also pass through the extension, and, well, you know whats next. But i really really doubt it, its probably just a coincidence or something.

Thanks for the info.
 

meknb

Senior Member
Nov 21, 2008
267
11
0
Merseyside
Yes wired headphones? mine are just cheap hands free ones off ebay but pressing the button does nothing now,which is great it use to dial my last number sometimes without pressing it too.
 

InfX

Senior Member
May 1, 2008
885
216
73
I found the BT audio gateway service not loading the dll on startup on some of the devices. Try installing SK tools, go to services menu, stop the BT Audio Gateway service and then start it again, while having my cab installed. If it suddenly works and blocks the dial button after the service restart, then there may be a 'solution', as simple as making a little app that restarts the service after the device is fully loaded. Not a perfect solution, but well, if it works, then why not.

BTW, can someone point me to the right direction on how to restart WM services programatically ? What API does this ?
 

Despoo

Member
Feb 3, 2008
16
0
0
thanks for quick response

I tried what you said. I used Task Manager v2.9 the BT Audio Gateway already stopped and I could not start it

it says the system cannot open the device or file specified.


I have replaced the dll file manually and still

when I clicked "find in registry" it is located in HKLM/Services/BTAGSVC

BTAGSVC.dll
 
Last edited:

InfX

Senior Member
May 1, 2008
885
216
73
Replaced the DLL manually ? The BTAGSVC one ? With mine ?!?! Don't !!!

Read my post again to understand how the trick works. My DLL is by no means not a BTAGSVC replacement. What i means in my last post is that for some reason, when BTAGSVC initially loads, at the device start, it won't load the AT extension DLL (my one). I would assume this may happen because the file system is not mounted yet, or some similar reason, i don't know. And the reason i told you to try restarting the BTAGSVC is to try & see if it helps to start the service when the device is fully loaded.

Again, do not replace the BTAGSVC with my DLL, you can lose the BT audio functionality this way.
 

Despoo

Member
Feb 3, 2008
16
0
0
no I did not replace BTAGSVC with yours (BTAWGS)

I tried exactly what you have said. I was saying that service belongs to this file as stated in registry.

you told me te restart the service and I told the service is already stopped plus I could not start it for that error

recently I could not find BTAWGS dll file in windows folder

my question: this dll file (BTAWGS) does it exist in the original rom and your cab replace it?


regards
 
Last edited:

Despoo

Member
Feb 3, 2008
16
0
0
from my readings in this great forum

I think the bluetooth stack especially in hd2 is different than other htc devices and it is has different driver

it is WIDCOMM driver, is that true?

if so that means your file isn't gonna work
 

InfX

Senior Member
May 1, 2008
885
216
73
If the device is using non-MS Bluetooth stack - there is a near-100% chance my trick is not going to work, sorry.
 

Despoo

Member
Feb 3, 2008
16
0
0
thanks for the direction

but if I want to edit the dll file

what is the best program to do so

and what is the values that I have to change

can you tell me what you have changed in your dll file
 

InfX

Senior Member
May 1, 2008
885
216
73
Just in case anyone is still interested, i've now got an HD2 and found a way to disable the bluetooth dial on it. It's a bit nasty/hackish, though. Do the following:

1) Copy the "BTTrayCE.exe" from the device to your PC using any available method.
2) Open the "BTTrayCE.exe" with any available hexeditor
3) Look for "+BLDN" and "+BVRA", replace them with something like "xxxxx"
4) Replace the file in Windows directory with the patched file using any available means.

NOTES: The "BLDN" stands for "Bluetooth - Last Dialed Number", "BVRA" stands for "Bluetooth Voice Recognition Activation", those are, in fact, the AT commands your bluetooth headset sends to the phone when you push that nasty button by mistake.