Although in our technological world everything today seems possible,
as far as I know true Bluetooth-to-Bluetooth-over-IP has never been implemented.
I will try and explain the difficulties, that although not insurmountable,
are the cause for this situation.
Bluetooth itself is is a wireless technology standard for exchanging data over
short distances. It is usually used for device-to-device connections and involves
the notion of Pairing, for security purposes. The Bluetooth protocol is extremely
versatile and can be used for a many purposes. Its popularity arises from the fact
that it operates at frequencies that are globally unlicensed (but not unregulated).
True Bluetooth-to-Bluetooth-over-IP would require two Bluetooth devices to pair
over IP. This is not the same as, for example, two persons using Skype to talk
over the Internet via Bluetooth headsets, because the headsets are paired
with their computers and not with one another.
Here are some excerpts from the Wikipedia article OSI model :
Layer 1: Physical Layer
The physical layer of Parallel SCSI operates in this layer, as do the
physical layers of Ethernet and other local-area networks, such as
Token Ring, FDDI, ITU-T G.hn, and IEEE 802.11 (Wi-Fi), as well as
personal area networks such as Bluetooth and IEEE 802.15.4.
Layer 4: Transport Layer
An example of a transport-layer protocol in the standard Internet
stack is Transmission Control Protocol (TCP), usually built on top of
the Internet Protocol (IP).
TCP and UDP are transport level 4 protocols, whereas Bluetooth is a lower
physical level 1 protocol. Thus you could use TCP or UDP on top of Bluetooth, just as you use TCP and UDP on top of Ethernet, but the opposite is much harder.
The Bluetooth protocol stack includes its own transport protocols: L2CAP and RFCOMM, where RFCOMM links use the L2CAP layer. You can work some IP tunneling over Bluetooth encapsulating UDP packets over RFCOMM links.
Using pure OSI terminology, it is impossible, is even a contradiction of terms,
to use a layer 1 protocol over layer 4.
Practically speaking, we could imagine a software-written virtual adapter that would
declare itself to Linux on the client side as a physical Bluetooth device
and talk over IP to another such virtual Bluetooth device on the server-side Linux. But the complexity involved in emulating OSI layers, and the programming
effort that is required for implementing the very versatile Bluetooth protocol
and its master-slave architecture,
make creating such a general implementation a very demanding exercise that is
unlikely to happen, as there is currently no demand for such software.
3I doubt you’ll be able to use USB over the Internet, mainly because of latency issues. – Daniel B – 2015-11-08T18:07:42.463
Is it really USB? The USB specifications call for things which just can't be provided of IP, like physical connector specifications, power, etc. – Ron Maupin – 2015-11-08T18:11:28.340
@RonMaupin Of course, it’s just about what happens between the USB controller and the CPU. Even so, provided the latency is low enough (LAN), software using these devices won’t be able to see the difference. – Daniel B – 2015-11-09T13:46:19.927
2I actually just had an idea with usbip. Could it be possible to use usbip with a USB Bluetooth dongle? (it's a crazy idea, I know) – Léo Lam – 2015-11-11T08:50:54.000
@Leo Lam. Well, technically that'd be 'bt over ip' masquerading as 'usb over ip'. ;) – rinfinity – 2015-11-11T11:34:49.337