Bluetooth SDP Protocol
Bluetooth SDP Protocol
Joe Decuir
Microsoft
Chair, Seattle COM-19
[email protected]
General Deployment
iDEN - Nextel - 9.6 Packet and
Circuit-Switched
Trials Start
Limited Deployment
cdma2000 1XRTT Trials
153 Kbps - Packet Start
General Deployment
19.2 Rx/9.6 Tx 57.6 Kbps
GSM GPRS Technologies Trials
Start
38.4 Rx/9.6 Tx
Limited Deployment
EDGE
Trials Start
384 Kbps Packet
General Deployment
Local-Area Wireless
Local Area Network
1999 2000 2001 2002 2003
Technology Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
Hiperlan
Initial
23.5 Mbps
Shipments
High Performance Radio LAN
IrDA
4Mbps
Books, tablets,
handheld PCs
Phones, Pagers
PC companions
A Connected Home
1394
STB
IrDA
802.11
Ethernet/1394b
Internet
Bluetooth
PLC
xDSL
Cable
Satellite Phone
POTS, ISDN Residential
Gateway
A Connected Small Office
Phone
Small 802.11
Business Bluetooth
Internet
Server
Edge Server
Enterprise
• Information at
GPRS
GPRS
IrDA
your fingertips
– At meetings, in the office, on the
road
– Reliable, secure, multimedia
GPRS
LAN
Bluetooth
Proxy Server
An ISP Connected Public Space
• Discovery of proximity
services (flight schedules at
Bluetooth
Phone
airport, mall directories, …)
GPRS
IrDA
Proxy Server
Wireless Architecture
Requirements
• “Just works”
• Always connected
• Unified transport: IP
• Mobility
• Unified security model
• Adhoc
• QoS
• Performance
Windows Wireless Architecture
Dial-up Network
WinSock 2.0 Routing streaming
Networking
TAPI 3.0 Networking
APIs APIs (DirectX)
APIs
RSVP
Network Networking
UPnP 802.1X DNS DHCP
Location Services
NetBT
Packet classifier
NDIS WAN
Ethernet TR 802.11 Affected by
PPTP Async Bluetooth RNDIS 802.1D Wireless
Just Works
• No configuration
– Especially when roaming
• CDPD
– Configure Network Equipment Identifier
• 802.11
– Configure network name and security keys
• Per location
• Bluetooth
– Configure PIN numbers
• Per device
What is an adhoc network?
• No network infrastructure at all
– E.g. back to back Ethernet
– Automatic IP addressing when no DHCP server available
– NetBT broadcast for adhoc name resolution
• Interconnections not managed
– Multiple interconnections to destinations
– Loops in the network
• Home network
– ICS contains DNS proxy and DDNS support for the adhoc home
network
• Service Discovery Protocols
– SSDP protocol enables UPnP discovery
– SDP protocol enables Bluetooth wireless technology discovery
– IrLAP protocol enables IrDA discovery
IrDA Applications
• File transfer
– Integrated into shell
• Image exchange from camera
• Dial-up networking via cellphone
• Printing
• Synchronization
– E.g. PDA or cell phone to PC
Bluetooth Applications
• Subset of IrDA
• File transfer
– Integrated into IrDA ftp transfer
• Dial-up Networking via cellphone
• Synchronization
• IrDA and Bluetooth applications are tied to
particular media
– Do not inter-operate
Bluetooth Overview
• Genesis
• Bluetooth architectural overview
• Bluetooth Program update
What Does Bluetooth Wireless Technology Do
For You?
Landline
Cable
Replacement
Data/Voice
Access Points
Personal Ad-hoc
Networks
What does Bluetooth Do?
• Cable Replacement
Bluetooth Genesis
• Ericsson was a participant in GSM 7.07, a
standard for connecting PCs and mobile
devices through cell phones offering circuit
mode data and fax services.
• This called for adding serial cables to cell
phones: cumbersome, easy to loose, too
many connections.
• Ericsson, a radio company, decided to
replace short cables with short range radios
Who is Bluetooth?
Harald Blaatand “Bluetooth” II
King of Denmark 940-981
Son of Gorm the Old (1st King of Denmark) and
Thyra Danebod (daughter of King Ethelred of
England)
This is one of two Runic stones
erected in his capitol city of
Jelling (central Jutland)
This is the front of the stone depicting the
chivalry of Harald.
The stone’s inscription (“runes”) say:
Harald christianized the Danes
Harald controlled Denmark and Norway
Harald thinks notebooks and cellular phones
should seamlessly communicate
What is Bluetooth?
Applications
TCP/IP HID RFCOMM Application Framework
and Support
Baseband
Radio & Baseband
RF
Latest Version on
• A hardware description Bluetooth Website:
• An application framework www.Bluetooth.com
What is Bluetooth?
Software
Applications
TCP/IP HID RFCOMM
Data
L2CAP
Audio
Link Manager LMP
Baseband
RF
• A hardware description
Modules
• An application framework
Testing to Specification T e c h n o l o g y
Certification
T e c h n o l o g y
Audio A Ctrl
U Service Lower Interface Certification Class
Link Manager
D
I
LM
L2CAP
LMP Basic Layer
2
Certification Audio
Type
Basic Layer Certification Classes Audio
Class
Data Data
L CAP LM BT.LM-A BT.LM-D BT.L2CAP-A BT.L2CAP-D
O
A LM BB BT.BB-A BT.BB-D BT.LM-A BT.LM-D
BB Lower Interface Certification Class
U BBService RF BT.RF BT.RF BT.BB-A BT.BB-D
BasebandD
I
LM
RF
RF Type
Air -
Audio
Class -
Data
A unit that supports both audio and data gets the certification class
2
L CAP
Example: BT.BB-A,D LM BT.LM-A BT.LM-D
A and D.
BT.RF
Audio
2
BT.L CAP-A
BT.RF
Data
BT.L2CAP-D
O LM BB BT.BB-A BT.BB-D BT.LM-A BT.LM-D
BB
BB RF BT.RF BT.RF BT.BB-A BT.BB-D
RF RF
RF Air - -
A unit that supports both audio and data gets the certification class A and D.
Example: BT.BB-A,D
BT.RF BT.RF
One
Master Slot Three Slot Packet
Packet Master
One
Slave Slot
Packet Slave
One
Slot
Packet
625 us
625 us
One Slot
One Slot
S
sb
P S S
The Piconet IDa
IDd IDd
IDa D IDa P
A M
IDe
IDe
sb
E
IDa
IDb B IDb S IDa
IDc C IDc S
• Inquire
– Ask about radios to connect
to Ttypical=2s
– Connect to a States
specific radio
Ttypical=0.6s
• Connected Transmit
Connected
– Actively on a piconet Active
States
data
AMA
AMA
(master or slave)
• Park/Hold/Sniff Ttypical=2 ms Ttypical=2 ms Ttypical=2 ms
– Low Power
connected states Releases
Low Power PARK SNIFF HOLD
AMA
PMA AMA AMA
States Address
Packet Types/Data Rates
Packet Types Data Rates (Kbps)
SEGMENT SCO link ACL link symmetric
TYPE TYPE asymmetric
Compact
FLASH
Card
L2CAP
Protocols
• Basis for
interoperability and
logo requirements
• Each Bluetooth device
supports one or Profiles
more profiles
Bluetooth Profile Specifications
• K:1 Generic Access • K:8 Fax
• K:2 Service Discovery • K:9 LAN Access
• K:3 Cordless • K:10 Generic Object
Telephony Exchange
• K:4 Intercom
• K:11 Object Push
• K:5 Serial Port
• K:12 File Transfer
• K:6 Headset
• K:7 Dial Up • K:13 Synchronization
Networking
Bluetooth Program Update
• 1.0 specifications published in July of 1999
– Core technology specs and Profile requirements
– Currently at 1.1
• Bluetooth membership exceeds 2,000 companies!
– Full list of member companies on www.bluetooth.com Web site
• Bluetooth program on track for products available in 2000
– Products available this year and early 2001
– Next big step is qualification program, to ensure interoperability
• Bluetooth qualification program started
• Bluetooth wireless technology is the basis for the IEEE
802.15.1 standard work
• Bluetooth SIG has expanded
– New contracts and membership types
The SIG Formally Known As
Bluetooth ; )
• New Contracts
– Adopter/Early Adopter = Early Adopter
• Early Adopter Contract
– Early Adopter in working group = Associate
• Early Adopter Contract, Associate Amendment
• Open IP license to Bluetooth wireless technology
– Original “Foundation Specifications”
– New technology in and around the 12 specification
working groups
• Only need to sign 1 contract to use any Bluetooth wireless
technology (the new one)
Future Directions for Bluetooth
1. Bluetooth Second Generation Radio
2. Bluetooth Personal Area Networking
3. Bluetooth in and around the Car
4. Bluetooth “Wake-up”
5. Bluetooth Human Interface Devices (HID)
6. Bluetooth Audio/Visual
7. Bluetooth ISM interference/Interoperability
8. Bluetooth Printing
9. Bluetooth Still Image
10. Bluetooth Extended Service Discovery Protocols
11. Bluetooth Local Positioning
12. Bluetooth UDI
Summary
• Bluetooth is a global, RF-based (ISM: 2.4GHz band),
short-range, connectivity technology and solution for
portable, personal devices
– It is not just a radio
– Create piconets on-the-fly (approximately 1Mbps)
• Piconets may overlap in time and space for high
aggregate bandwidth
• The Bluetooth spec comprises
– A hardware and software protocol specification
– Usage case scenario profiles and
interoperability requirements
• To learn more: http://www.bluetooth.com
Windows 2000 Bluetooth Stack
• Bluetooth Architecture in Windows
– Goals
– Components of the Stack
– Functionality
• Opportunities for IHVs and ISVs
– Applications
– Services
– Devices
High Level Goals
• PC work with all devices
– Bluetooth Devices as PC peripherals
– Bluetooth Devices as PC companions
– Bluetooth Devices bridge to network
resources through a PC
• Easy to configure and operate
• Extensible architecture
– Platform for third parties to add value
Scenarios
• Device configuration:
– Discovery
– Bonding
• Syncing and transfer through OBEX
– Files
– Pictures
– Vcards
• Dial up Networking
– Cell as modem
– Null Modem for Peer to peer
• Generic RFComm applications
– Non-OBEX synchronization
– Other serial-type applications
Technical Requirements
• Bluetooth 1.0 Type II device classification supported
• Required profiles
• Bus Management Infrastructure
– Device and radio configuration
– Control panels
– System Trays
• Extensible framework for value adds
– Devices
– Profiles
– Bus mgmt software
– RFComm applications
– Object Exchange and special object handling
– RAS and TAPI over Unimodem
Bluetooth Stack Diagram
OBEX.DLL TAPI
WinSock2 UNIMODEM.TSP
SDP/Advisor
MODEM.SYS
AFD.SYS BTHMODEM.SYS
BTHPORT.SYS
Stack Components
• BthPort
– L2Cap / HCI
– Hardware abstraction: Serial, USB…
– Enumeration of Found Bound Services
• SDP/Management UI
– Bus management:
• User notification of newly discovered devices
• User assisted Configuration and Bonding
• Configuration of radio
– Local Service Exposure and Publication
Stack Components
• RFCOMM
– RFComm Profile
– TDI interface for WinSock (AFD)
– Bus enumeration for Dial Up Networks
• BthModem (a WDM modem)
• OBEX.DLL
– Object Exchange 1.2
– Bus Agnostic
BthPort
• Support Currently Defined buses:
– USB
– Serial (if hardware available)
– UART/16550
– Possible PCI HCI (investigating in committee)
• Plug and Play events
• Bluetooth Request Blocks
Service Discovery Protocol
• Provide a “builder” interface to easily create a service
record
• Kernel mode
– Client drivers can submit a list of UUIDs to search for on all
newly discovered devices or initiate a SDP search outside of
device discovery
– BThPort will search for all the services in the browse group
hierarchy
• User mode
– Initiate searches
– Browse service records
Management UI
• Present user with devices in range and bound devices
• Allows the user to easily change the relationship with remote
devices
• Provide unobtrusive PIN and authorization notifications
• UI is accessible from third-party applications for a standard
user experience
• Advanced features
– Filter devices based on COD or address
– Local radio settings
– Manage power policies
OBEX
• Full OBEX 1.2 implementation:
– Put
– Get
– SetPath
– Definable transactions
• COM API
• Extensible to other media
and transports
OBEX
OBEX.DLL
SDP WINSOCK 2
RFCOMM
Modem.SYS OBEX
BTHSER.SYS WINSOCK/AFD/TDI