View
214
Download
0
Category
Preview:
Citation preview
BLUETOOTHOverview
Spanakis ManolisSpanakis ManolisComputer Science DepartmentComputer Science Department
CS-532CS-532
Where are my shoes?
I am King Harold I am King Harold Bluetooth who unified Bluetooth who unified
warring Viking Tribes in warring Viking Tribes in the 10the 10thth Century. In the Century. In the 2121stst Century a wireless Century a wireless Bluetooth network is Bluetooth network is
named after me.named after me.
Who is Bluetooth?Who is Bluetooth?
Harald Blaatand “Bluetooth” IIHarald Blaatand “Bluetooth” II• King of Denmark 940-981 ACKing of Denmark 940-981 AC
This is one of two Runic This is one of two Runic stones erected in his capital stones erected in his capital city of Jellingcity of Jelling• The stone’s inscription (“runes”) says:The stone’s inscription (“runes”) says:
Harald christianized the DanesHarald christianized the Danes Harald controlled the DanesHarald controlled the Danes Harald believes that devices shall Harald believes that devices shall
seamlessly communicate seamlessly communicate [wirelessly][wirelessly]
What does Bluetooth do for What does Bluetooth do for you?you?
Personal Ad-hoc Personal Ad-hoc NetworksNetworks
Cable Cable ReplacementReplacement
Landline
Data/Voice Data/Voice Access PointsAccess Points
Bluetooth SIG -- moreBluetooth SIG -- more February 1998February 1998: The Bluetooth SIG is formed: The Bluetooth SIG is formed
• promoter company group: promoter company group: Ericsson, IBM, Intel, Nokia, Toshiba
May 1998May 1998: The Bluetooth SIG goes “public”: The Bluetooth SIG goes “public” July 1999July 1999: 1.0A spec (>1,500 pages) is published: 1.0A spec (>1,500 pages) is published December 1999December 1999: ver. 1.0B is released: ver. 1.0B is released December 1999December 1999: The promoter group increases to 9: The promoter group increases to 9
• 3Com, Lucent, Microsoft, Motorola3Com, Lucent, Microsoft, Motorola February 2000February 2000: There are 1,500+ adopters : There are 1,500+ adopters
• adopters "enjoy" royalty free use of the Bluetooth adopters "enjoy" royalty free use of the Bluetooth technologytechnology
products must pass Bluetooth certificationproducts must pass Bluetooth certification
The Bluetooth program The Bluetooth program overviewoverview
BluetoothPromise
Wireless Connections Made Easy
BluetoothValues
Freedom, Simplicity, Reliability, Versatility and Security
UsageScenarios
What the technology can do
SpecificationProfiles
How to implement the usage scenarios
CertificationTesting
Interoperability
License free IP for adopters: producttesting to ensure interoperability;protect the Bluetooth brand
General DescriptionGeneral Description A cable replacement technologyA cable replacement technology Operates in the unlicensed ISM band at 2.4 Operates in the unlicensed ISM band at 2.4
GHzGHz Frequency Hopping scheme Frequency Hopping scheme (1600 hops/sec)(1600 hops/sec)
1 Mb/s symbol rate1 Mb/s symbol rate Range 10+ metersRange 10+ meters Single chip radio + baseband Single chip radio + baseband Key features:Key features:
RobustnessRobustness low complexitylow complexity low power, and low power, and low cost.low cost.
General Description (2)General Description (2) Bluetooth supportsBluetooth supports
• Synchronous & asynchronous data channels.Synchronous & asynchronous data channels. Three simultaneous synchronous voice channels, or Three simultaneous synchronous voice channels, or One channel, with asynchronous data and One channel, with asynchronous data and
synchronous voicesynchronous voice• Each voice channel supports 64 kb/s in each direction. Each voice channel supports 64 kb/s in each direction.
• The channel can support maximal 723.2 kb/s The channel can support maximal 723.2 kb/s asymmetric (and still up to 57.6 kb/s in the asymmetric (and still up to 57.6 kb/s in the return direction), or 433.9 kb/s symmetric.return direction), or 433.9 kb/s symmetric.
Bluetooth providesBluetooth provides• point-to-point connection (only two BlueTooth point-to-point connection (only two BlueTooth
units involved), or units involved), or • point-to-multipoint connection. point-to-multipoint connection.
New Application ScenariosNew Application Scenarios Data Access PointsData Access Points SynchronizationSynchronization HeadsetHeadset Conference TableConference Table Cordless ComputerCordless Computer Business Card ExchangeBusiness Card Exchange Instant PostcardInstant Postcard Computer SpeakerphoneComputer Speakerphone
Sharing Common Data…
Usage scenarios: Usage scenarios: SynchronizationSynchronization
User benefitsUser benefits Proximity synchronizationProximity synchronization Easily maintained databaseEasily maintained database CommonCommon
Wireless Freedom…
Usage scenarios: HeadsetUsage scenarios: Headset
User benefitsUser benefits Multiple device access Multiple device access Cordless phone benefitsCordless phone benefits Hand’s free operationHand’s free operation
PSTN, ISDN,PSTN, ISDN,LAN, WAN, xDSLLAN, WAN, xDSL
Remote Connections...
Usage scenarios: Data access Usage scenarios: Data access pointspoints
User benefitsUser benefits No more connectors No more connectors Easy internet accessEasy internet access Common connection experienceCommon connection experience
Application Framework and Support
Link Manager and L2CAP
Radio & Baseband
Host Controller Interface
RF
Baseband
AudioLink Manager
L2CAP
TCP/IP HID RFCOMM
Applications
DataC
ontro
l
What is Bluetooth?What is Bluetooth?
A hardware/software descriptionA hardware/software description An application frameworkAn application framework
RF
Baseband
AudioLink Manager
L2CAP
Data Con
trol
Bluetooth StackBluetooth Stack
A hardware/software/protocol descriptionA hardware/software/protocol description An application frameworkAn application framework
RFCOMMSDPIP
Applications
Single chip with RS-232,USB, or PC card interface
RF
Baseband
AudioLink Manager
L2CAP
Data Con
trol
Bluetooth Radio SpecificationBluetooth Radio Specification
RFCOMMSDPIP
Applications0 dBm
-20
-70
-91
Tx power
Rx power @ 10 cm
Rx power @ 10m
Noise floor
C/I = 21 dB
Power consciousnessPower consciousness Standby current < 0.3 mAStandby current < 0.3 mA
• 3 months(*)3 months(*) Voice mode 8-30 mAVoice mode 8-30 mA
• 75 hours75 hours Data mode average 5 mAData mode average 5 mA
(0.3-30mA, 20 kbps, 25%)(0.3-30mA, 20 kbps, 25%)• 120 hours120 hours
Low-power architectureLow-power architecture• Programmable data length (else radio sleeps)Programmable data length (else radio sleeps)• Hold and Park modes: 60 µAHold and Park modes: 60 µA
Devices connected but not participatingDevices connected but not participating Hold retains AMA address, Park releases AMA, gets PMA Hold retains AMA address, Park releases AMA, gets PMA
addressaddress Device can participate within 2 msDevice can participate within 2 ms
(*)(*)Estimates calculated with 600 mAh battery and internal amplifier, power Estimates calculated with 600 mAh battery and internal amplifier, power will vary with implementationwill vary with implementation
RadioRadio Low CostLow Cost
• Single chip radio (minimize external components)Single chip radio (minimize external components)• Today’s technologyToday’s technology• Time division duplexTime division duplex
Low PowerLow Power• Standby modes Standby modes • Sniff, Hold, ParkSniff, Hold, Park• Low voltage RFLow voltage RF
Robust OperationRobust Operation• Fast frequency hopping 1600 hops/secFast frequency hopping 1600 hops/sec• Strong interference protectionStrong interference protection
Fast ARQFast ARQ Robust access codeRobust access code Forward header correctionForward header correction
Baseband protocolBaseband protocol
StandbyStandby• Waiting to join a piconetWaiting to join a piconet
InquireInquire• Ask about radios to Ask about radios to
connect toconnect to
PagePage• Connect to a specific Connect to a specific
radioradio
ConnectedConnected• Actively on a piconet Actively on a piconet
(master or slave)(master or slave)
Park/HoldPark/Hold• Low-power connected Low-power connected
statesstates
Inquiry Page
ConnectedAMA
TransmitdataAMA
HOLDAMA
PARKPMA
T =2mstpcl
Low-powerstates
Activestates
Standby
Connectingstates
UnconnectedStandby
Detach
T =2mstpcl
T =0.6stpcl
T =2stpcl
releasesAMA address
Connection SetupConnection Setup
Inquiry - scan protocolInquiry - scan protocol• to lean about the clock to lean about the clock
offset and device address offset and device address of other nodes in proximity of other nodes in proximity
Piconet formationPiconet formationMaster
Active Slave
Parked Slave
Standby
Page - scan protocolPage - scan protocol• to establish links with to establish links with
nodes in proximitynodes in proximity
M
M
SS
S
S
P
sb
sb
P
P
The Bluetooth network topologyThe Bluetooth network topology Radio designationRadio designation
• Connected radios can be master or slaveConnected radios can be master or slave• Radios are symmetric (same radio can be Radios are symmetric (same radio can be
master or slave)master or slave)
PiconetPiconet• Master can connect to 7 simultaneous or Master can connect to 7 simultaneous or
200+ active slaves per piconet200+ active slaves per piconet• Each piconet has maximum capacity (1 Each piconet has maximum capacity (1
MSps)MSps)
• Unique hopping pattern/IDUnique hopping pattern/ID
ScatternetScatternet• High capacity systemHigh capacity system• Minimal impact with up to 10 piconets Minimal impact with up to 10 piconets
within rangewithin range• Radios can share piconets!Radios can share piconets!
The piconetThe piconet
ID a
P
M Sor
sb
A
D
C
B
E
ID b
ID a
ID c
ID d
ID e
M
P
S
S
sb
ID a
ID c
ID d
ID a
IDa
IDa
ID e
ID b
All devices in a piconet hop togetherAll devices in a piconet hop together• To form a piconet: master gives slaves its To form a piconet: master gives slaves its clockclock and and device IDdevice ID
Hopping pattern determined by Hopping pattern determined by device IDdevice ID (48-bit)(48-bit) Phase in hopping pattern determined by Phase in hopping pattern determined by ClockClock
Non-piconet devices are in standbyNon-piconet devices are in standby Piconet AddressingPiconet Addressing
• Active Member Address (AMA, 3-bits)Active Member Address (AMA, 3-bits)• Parked Member Address (PMA, 8-bits)Parked Member Address (PMA, 8-bits)
PiconetPiconet
One unit acts as the master of the One unit acts as the master of the Piconet, whereas the others acts as Piconet, whereas the others acts as slaves. slaves.
Up to seven slaves can be active.Up to seven slaves can be active. More slaves can be synchronized & More slaves can be synchronized &
locked to the master in parked state. locked to the master in parked state. The channel access for all the slaves in The channel access for all the slaves in
a piconet is controlled by the master.a piconet is controlled by the master.
ScatternetScatternet Scatternet is formed by multiple Piconets Scatternet is formed by multiple Piconets
with overlapping coverage areas.with overlapping coverage areas. Each Piconet can only have a single Each Piconet can only have a single
mastermaster Slaves can participate in different Slaves can participate in different
Piconets on a time-division multiplex Piconets on a time-division multiplex basis.basis.
A master in one Piconet can be a slave in A master in one Piconet can be a slave in another Piconet.another Piconet.
Each Piconet has its own hopping channel Each Piconet has its own hopping channel in a Scatternet.in a Scatternet.
AddressingAddressing
Bluetooth device address (BD_ADDR)Bluetooth device address (BD_ADDR)• 48 bit IEEE MAC address48 bit IEEE MAC address
Active Member address (AM_ADDR)Active Member address (AM_ADDR)• 3 bits active slave address3 bits active slave address• all zero broadcast addressall zero broadcast address
Parked Member address (PM_ADDR)Parked Member address (PM_ADDR)• 8 bit parked slave address8 bit parked slave address
Multi slot packetsMulti slot packets
m
s1
s2
625 sec
f1 f4 f5 f6
FH/TDD
Data rate depends on type of packet
Packet FormatPacket Format
Access code
Header Payload
72 bits 54 bits 0 - 2745 bits
Synchronizationidentification
Filtering
AddressPacket TypeFlow controlARQSEQNHEC
Error correction1/3 rate FEC2/3 rate FEC
ARQ scheme for the data
Smaller than an ATM cell !Notice that there is no protocol type field
Physical Link TypesPhysical Link Types Synchronous Connection Oriented (SCO) Link Synchronous Connection Oriented (SCO) Link
• slot reservation at fixed intervalsslot reservation at fixed intervals No ARQ, No CRCNo ARQ, No CRC FEC (optional)FEC (optional) 64 Kbps64 Kbps
Asynchronous Connection-less (ACL) LinkAsynchronous Connection-less (ACL) Link• Polling access methodPolling access method• ARQ, CRCARQ, CRC• FEC (optional)FEC (optional)• Symmetric data rate 108 - 433 Kbps Symmetric data rate 108 - 433 Kbps • Asymmetric data rate up to 723 KbpsAsymmetric data rate up to 723 Kbps
Error handlingError handling
Forward-error correction (FEC)Forward-error correction (FEC)• headers are protected with 1/3 rate FEC and HECheaders are protected with 1/3 rate FEC and HEC• payloads may be FEC protectedpayloads may be FEC protected
1/3 rate: simple bit repetition (SCO packets only)1/3 rate: simple bit repetition (SCO packets only) 2/3 rate: (10,15) shortened Hamming code2/3 rate: (10,15) shortened Hamming code 3/3 rate: no FEC3/3 rate: no FEC
ARQ (ACL packets onlyARQ (ACL packets only))• 16-bit CRC (CRC-CCITT) & 1-bit ACK/NACK16-bit CRC (CRC-CCITT) & 1-bit ACK/NACK• 1-bit sequence number1-bit sequence number
access code header payload
72b 54b 0-2745b
Inter piconet communicationInter piconet communication
Cell phone Cordlessheadset
Cordless
headset
Cell phone
Cordlessheadset
Cell phone
mouse
Scatternet, scenarioScatternet, scenario
How to schedule presence in two piconets?
Forwarding delay ?
Missed traffic?
RF
Baseband
AudioLink Manager
L2CAP
Data Con
trol
Link Manager ProtocolLink Manager Protocol
RFCOMMSDPIP
Applications Setup and Management of Baseband connections
• Piconet Management• Link Configuration• Security
LMP
Link Manager ProtocolLink Manager Protocol Piconet ManagementPiconet Management
• Attach and detach slavesAttach and detach slaves• Master-slave switchMaster-slave switch• Establishing SCO and ACL linksEstablishing SCO and ACL links• Handling of low power modes ( Sniff, Hold, Handling of low power modes ( Sniff, Hold,
Park)Park) Link ConfigurationLink Configuration
• packet type negotiationpacket type negotiation• power controlpower control
Security functionsSecurity functions• AuthenticationAuthentication• EncryptionEncryption
Bluetooth security featuresBluetooth security features
Fast frequency hopping (79 channels)Fast frequency hopping (79 channels) Low transmit power (range <= 10m)Low transmit power (range <= 10m) Authentication of remote deviceAuthentication of remote device
• based on link key (128 Bit)based on link key (128 Bit)• May be performed in both directionsMay be performed in both directions
Encryption of payload dataEncryption of payload data• Stream cipher algorithm (Stream cipher algorithm ( 128 Bit) 128 Bit)• Affects all traffic on a linkAffects all traffic on a link
InitializationInitialization• PIN entry by userPIN entry by user
KADA
B
C
D
M
KMC
KMAKMD
KMB
Link keys in a piconetLink keys in a piconet Link keys are Link keys are
generated via a PIN generated via a PIN entryentry
A different link key A different link key for each pair of for each pair of devices is alloweddevices is allowed
Authentication:Authentication:• Challenge-Response Challenge-Response
SchemeScheme Permanent storage Permanent storage
of link keysof link keys
Key generation and usageKey generation and usagePIN
E2
Link Key
Encryption Key
E3
Encryption
Authentication
PIN
E2
Link Key
Encryption Key
E3
User Input(Initialization)
(possibly)PermanentStorage
TemporaryStorage
Application level securityApplication level security
Builds on-top of link-level securityBuilds on-top of link-level security• creates trusted device groupscreates trusted device groups
Security levels for servicesSecurity levels for services• authorization requiredauthorization required• authentication requiredauthentication required• encryption requiredencryption required
Different or higher security requirements Different or higher security requirements could be added:could be added:• Personal authenticationPersonal authentication• Higher security levelHigher security level• Public keyPublic key
L2CAPL2CAP
RF
Baseband
AudioLink Manager
L2CAP
Data
RFCOMMSDPIP
Applications Logical Link Control andAdaptation Protocol
• L2CAP provides• Protocol multiplexing• Segmentation and Re-assembly• Quality of service negotiation• Group abstraction
L2CAP Packet Format (CO)L2CAP Packet Format (CO)
Length DCID Payload
15 bits 16 bits 0 - 64K bytes
Baseband packets Minimum MTU is 48 bytes !default is 672 bytes !
L2CAP Packet Format (CL)L2CAP Packet Format (CL)
Length DCID Payload
15 bits 16 bits 0 - 64K bytes
Baseband packets
PSM
RF
Baseband
AudioLink Manager
L2CAP
Data
Serial Port Emulation using Serial Port Emulation using RFCOMMRFCOMM
RFCOMMSDPIP
Applications
Serial Port emulation on top of a packet oriented link• Similar to HDLC• For supporting legacy apps
RF
Baseband
AudioLink Manager
L2CAP
Data
Bluetooth Service Discovery Bluetooth Service Discovery ProtocolProtocol
RFCOMMSDPIP
Applications
Usage of SDPUsage of SDP Establish L2CAP connection to remote Establish L2CAP connection to remote
devicedevice Query for servicesQuery for services
• search for specific class of service, orsearch for specific class of service, or• browse for servicesbrowse for services
Retrieve attributes that detail how to Retrieve attributes that detail how to connect to the serviceconnect to the service
Establish a separate (non-SDP) connection Establish a separate (non-SDP) connection to user the serviceto user the service
RF
Baseband
AudioLink Manager
L2CAP
Data
RFCOMMSDPIP
Applications
GOALS
IP over Bluetooth V 1.0IP over Bluetooth V 1.0
Internet access using Internet access using cell phonescell phones
Connect PDA devices & Connect PDA devices & laptop computers to the laptop computers to the Internet via LAN access Internet via LAN access pointspoints
LAN access point profileLAN access point profile
SecurityAuthenticationAccess control
Efficiencyheader and data compression
Auto-configurationLower barrier for deployment
Access Point
Baseband
LMP
L2CAP
RFCOMM
PPP
IP
Software architecture goalsSoftware architecture goals Support the target usage scenariosSupport the target usage scenarios Support a variety of hardware Support a variety of hardware
platformsplatforms Good out of box user experienceGood out of box user experience
• Enable legacy applicationsEnable legacy applications• Utilize existing protocols where Utilize existing protocols where
possiblepossible
L2CAP
OBEXWAP
Printing
Host Controller Interface
vCard/vCalWAE
Still Image
Audio
TCP/UDP RFCOMM
TCS
HID
IPService Discovery
Bluetooth protocolsBluetooth protocols
PPP
Bluetooth protocolsBluetooth protocols Host Controller Interface (HCI)Host Controller Interface (HCI)
• provides a common interface between the provides a common interface between the Bluetooth host and a Bluetooth moduleBluetooth host and a Bluetooth module
Interfaces in spec 1.0: USB; UART; RS-232Interfaces in spec 1.0: USB; UART; RS-232
Link Layer Control & Adaptation (L2CAP)Link Layer Control & Adaptation (L2CAP)• A simple data link protocol on top of the A simple data link protocol on top of the
basebandbaseband connection-oriented & connectionlessconnection-oriented & connectionless protocol multiplexingprotocol multiplexing segmentation & reassemblysegmentation & reassembly QoS flow specification per connection (channel)QoS flow specification per connection (channel) group abstractiongroup abstraction
Bluetooth protocolsBluetooth protocols
Service Discovery Protocol (SDP)Service Discovery Protocol (SDP)• Defines a service record formatDefines a service record format
Information about services provided by Information about services provided by attributesattributes
Attributes composed of an ID (name) and a Attributes composed of an ID (name) and a valuevalue
IDs may be universally unique identifiers IDs may be universally unique identifiers (UUIDs)(UUIDs)
• Defines an inquiry/response protocol for Defines an inquiry/response protocol for discovering servicesdiscovering services
Searching for and browsing servicesSearching for and browsing services
Bluetooth protocolsBluetooth protocols
RFCOMM (based on GSM TS07.10)RFCOMM (based on GSM TS07.10)• emulates a serial-port to support a large base of legacy emulates a serial-port to support a large base of legacy
(serial-port-based) applications(serial-port-based) applications• allows multiple “ports” over a single physical channel allows multiple “ports” over a single physical channel
between two devicesbetween two devices
Telephony Control Protocol Spec (TCS)Telephony Control Protocol Spec (TCS)• call control (setup & release)call control (setup & release)• group management for gateway serving multiple group management for gateway serving multiple
devicesdevices
Legacy protocol reuseLegacy protocol reuse• resuse existing protocols, e.g., IrDA’s OBEX, or WAP for resuse existing protocols, e.g., IrDA’s OBEX, or WAP for
interacting with applications on phonesinteracting with applications on phones
Interoperability & ProfilesInteroperability & Profiles
ProfilesP
roto
cols
Applications Represents default Represents default
solution for a usage solution for a usage modelmodel
Vertical slice through Vertical slice through the protocol stackthe protocol stack
Basis for Basis for interoperability and interoperability and logo requirementslogo requirements
Each Bluetooth device Each Bluetooth device supports one or more supports one or more profilesprofiles
ProfilesProfiles Generic Access ProfileGeneric Access Profile
• Service Discovery Application ProfileService Discovery Application Profile• Serial Port ProfileSerial Port Profile
Dial-up Networking ProfileDial-up Networking Profile Fax ProfileFax Profile Headset ProfileHeadset Profile LAN Access Profile (using PPP)LAN Access Profile (using PPP) Generic Object Exchange ProfileGeneric Object Exchange Profile
• File Transfer ProfileFile Transfer Profile• Object Push ProfileObject Push Profile• Synchronization ProfileSynchronization Profile
• TCS_BIN-based profilesTCS_BIN-based profiles Cordless Telephony ProfileCordless Telephony Profile Intercom ProfileIntercom Profile
RFCOMM
ACL SCOBluetooth Baseband
LMP
L2CAP
IrOBEX
IrMC
Synchronization profileSynchronization profile
Research challengesResearch challenges
Techniques for link formation
Routing over scatternets
Resource Discovery
Plug-n-play applications
s
s
m
s
s
s
s
m
s
s
m
s
s
s
m
s
cell phone Palmpilot
cable modem
PC
keyboard mouse
head set
Cordless base
Internet
Will the current solutions for each layerwork in this environment?
cell phone Palmpilot
cable modem
PC
keyboard mouse
head set
Cordless base
Techniques for Scatternets Formation
What is different in this scenario ?What is different in this scenario ?
Dynamic network
Isolated network
Simple devices
Small, multi-hop networks
Connection oriented, low-power link technology
Applications ---> services ----> routing ----> link creationApplications ---> services ----> routing ----> link creation
cell phone Palmpilot
cable modem
PC
keyboard mouse
head set
cordless bases
s
m
s
s
s
s
m
s
s
m
s
s
s
m
s
Service discoveryService discovery
cell phone Palmpilot
cable modem
PC
keyboard mouse
head set
cordless bases
s
m
s
s
s
s
m
s
s
m
s
s
s
m
s
Need solutions for address allocation,
name resolution, service discovery
Existing solutions in the Internet
depend on infrastructure
Judicious use of Multicast/broadcast
is needed
Routing over ScatternetsRouting over Scatternets
x7
x8x6x4
x3
x5
y2
x2
x1 y1
Nodes must co-operate to forward
packets (MANET style protocols)
Forwarding at Layer 2 or Layer 3?
Bridging or routing ?
What interface should be exported to the above layer?
Better coupling with the service discovery layer is needed
SummarySummary Bluetooth is a global, RF-based (ISM band: Bluetooth is a global, RF-based (ISM band:
2.4GHz), short-range, connectivity technology 2.4GHz), short-range, connectivity technology & solution for portable, personal devices& solution for portable, personal devices• it is not just a radioit is not just a radio• create piconets on-the-fly (appr. 1Mbps)create piconets on-the-fly (appr. 1Mbps)
piconets may overlap in time and space for high aggregate piconets may overlap in time and space for high aggregate bandwidthbandwidth
The Bluetooth spec comprisesThe Bluetooth spec comprises• a HW & SW protocol specificationa HW & SW protocol specification• usage case scenario profiles and interoperability usage case scenario profiles and interoperability
requirementsrequirements
1999 Discover Magazine Awards finalist1999 Discover Magazine Awards finalist To learn more: To learn more: http://www.bluetooth.comhttp://www.bluetooth.com
Recommended