Android 8.1 enabled in-band ringing by default; this means that your Bluetooth headset/speaker will play your selected ringtone (rather than a generic one built-into the Bluetooth device), but unfortunately the ringtone also mirrors the ringtone volume set on your phone. If you have your phone on silent, you won't hear the incoming call on your headset.
That's dumb, right? I submitted a
bug report about this during the 8.1 beta. It was closed as "working as intended."
Please be sure to use
Settings > System > About phone > Send feedback about this device to let Google know that it's silly to silence calls on Bluetooth.
The good news is that I've got a workaround! You'll need to first head to
Settings > System > About phone and tap on the
Build number field 7 times. You'll be prompted to authenticate to confirm enabling Developer Options. You can then go to
Settings > System > Developer options, scroll down to the
Networking section, and
disable the
Enable in-band ringing option. Then reboot, reconnect your headset or speaker, and you should be able to mute your phone while still being alerted to incoming calls on your Bluetooth accessory.
But seriously
please do send feedback to Google. That's the only way we can let them know this needs to be changed.