Is it possible to send AT commands over BLE?


I want to accept, end and reject incoming calls when my Android phone is connected to my bluetooth enabled device over BLE. I understand that this is possible by sending AT commands over HFP.

Is it possible to send AT commands over BLE as well?


The answer is likely “no” in the way you’re probably looking for.

BLE works radically differently than HFP, so when you think of “sending AT commands” it doesn’t really look like that. BLE is made up of numerous characteristics that you can update in parallel. You could pick a custom characteristic and write AT commands to it from a bluetooth device, but you’d need an app on the other side to read them from that specific characteristic.

So if you wanted a device to tell the phone to hang up, you’d need an app running that listened to a characteristic and when it saw the AT command, would terminate the call (if that’s possible on Android for an app; I don’t actually know). You’d need to write custom software on the bluetooth device to write that characteristic. This basic approach does work (I work on a product that sends our own version of AT commands this way), but it isn’t integrated into the OS in any useful way. BLE isn’t designed for call control.