`0.95a
`
`Page 1 of 59
`Document No
`X.Y.000/0.0
`N.B.
`Confidential
`
`BLUETOOTH DOC 2001-01-31
`e-mail address
`Prepared
`Arun Ayyagari
`aruna@microsoft.com
`
`Date / Year-Month-Day
`
`Approved
`Draft
`
`Bluetooth ESDP for UPnP
`
`
`
`
`
`
`
`
`
`
`Abstract:
`This document is a Bluetooth Extended Service
`Discovery Profile (ESDP) for Universal Plug and
`PlayTM (UPnPTM). The profile defines how devices
`with Bluetooth wireless communications can use
`the Bluetooth Service Discovery Protocol (SDP)
`initially to discover other devices that support
`UPnP services and retrieve information about
`these services. This profile further defines how a
`device with Bluetooth wireless communications
`can support UPnP services over the Bluetooth
`protocol stack using the Logical Link Control and
`Adaptation Protocol (L2CAP) layer and/or an
`Internet Protocol (IP) stack using either the
`Personal Area Network (PAN) Profile or the Local
`Area Network (LAN) Access Profile.
`
` 01 February 2001
`
`1
`
`TOYOTA EX. 1117
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Revision History
`
`
`Revision
`
`Date
`
`Comments
`
`Page 2 of 59
`
`
`0.40
`
`0.49
`
`0.50
`
`0.51
`
`0.70
`
`0.71
`
`0.90
`
`0.91
`
`0.92
`
`0.93
`
`0.95
`
`0.95a
`
`
`
`June 02, 2000
`
`Initial draft.
`
`June 29, 2000
`
`Incorporate comments from ESDP face-to-face meeting
`on 12th and 13th June 2000.
`
`July 20, 2000
`
`Incorporate review comments.
`
`August 11, 2000
`
`Incorporate review comments.
`
`August 24, 2000
`
`August 24, 2000
`
`Incorporate comments from ESDP face-to-face meeting
`on 17th and 18th August 2000.
`
`Include reference for LAN Access Profile test
`specification.
`
`October 04, 2000
`
`Incorporate comments from ESDP face-to-face meeting
`on 3rd and 4th October 2000.
`
`November 07, 2000
`
`Incorporate review comments.
`
`November 21, 2000
`
`Incorporate review comments.
`
`December 18, 2000
`
`Incorporate comments from ESDP face-to-face meeting
`on 4th December 2000.
`
`January 12, 2001
`
`Incorporate review comments.
`
`January 31, 2001
`
`Incorporate review comments.
`
`
`
`
`
`Introduction
`
`01 February 2001
`
`2
`
`
`
`Page 3 of 59
`
`
`Microsoft Corporation
`
`Microsoft Corporation
`
`3Com
`
`IBM Corporation
`
`IBM Corporation
`
`Ericsson Mobile Communications AB
`
`Motorola
`
`Intel Corporation
`
`Nokia Mobile Phones
`
`Nokia Mobile Phones
`
`Nokia Mobile Phones
`
`Toshiba
`
`Motorola
`
`Ericsson Mobile Communications AB
`
`Philips Consumer Electronics
`
`Nokia Mobile Phones
`
`Axis Communications
`
`Toshiba
`
`Sailesh Rachabathuni
`
`Philips Consumer Communications
`
`Toshiki Kizu
`
`Graham Hamilton
`
`Om Sharma
`
`Philip Mooney
`
`Willy Sagefalk
`
`Ramesh Caushik
`
`Toshiba
`
`Sun Microsystems
`
`Microsoft Corporation
`
`Lucent
`
`Axis Communications
`
`Intel Corporation
`
`Introduction
`
`01 February 2001
`
`3
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Contributors
`
`Arun Ayyagari
`
`Salim AbiEzzi
`
`Ned Plasson
`
`Brent Miller
`
`Chatschik Bisdikian
`
`Johannes Elg
`
`Dale Farnsworth
`
`Srikanth Kambhatla
`
`Markus Schetelig
`
`Thomas Mueller
`
`Franklin Reynolds
`
`Toru Homma
`
`Brian Redding
`
`Gerrit Slot
`
`Thierry Walrant
`
`Markku Tamski
`
`Ted Hartzell
`
`Shigeo Kohno
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Page 4 of 59
`
`
`Disclaimer and copyright notice
`THIS DRAFT DOCUMENT IS PROVIDED "AS IS" WITH NO WARRANTIES
`WHATSOEVER,
`INCLUDING
`ANY
`WARRANTY
`OF
`MERCHANTABILITY,
`NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY
`OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE. All
`liability, including liability for infringement of any proprietary
`rights, relating to use of information in this document is
`disclaimed. No license, express or implied, by estoppel or otherwise,
`to any intellectual property rights are granted herein.
`This document is an intermediate draft for comment only and is
`subject to change without notice. Readers should not design products
`based on this document.
`
`Copyright © 1999, 2000 Telefonaktiebolaget LM Ericsson, International Business Machines
`Corporation,
`Intel Corporation, Nokia Corporation, Toshiba Corporation, Microsoft
`Corporation, Lucent Technologies Inc., Motorola, Inc. and 3COM Corporation.
`
`*Third-party brands and names are the property of their respective owners.
`
`Introduction
`
`01 February 2001
`
`4
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Contents
`
`Page 5 of 59
`
`
`1
`
`2
`
`3
`4
`
`5
`
`6
`
`Introduction ....................................................................................................8
`1.1 Scope .....................................................................................................8
`1.2 Definitions ..............................................................................................9
`1.3 Profile Dependencies ........................................................................10
`1.3.1 L2CAP-based Solution........................................................10
`1.3.2
`IP-based Solution.................................................................10
`1.3.2.1
`IP-based Solution using PAN Profile ................10
`1.3.2.2
`IP-based Solution using LAN Access Profile ..10
`1.4 Symbols and Conventions ................................................................11
`Profile Overview..........................................................................................12
`2.1 Profile Stack........................................................................................12
`2.1.1 L2CAP-based Solution........................................................13
`2.1.2
`IP-based Solution.................................................................14
`2.1.2.1
`IP-based Solution using PAN Profile ................14
`2.1.2.2
`IP-based Solution using LAN Access Profile ..15
`2.2 User Requirements and Scenarios.................................................15
`2.2.1 L2CAP-based Solution........................................................15
`2.2.2
`IP-based Solution.................................................................16
`2.2.2.1
`IP-based Solution using PAN Profile ................16
`2.2.2.2
`IP-based Solution using LAN Access Profile ..16
`2.3 Profile Fundamentals.........................................................................16
`2.3.1 L2CAP-based Solution........................................................17
`2.3.2
`IP-based Solution.................................................................18
`2.3.2.1
`IP-based Solution using PAN Profile ................18
`2.3.2.2
`IP-based Solution using LAN Access Profile ..19
`Conformance ................................................................................................21
`Compatibility ................................................................................................22
`4.1 VersionNumberList Attribute ............................................................22
`Test Strategy ................................................................................................23
`5.1
`L2CAP-based Solution......................................................................23
`5.2
`IP-based Solution ...............................................................................23
`5.2.1
`IP-based Solution using PAN Profile ................................23
`5.2.2
`IP-based Solution using LAN Access Profile ..................24
`
`List of Test Purposes (TP)........................................................................25
`6.1
`L2CAP-based Solution......................................................................25
`6.1.1 Connection Management ...................................................25
`6.1.1.1 Establish Connection...........................................25
`
`Introduction
`
`01 February 2001
`
`5
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Page 6 of 59
`
`
`6.1.1.2 Terminate Connection.........................................25
`6.1.1.3 Flow Control..........................................................25
`6.1.2 Multicast Emulator ...............................................................26
`6.1.2.1 Establish Multicast Connections........................26
`6.1.2.2 Terminate Multicast Connections......................26
`IP-based Solution ...............................................................................26
`6.2.1
`IP-based Solution using PAN Profile ................................26
`6.2.2
`IP-based Solution using LAN Access Profile ..................26
`
`6.2
`
`7
`
`8
`
`9
`
`7.2
`
`7.2.2
`
`Application Layer ........................................................................................27
`7.1
`L2CAP-based Solution......................................................................27
`7.1.1 Discover and Advertise UPnP Services ...........................27
`7.1.2 Operation of UPnP services...............................................27
`IP-based Solution ...............................................................................28
`7.2.1
`IP-based Solution using PAN Profile ................................28
`7.2.1.1 Discover IP Support .............................................29
`7.2.1.2 Discover and Advertise UPnP Services ...........29
`7.2.1.3 Operation of UPnP Services..............................30
`IP-based Solution using LAN Access Profile ..................30
`7.2.2.1 Discover IP Support .............................................30
`7.2.2.2 Discover and Advertise UPnP Services ...........31
`7.2.2.3 Operation of UPnP Services..............................32
`Service Discovery .......................................................................................33
`8.1 SDP Service Records ........................................................................33
`8.1.1 L2CAP-based Solution........................................................34
`8.1.2
`IP-based Solution.................................................................35
`8.1.2.1
`IP-based Solution using PAN Profile ................35
`8.1.2.2
`IP-based Solution using LAN Access Profile ..37
`L2CAP.............................................................................................................39
`9.1
`L2CAP-based Solution......................................................................39
`9.1.1 Channel Types .....................................................................39
`9.1.2 Signalling ...............................................................................39
`9.1.3 Configuration Options .........................................................39
`9.1.3.1 Maximum Transmission Unit (MTU).................40
`9.1.3.2 Flush Time-out .....................................................40
`9.1.3.3 Quality of Service.................................................40
`9.1.4 Connection Management ...................................................40
`9.1.4.1 Number of Connections......................................41
`9.1.4.2 Byte and Bit Order ...............................................41
`9.1.4.3 Protocol Data Unit Format..................................42
`9.1.4.4 Segmentation and Reassembly.........................46
`9.1.4.5 Flow Control and Error Recovery for Data
`PDUs......................................................................46
`
`Introduction
`
`01 February 2001
`
`6
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Page 7 of 59
`
`
`9.1.4.6 Flow Control and Error Recovery for Window
`Size Control PDUs ...............................................48
`9.1.5 Mapping of HTTP Messages to L2CAP ...........................49
`9.1.5.1 Addressing Format..............................................50
`9.1.5.2 Multicast Emulator ...............................................51
`9.1.6 UPnP Service Transactions and L2CAP Connection
`Lifetime..................................................................................52
`IP-based Solution ...............................................................................52
`9.2.1
`IP-based Solution using PAN Profile ................................52
`9.2.2
`IP-based Solution using LAN Access Profile ..................52
`
`9.2
`
`10
`
`TCP/UDP/IP ...................................................................................................53
`10.1 L2CAP-based Solution......................................................................53
`10.2
`IP-based Solution ...............................................................................53
`10.2.1 IP-based Solution using PAN Profile ................................53
`10.2.1.1 TCP/UDP/IP Version 4 ........................................53
`10.2.1.2 TCP/UDP/IP Version 6 ........................................54
`10.2.2 IP-based Solution using LAN Access Profile ..................55
`10.2.2.1 TCP/UDP/IP Version 4 ........................................55
`10.2.2.2 TCP/UDP/IP Version 6 ........................................55
`References ....................................................................................................57
`11
`Appendix A - Informational...................................................................................58
`Overview of Bridge Device Operation ........................................................58
`
`
`
`Introduction
`
`01 February 2001
`
`7
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`1 Introduction
`
`1.1 Scope
`
`Page 8 of 59
`
`
`Bluetooth Service Discovery Protocol (SDP) enables the discovery of
`available services in a Bluetooth system. SDP provides the mechanism for a
`device with Bluetooth wireless communications to locate services offered by
`other such devices. Since Logical Link Control and Adaptation Protocol
`(L2CAP) does not provide robust networking functions, it limits the discovery
`of services to the active devices in a given Bluetooth piconet. In a networked
`computing environment, it is desirable for devices to be able to discover
`services beyond their current Bluetooth piconet to extend the functionality of
`the device. In addition, extended service discovery could enable devices with
`Bluetooth wireless technology to control remote resources on other devices
`(that may or may not employ Bluetooth wireless communications) within and
`outside their piconets.
`
`Universal Plug & Play (UPnP) is a distributed, open networking architecture
`that is designed to enable simple, ad hoc communication among distributed
`devices and services. UPnP leverages TCP/IP and the web model to provide
`seamless, media independent, peer-to-peer device connectivity and control.
`UPnP is a computing, electronics, telephony, and networking industry initiative
`designed to enable connectivity among standalone devices and Personal
`Computers (PCs) from many different vendors. These UPnP characteristics
`make it ideally suitable as a Bluetooth ESDP that is intended to provide an
`enhanced mechanism for service discovery and control within Bluetooth
`environments.
`
`This profile defines two approaches to implementing UPnP within a Bluetooth
`system:
`
`• The first approach (“L2CAP -based solution”) shall focus on layering UPnP
`services over the L2CAP layer of the Bluetooth protocol stack for use by
`devices that lack IP support.
`
`• The second approach (“IP-based solution”) shall focus on layering UPnP
`services over the Bluetooth Personal Area Networking (PAN) Profile and
`the Bluetooth Local Area Network (LAN) Access Profile; these profiles
`define IP support in the Bluetooth protocol stack.
`
`While outside the scope of this profile specification, both approaches might
`also include bridge devices that could provide interconnectivity between
`devices with Bluetooth wireless communications, both with and without IP
`support, and devices that provide UPnP services across the bridge to
`
`Introduction
`
`01 February 2001
`
`8
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`enhance service discovery and control functionality. Appendix A provides an
`overview of the bridge device operation.
`
`Page 9 of 59
`
`
`1.2 Definitions
`
`L2CAP-based solution: By an L2CAP-based solution we mean UPnP over
`the L2CAP layer of the Bluetooth protocol stack. This configuration does not
`include an IP stack and the UPnP messages are transmitted directly over a
`connection-oriented L2CAP channel between peer devices with Bluetooth
`wireless communications.
`
`IP-based solution: By an IP-based solution we mean UPnP over an IP stack
`provided by either PAN or LAN Access profiles. In this configuration the UPnP
`messages are transmitted appropriately over TCP or UDP layers on top of the
`IP stack provided by the PAN or LAN Access profiles.
`
`Control point: The control point consists of a set of software modules that
`enables communication with UPnP devices (defined below) [1]. A control point
`initiates discovery and communication with UPnP devices, and receives
`events from UPnP devices. Control points are typically implemented on
`devices that have a user interface. This user interface is used to interact with
`UPnP devices over the network.
`
`UPnP device: The UPnP device consists of a set of software modules that
`enables communication with a UPnP control point [1]. UPnP devices respond
`to discovery requests, accept incoming communications from control points
`and may send events to control points.
`
`Local Device (LocDev): A LocDev is the device that initiates the service
`discovery process. A LocDev must contain at least the client portion for
`Bluetooth SDP. A LocDev contains the service discovery application
`(SrvDscApp) used by a user to initiate discoveries and display the results of
`these discoveries.
`
`Remote Device(s) (RemDev(s)): A RemDev is any device that participates in
`the service discovery process by responding to the service inquiries generated
`by a LocDev. A RemDev must contain at least the server portion for Bluetooth
`SDP. A RemDev contains a service record database, which the server portion
`of SDP consults to create responses to service discovery requests.
`
`Introduction
`
`01 February 2001
`
`9
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`1.3 Profile Dependencies
`1.3.1 L2CAP -based Solution
`
`Page 10 of 59
`
`
`The L2CAP-based solution is dependent upon the Generic Access Profile (as
`are all profiles). While there is no direct dependency upon the Service
`Discovery Application Profile (SDAP), that profile does provide guidance
`relevant to the SDP discovery facets of the ESDP for UPnP.
`
`1.3.2 IP-based Solution
`
`The IP-based solution is dependent upon at least one of the IP profiles (PAN
`or LAN Access), as described below.
`
`1.3.2.1 IP-based Solution using PAN Profile
`
`Figure 1.1 depicts the IP -based solution’s dependencies on the PAN profile.
`The IP-based solution using PAN profile is dependent upon the PAN profile
`that in turn is dependent on other profiles.
`
`PAN Profile
`
`IP Solution
`
`
`
`Figure 1.1: Bluetooth Profiles -- IP-based Solution using PAN
`
`1.3.2.2 IP-based Solution using LAN Access Profile
`
`Figure 1.2 depicts the IP -based solution’s dependencies on the LAN Access
`profile. The IP-based solution using LAN Access profile is dependent upon the
`LAN Access profile, which in turn is dependent upon the Serial Port and
`Generic Access profiles; it also has the same relationship to SDAP noted
`above for the L2CAP-based solution.
`
`Generic Access Profile
`
`Serial Port Profile
`
`LAN Access Profile
`
`IP Solution
`
`Figure 1.2: Bluetooth Profiles – IP-based Solution using LAN Access Profile
`
`
`
`Introduction
`
`01 February 2001
`
`10
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`1.4 Symbols and Conventions
`
`Page 11 of 59
`
`
`This profile uses the symbols and conventions specified in Section 1.2 of the
`Generic Access Profile [4] or [5].
`
`Introduction
`
`01 February 2001
`
`11
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`2 Profile Overview
`
`2.1 Profile Stack
`
`Page 12 of 59
`
`
`The protocols for communication between UPnP control points and devices as
`defined by the UPnP Device Architecture [1] are shown in Figure 2.11.
`However, by definition, the protocols referred to as UPnP in this profile are
`shown in Figure 2.2. This definition of the UPnP protocol stack does not
`include the UDP/TCP and IP layers described in [1].
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SSDP/GENA
`
`GENA
`
`SOAP
`
`HTTPMU
`
`HTTPU
`
`HTTP
`
`UDP
`
`TCP
`
`IP
`
`Figure 2.1: UPnP Device Architecture Protocol Stack
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SSDP/GENA
`
`GENA
`
`SOAP
`
`HTTPMU
`
`HTTPU
`
`HTTP
`
`
`
`
`
`Figure 2.2: UPnP Protocol Stack
`
`UPnP Device Control Protocols are contained at the highest layer of the UPnP
`device architecture protocol stack. Device control protocols transfer UPnP
`vendor-specific information about the device and information defined by the
`UPnP Forum working committees. Messages from the UPnP Device Control
`Protocols are hosted in UPnP-specific protocols at the UPnP Device
`Architecture layer. In turn, the messages from the UPnP Device Architecture
`layer are formatted using Simple Service Discovery Protocol (SSDP), General
`
`1 Note that the UPnP Device Architecture [1] is evolving and hence the protocol stack in
`Figure 2.1 and Figure 2.2 may differ from the representation in future versions of the UPnP
`Device Architecture.
`
`Profile Overview
`
`01 February 2001
`
`12
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`Event Notification Architecture (GENA), and Simple Object Access Protocol
`(SOAP) and delivered via HTTP, either through multicast (HTTPMU) or
`unicast (HTTPU) variety or standard HTTP. A subset of the overall UPnP
`protocol stack depicted in Figure 2.1 and Figure 2.2 is used for UPnP
`networking functions consisting of discovery, description, control, eventing,
`and presentation. Details of the functions and the protocols used are
`described in the UPnP Device Architecture [1].
`
`Page 13 of 59
`
`
`2.1.1 L2CAP -based Solution
`
`Figure 2.3 shows the Bluetooth protocols and supporting entities for the
`L2CAP-based solution.
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SSDP/GENA
`
`GENA
`
`SOAP
`
`HTTPMU
`
`HTTPU
`
`HTTP
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SOAP
`
`GENA
`
`SSDP/GENA
`
`HTTP
`
`HTTPU
`
`HTTPMU
`
`Multicast
`Emulator
`
`Multicast
`Emulator
`
`Connection Management
`
`Connection Management
`
`SDP
`(client)
`
`SDP
`(server)
`
`CO
`
`L2CA layer
`
`CO
`
`L2CA layer
`
`LM
`
`LM
`
`ACL
`
`ACL
`
`Baseband
`
`LocDev
`
`Baseband
`
`RemDev
`
`
`
`Figure 2.3: L2CAP-based Solution
`
`The UPnP protocol stack in the LocDev or the RemDev may either be a UPnP
`control point or a UPnP device. UPnP uses the connection-oriented transport
`service in L2CAP, which in turn uses the baseband asynchronous
`connectionless (ACL) links to carry UPnP messages over the air-interface.
`Discovery of UPnP services is performed by SDP. Service discovery entails
`discovering Bluetooth services in proximity after establishing an L2CAP
`connection. One of the services that can be discovered using Bluetooth SDP
`is the capability of a device to enable or even support directly other discovery
`protocols, including UPnP.
`
`Profile Overview
`
`01 February 2001
`
`13
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`2.1.2 IP-based Solution
`
`Page 14 of 59
`
`
`2.1.2.1 IP-based Solution using PAN Profile
`
`Figure 2.4 shows the Bluetooth protocols and supporting entities for the IP-
`based solution using the PAN profile.
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SSDP/GENA
`
`GENA
`
`SOAP
`
`SOAP
`
`GENA
`
`SSDP/GENA
`
`HTTPMU
`
`HTTPU
`
`UDP
`
`HTTP
`
`TCP
`
`HTTP
`
`TCP
`
`HTTPU
`
`HTTPMU
`
`UDP
`
`PAN Profile
`
`PAN Profile
`
`SDP
`
`LMP
`
`L2CAP
`
`Baseband
`
`LocDev
`
`SDP
`
`LMP
`
`L2CAP
`
`Baseband
`
`RemDev
`
`
`
`Figure 2.4: IP-based Solution using PAN Profile
`
`UPnP uses the TCP and UDP transport services over the IP stack provided by
`the PAN profile. Initial discovery for the availability of UPnP services is
`performed using SDP. Following the discovery of UPnP services within
`LocDev and RemDev, further networking functions such as discovery,
`description, control, eventing, and presentation can be performed using the
`UPnP services.
`
`In another scenario it may be possible that the peer device with IP support
`may not have UPnP services but may be able to reach another device that
`does provide UPnP services (perhaps in another piconet or across a bridge
`device). In this case, once IP connectivity between the devices is established
`the discovery of UPnP services can be performed using the UPnP service
`discovery mechanisms SSDP and GENA.
`
`Note that the discovery of UPnP via SDP only implies the availability of UPnP
`services on the immediate peer device. Lack o f UPnP on an immediate peer
`device that has IP support does not imply that the device cannot avail itself of
`UPnP services (since an IP stack can enable use of UPnP). In such cases the
`device can still perform UPnP service discovery using SSDP and GENA.
`Hence discovery of UPnP via SDP may assist in expediting the discovery of
`desired UPnP services.
`
`Profile Overview
`
`01 February 2001
`
`14
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Page 15 of 59
`
`
`2.1.2.2 IP-based Solution using LAN Access Profile
`
`Figure 2.5 shows the Bluetooth protocols and supporting entities for IP-based
`solution using the LAN Access profile
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SSDP/GENA
`
`GENA
`
`SOAP
`
`HTTPMU
`
`HTTPU
`
`UDP
`
`HTTP
`
`TCP
`
`IP
`
`PPP
`
`PPP Networking
`
`PPP
`
`SDP
`
`RFCOMM
`
`RFCOMM
`
`SDP
`
`L2CAP
`
`LMP
`
`Baseband
`
`LocDev
`
`LAN
`
`L2CAP
`
`LMP
`
`Baseband
`
`UPnP Device Control Protocols
`
`UPnP Device Architecture
`
`SOAP
`
`GENA
`
`SSDP/GENA
`
`HTTP
`
`TCP
`
`HTTPU
`
`HTTPMU
`
`UDP
`
`IP
`
`LAN
`
`LAN Access Point
`
`RemDev
`
`Figure 2.5: IP-based Solution using LAN Access Profile
`
`UPnP uses the TCP and UDP transport services over the IP support provided
`by the LAN Access profile. In this scenario SDP may not be used to discover
`UPnP services (although it is likely to be used to discover support for the LAN
`Access profile). Discovery of UPnP services across the LAN Access Point can
`be performed using the UPnP service discovery mechanisms SSDP and
`GENA.
`
`2.2 User Requirements and Scenarios
`
`UPnP Device Architecture [1] defines the protocols and procedures that shall
`be used by devices to use UPnP networking functions. This profile implies the
`availability of UPnP networking functions using an L2CAP-based solution
`and/or an IP-based solution.
`
`2.2.1 L2CAP -based Solution
`
`The following scenarios are covered by this profile:
`
`• Two devices with the L2CAP-based solution establish a peer-to-peer
`connection. Once connected, the devices can avail themselves of all the
`services provided by UPnP networking functions.
`
`• A device with an L2CAP-based solution establishes a peer-to-peer
`connection with a device supporting UPnP services. This peer device may
`be the bridge device if it supports UPnP services or a d evice supporting
`UPnP services that can be reached via a bridge device. The bridge device
`may also proxy UPnP services available across the bridge. Once
`
`Profile Overview
`
`01 February 2001
`
`15
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`
`Page 16 of 59
`
`
`connected, the devices can avail themselves of all the services provided
`by UPnP networking functions.
`
`2.2.2 IP-based Solution
`
`2.2.2.1 IP-based Solution using PAN Profile
`
`The following scenarios are covered by this profile:
`
`• Two devices with the IP-based solution using PAN profile establish a peer-
`to-peer IP connectivity. Once connected, the devices can avail themselves
`of all the services provided by UPnP networking functions.
`
`• A device with an IP-based solution using PAN profile establishes peer-to-
`peer IP connectivity with a device that may not support UPnP but does
`provide IP access to other devices that provide UPnP s ervices. Once
`connected, the device with the IP-based solution using PAN profile can
`avail itself of UPnP services so long as the other device remains
`connected to the devices offering UPnP services.
`
`• A device with an IP-based solution using PAN profile es tablishes a peer-to-
`peer connection with a device supporting UPnP services on or across a
`bridge device. The bridge device shall proxy UPnP services available
`across the bridge. Once connected, the devices can avail themselves of all
`the services provided by UPnP networking functions.
`
`2.2.2.2 IP-based Solution using LAN Access Profile
`
`The following scenario is covered by this profile:
`
`• A device with an IP-based solution using LAN Access profile establishes
`peer-to-peer IP connectivity with a LAN Access Point that may not support
`UPnP but does provide IP access to other devices that provide UPnP
`services. Once connected, the device with the IP-based solution using
`LAN Access profile can avail itself of UPnP services so long as the LAN
`Access Point remains connected to the devices offering UPnP services.
`
`2.3 Profile Fundamentals
`
`Before any two devices with Bluetooth wireless communications can
`communicate with each other the following steps may be required:
`
`• The device needs to be powered-on and initialised. Initialisation may
`require providing a PIN for the creation of a link key, for device
`authentication and data encryption.
`
`Profile Overview
`
`01 February 2001
`
`16
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`• Discovery of another device’s BD_ADDR via the inquiry process, and the
`paging of (an)other device(s) to establish a connection.
`
`Page 17 of 59
`
`
`This profile does not require the use of authentication and/or encryption. If any
`of these procedures are used by any of the devices involved, service
`discovery and UPnP will be performed only on the subset of devices that pass
`authentication and security requirements imposed by each other and that
`have compatible ESDP for UPnP present in each device.
`
`2.3.1 L2CAP -based Solution
`
`A brief summary of the interactions in establishing peer-to-peer UPnP
`networking connectivity between devices supporting UPnP using L2CAP -
`based solution is given below. Subsequent sections in this profile provide
`more detail for each of the following steps.
`
`1. Discover another device’s BD_ADDR via inquiry process and paging of
`other device(s).
`
`2. If necessary, establish Bluetooth links with these devices and using SDP
`find a device that provides UPnP services using the L2CAP-based
`solution. The LocDev may either query multiple RemDevs to determine
`whether or not they provide UPnP services using L2CAP-based solution,
`or it may stop after encountering a RemDev that provides the desired
`services. This is an implementation detail and hence is beyond the scope
`of this profile.
`
`3. Select a RemDev that provides UPnP services using L2CAP-based
`solution and establish a baseband physical link to the selected device if
`one does not exist.
`
`4. The devices establish a peer-to-peer L2CAP connection.
`
`5. Peer-to-peer UPnP networking connectivity is established.
`
`6. At any time either of the devices may terminate the L2CAP connection
`thereby also terminating the peer-to-peer UPnP networking connection. If
`however the peer-to-peer UPnP networking connection is terminated the
`underlying L2CAP connection may or may not also be terminated. The
`management of the L2CAP connection by the connection management
`layer is an implementation detail and hence is beyond the scope of this
`profile.
`
`Profile Overview
`
`01 February 2001
`
`17
`
`
`
`Bluetooth ESDP for UPnP
`Confidential Bluetooth SIG
`
`2.3.2 IP-based Solution
`
`Page 18 of 59
`
`
`2.3.2.1 IP-based Solution using PAN Profile
`
`A brief summary of the interactions in establishing peer-to-peer UPnP
`networking connectivity between a device supporting UPnP services using IP -
`based solutions and a device across an IP network that supports UPnP
`services is given below. Note that in this case the device(s) within radio range
`of the device supporting UPnP services using the IP -based solution shall
`provide IP support using PAN profile but may not provide UPnP services.
`Subsequent sections in this profile provide more detail for each of the
`following steps.
`
`1. Discover another device’s BD_ADDR via inquiry process and paging of
`other device(s).
`
`2. If necessary, establish Bluetooth links with these devices and usin g SDP
`find a RemDev that provides IP support using the PAN profile; also using
`SDP determine whether or not that device also provides UPnP services.
`The LocDev may either query all RemDevs or it may stop after
`encounter