`
`Prepared By
`BARB
`
`
`
`Date / Year-Month-Day
`2015-12-15
`E-mail Address
`barb-main@bluetooth.org
`
`Approved
`Adopted
`
`Revision
`v1.3.1
`
`Document No
`FTP_SPEC
`N.B.
`
`
`FILE TRANSFER PROFILE
`
`Abstract:
`
`This application profile defines the requirements for Bluetooth®
`devices necessary for the support of the File Transfer usage model.
`The requirements are expressed in terms of end-user services, and
`by defining the features and procedures that are required for
`interoperability between Bluetooth devices in the File Transfer usage
`model.
`
`
`
`CELLSPIN
`EX. 2031, Page 1
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
` Revision History
`
`Revision
`Version 1.1
`D12r00
`
`Date
`22 February 2001
`15 August 2005
`
`page 2 of 35
`
`Description
`First record for this revision history.
`Reformatted document and converted source document to
`Microsoft Word.
`Editorial updates
`
`D12r01
`
`D12r02
`D12r03
`D12r04
`D12r05
`D12r06
`D12r07
`D12r07
`
`D12r08
`
`D12r09
`
`D12r10
`
`D12r11
`
`D12r12
`
`D12r13
`D12r14
`D12r15
`D12r169
`D12r17
`D2r18
`
`D2r19
`D2r20
`
`D2r21
`D2r22
`V12r00
`D13r00
`D13r01
`
`D13r02
`
`V13
`d131
`v131
`
`13 September
`2005
`Editorial updates
`31 October 2005
`10 November 2005 Editorial updates
`30 November 2005 Editorial updates
`20 March 2006
`Input reviewer’s comments
`11 July 2007
`Change must to shall, updated disclaimer,
`01 Oct 2007
`Update CR
`10 July 2009
`Initial version implementing functionality in OBEX Application
`Enhancements DIPD
`Moved L2CAP AMP text into informative appendix; other
`changes from WG feedback.
`Updated contributors list and incorporated additional changes
`from WG
`Changed text describing optional use or action commands
`based on WG input. Incorporated changes for errata 2496.
`Minor formatting edits.
`Editorial changes based on WG input and fixed incorrect
`values in tables. Removed section on SDP PDUs and other
`edit to conform with same changes in OPP spec.
`Minor edits, Added SESSION to OBEX operation table.
`Added new section to provide a blanket statement about
`OBEX response codes.
`Incorporated changes post BARB review of OPP spec
`Edit pass to fix typos
`Cleanup for BARB review
`Incorporated BARB comments
`Incorporated additional BARB comments
`Fixed formatting error, spelling mistakes and consistency in
`terminology
`Incorporated additional BARB comments
`Incorporated OBEX WG comments and added/corrected
`some references and formatting.
`Add comments from BS OPP review in Appendix
`Include BARB review comments
`Adopted by the Bluetooth SIG Board of Directors
`ESR05: E3944, Table 5.1
`Address reviewers’ (KK, TB, TH) comments; Change
`Connect operation->CONNECT operation
`Default Value version number change to 0x0103
`Value changed from 1.2 to 0x0103
`Adopted by the Bluetooth SIG Board of Directors
`24 July 2012
`19 November 2015 ESR09 (integrated E4143 and E5557)
`15 December 2015 Adopted by the Bluetooth SIG BoD
`
`16 July 2009
`
`23 July 2009
`
`24 July 2009
`
`20 August 2009
`
`21 August 2009
`
`17 December 2009
`11 January 2010
`17 January 2010
`16 February 2010
`19 February 2010
`19 February 2010
`
`11 March 2010
`3 June 2010
`
`7 June 2010
`18 June 2010
`26 August 2010
`23 January 2012
`26 March 2012
`
`30 April 2012
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 2
`
`
`
`page 3 of 35
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`Contributors
`
`Name
`
`Sherry Smith
`
`Victor Zhodzishsky
`
`Ole Heftholm-Jensen
`
`Company
`
`Broadcom
`
`Broadcom
`
`CSR
`
`David Suvak
`
`Extended Systems
`
`Apratim Purakayastha
`
`Aron Walker
`
`Jon Inouye
`
`Mike Foley
`
`Stephane Bouet
`
`Riku Mettälä
`
`Kevin Hendrix
`
`Tim Howes
`
`James Scales
`
`Steve Rybicki
`
`Greg Burns
`
`Len Ott
`
`Patrik Olsson
`
`IBM Corporation
`
`IBM Corporation
`
`Intel Corporation
`
`Microsoft Corporation
`
`Nokia Mobile Phones
`
`Nokia Mobile Phones
`
`Sybase
`
`Nokia Corporation
`
`Nokia Mobile Phones
`
`PumaTech
`
`Qualcomm
`
`Socket Mobile
`
`Telefonaktiebolaget LM Ericsson
`
`Shaun Astarabadi
`
`Katsuhiro Kinoshita
`
`Toshiba Corporation
`
`Toshiba Corporation
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 3
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`DISCLAIMER AND COPYRIGHT NOTICE
`
`page 4 of 35
`
`This disclaimer applies to all draft specifications and final specifications adopted by the Bluetooth SIG Board of Directors (both of
`which are hereinafter referred to herein as a Bluetooth “Specification”). Your use of this Specification in any way is subject to your
`compliance with all conditions of such use, and your acceptance of all disclaimers and limitations as to such use, contained in this
`Specification. Any user of this Specification is advised to seek appropriate legal, engineering or other professional advice regarding
`the use, interpretation or effect of this Specification on any matters discussed in this Specification.
`
`Use of Bluetooth Specifications and any related intellectual property is governed by the Promoters Membership Agreement among
`the Promoter Members and Bluetooth SIG (the “Promoters Agreement”), certain membership agreements between Bluetooth SIG and
`its Adopter and Associate Members, including, but not limited to, the Membership Application, the Bluetooth Patent/Copyright License
`Agreement and the Bluetooth Trademark License Agreement (collectively, the “Membership Agreements”) and the Bluetooth
`Specification Early Adopters Agreements (1.2 Early Adopters Agreements) among Early Adopter members of the unincorporated
`Bluetooth SIG and the Promoter Members (the “Early Adopters Agreement”). Certain rights and obligations of the Promoter Members
`under the Early Adopters Agreements have been assigned to Bluetooth SIG by the Promoter Members.
`
`Use of the Specification by anyone who is not a member of Bluetooth SIG or a party to an Early Adopters Agreement (each such
`person or party, a “Member”) is prohibited. The use of any portion of a Bluetooth Specification may involve the use of intellectual
`property rights ("IPR"), including pending or issued patents, or copyrights or other rights. Bluetooth SIG has made no search or
`investigation for such rights and disclaims any undertaking or duty to do so. The legal rights and obligations of each Member are
`governed by the applicable Membership Agreements, Early Adopters Agreement or Promoters Agreement. No license, express or
`implied, by estoppel or otherwise, to any intellectual property rights are granted herein.
`
`Any use of the Specification not in compliance with the terms of the applicable Membership Agreements, Early Adopters Agreement
`or Promoters Agreement is prohibited and any such prohibited use may result in (i) termination of the applicable Membership
`Agreements or Early Adopters Agreement and (ii) liability claims by Bluetooth SIG or any of its Members for patent, copyright and/or
`trademark infringement claims permitted by the applicable agreement or by applicable law.
`
`THE SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF
`MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, SATISFACTORY QUALITY, OR
`REASONABLE SKILL OR CARE, OR ANY WARRANTY ARISING OUT OF ANY COURSE OF DEALING, USAGE, TRADE
`PRACTICE, PROPOSAL, SPECIFICATION OR SAMPLE.
`
`Each Member hereby acknowledges that products equipped with the Bluetooth wireless technology ("Bluetooth Products") may be
`subject to various regulatory controls under the laws and regulations applicable to products using wireless non licensed spectrum of
`various governments worldwide. Such laws and regulatory controls may govern, among other things, the combination, operation, use,
`implementation and distribution of Bluetooth Products. Examples of such laws and regulatory controls include, but are not limited to,
`airline regulatory controls, telecommunications regulations, technology transfer controls and health and safety regulations. Each
`Member is solely responsible for the compliance by their Bluetooth Products with any such laws and regulations and for obtaining any
`and all required authorizations, permits, or licenses for their Bluetooth Products related to such regulations within the applicable
`jurisdictions. Each Member acknowledges that nothing in the Specification provides any information or assistance in connection with
`securing such compliance, authorizations or licenses. NOTHING IN THE SPECIFICATION CREATES ANY WARRANTIES, EITHER
`EXPRESS OR IMPLIED, REGARDING SUCH LAWS OR REGULATIONS.
`
`ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS OR FOR
`NONCOMPLIANCE WITH LAWS, RELATING TO USE OF THE SPECIFICATION IS EXPRESSLY DISCLAIMED. To the extent not
`prohibited by law, in no event will Bluetooth SIG or its Members or their affiliates be liable for any damages, including without limitation,
`lost revenue, profits, data or programs, or business interruption, or for special, indirect, consequential, incidental or punitive damages,
`however caused and regardless of the theory of liability, arising out of or related to any furnishing, practicing, modifying, use or the
`performance or implementation of the contents of this Specification, even if Bluetooth SIG or its Members or their affiliates have been
`advised of the possibility of such damages. BY USE OF THE SPECIFICATION, EACH MEMBER EXPRESSLY WAIVES ANY CLAIM
`AGAINST BLUETOOTH SIG AND ITS MEMBERS OR THEIR AFFILATES RELATED TO USE OF THE SPECIFICATION.
`
`If this Specification is an intermediate draft, it is for comment only. No products should be designed based on it except solely to verify
`the prototyping specification at SIG sponsored IOP events and it does not represent any commitment to release or implement any
`portion of the intermediate draft, which may be withdrawn, modified, or replaced at any time in the adopted Specification.
`
`Bluetooth SIG reserves the right to adopt any changes or alterations to the Specification it deems necessary or appropriate.
`
`Copyright © 2001-2015. The Bluetooth word mark and logos are owned by Bluetooth SIG, Inc. All copyrights in the Bluetooth
`Specifications themselves are owned by Ericsson AB, Lenovo (Singapore) Pte. Ltd., Intel Corporation, Microsoft
`Corporation, Apple Inc., Nokia Corporation and Toshiba Corporation. Other third-party brands and names are the property
`of their respective owners.
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 4
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`Document Terminology
`
`page 5 of 35
`
`The Bluetooth SIG has adopted portions of the IEEE Standards Style Manual, which
`dictates use of the words ``shall,’’ ``should,’’ ``may,’’ and ``can,’’ in the development of
`documentation, as follows:
`
` The word shall is used to indicate mandatory requirements strictly to be followed in
`order to conform to the standard and from which no deviation is permitted (shall
`equals is required to).
` The use of the word must is deprecated and shall not be used when stating
`mandatory requirements; must is used only to describe unavoidable situations.
` The use of the word will is deprecated and shall not be used when stating mandatory
`requirements; will is only used in statements of fact.
` The word should is used to indicate that among several possibilities one is
`recommended as particularly suitable, without mentioning or excluding others; or
`that a certain course of action is preferred but not necessarily required; or that (in the
`negative form) a certain course of action is deprecated but not prohibited (should
`equals is recommended that).
` The word may is used to indicate a course of action permissible within the limits of
`the standard (may equals is permitted).
` The word can is used for statements of possibility and capability, whether material,
`physical, or causal (can equals is able to)
`
`
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 5
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`Contents
`
`page 6 of 35
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`8
`9
`
`1.1
`1.2
`1.3
`1.4
`
`2.1
`2.2
`2.3
`2.4
`
`3.1
`3.2
`3.3
`
`4.1
`4.2
`4.3
`4.4
`
`5.1
`5.2
`5.3
`5.4
`5.5
`5.6
`
`Introduction .................................................................................................................................... 9
`Scope ......................................................................................................................................... 9
`Bluetooth Profile Structure ......................................................................................................... 9
`OBEX-Related Specifications Used by this Profile.................................................................. 10
`Symbols and Conventions ....................................................................................................... 10
`1.4.1 Requirement Status Symbols ........................................................................................... 10
`1.4.2 Signaling diagram conventions ......................................................................................... 11
`Profile Overview ........................................................................................................................... 12
`Profile Stack............................................................................................................................. 12
`Configurations and Roles ........................................................................................................ 12
`User Requirements and Scenarios ......................................................................................... 13
`Profile fundamentals ................................................................................................................ 14
`User Interface Aspects ................................................................................................................ 15
`File Transfer Mode Selection, Servers .................................................................................... 15
`Function Selection, Clients ...................................................................................................... 15
`Application Usage .................................................................................................................... 16
`Application Layer ......................................................................................................................... 17
`Feature Overview .................................................................................................................... 17
`Folder Browsing ....................................................................................................................... 17
`Object Transfer ........................................................................................................................ 18
`Object Manipulation ................................................................................................................. 19
`OBEX ............................................................................................................................................. 21
`OBEX Operations Used ........................................................................................................... 21
`Figure 5.1: OBEX OperationsOBEX Headers ......................................................................... 21
`OBEX Response Codes Used................................................................................................. 22
`Initialization of OBEX ............................................................................................................... 22
`Establishment of an OBEX Connection ................................................................................... 22
`Browsing Folders ..................................................................................................................... 22
`5.6.1 Pulling a Folder Listing Object .......................................................................................... 22
`5.5.2 Setting the Current Folder (Forward) ................................................................................ 23
`5.6.2 Setting the Current Folder (Backward) ............................................................................. 24
`5.6.3 Setting the Current Folder (Root) ...................................................................................... 24
`Pushing Objects ...................................................................................................................... 25
`5.7.1 Pushing Files ..................................................................................................................... 25
`5.7.2 Pushing Folders ................................................................................................................ 25
`5.7.3 Creating New Folders ....................................................................................................... 26
`Pulling Objects ......................................................................................................................... 26
`5.8.1 Pulling Files ....................................................................................................................... 26
`5.8.2 Pulling Folders .................................................................................................................. 26
`Manipulating Objects ............................................................................................................... 27
`5.8.1 Deleting Files .................................................................................................................... 27
`5.9.1 Deleting Folders ................................................................................................................ 27
`5.9.2 Moving/Renaming Files and Folders ................................................................................ 27
`5.9.3 Copying Files and Folders ................................................................................................ 28
`5.9.4 Settings Permission on Files and Folders ........................................................................ 29
`5.10 Disconnection .......................................................................................................................... 29
`5.11
`Single Response Mode ........................................................................................................... 29
`5.12 Reliable Sessions .................................................................................................................... 30
`Service Discovery ........................................................................................................................ 31
`SD Service Records ................................................................................................................ 31
`GOEP Interoperability Requirements ......................................................................................... 32
`Normative References ................................................................................................................. 33
`Appendix A: FTP over AMP (Informative) .................................................................................. 34
`
`5.7
`
`5.8
`
`5.9
`
`6.1
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 6
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`page 7 of 35
`
`9.1
`9.2
`
`FTP using OBEX over L2CAP ................................................................................................. 34
`FTP using OBEX over RFCOMM ............................................................................................ 34
`Appendix B: Acronyms and Abbreviations ............................................................................... 35
`
`10
`
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 7
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`Foreword
`
`page 8 of 35
`
`This document, together with the Generic Object Exchange profile and the Generic
`Access profile form the File Transfer usage model.
`
`Interoperability between devices from different manufacturers is provided for a specific
`service and usage model if the devices conform to a Bluetooth SIG-defined profile
`specification. A profile defines a selection of messages and procedures (generally
`termed capabilities) from the Bluetooth SIG specifications, and gives an unambiguous
`description of the air interface for specified service(s) and usage model(s).
`
`All defined features are process-mandatory. This means that if a feature is used, it is
`used in a specified manner. Whether the provision of a feature is mandatory or optional
`is stated separately for both sides of the Bluetooth air interface.
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 8
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`1 Introduction
`
`1.1 Scope
`
`page 9 of 35
`
`The File Transfer Profile (FTP) defines the requirements for the protocols and
`procedures that shall be used by the applications providing the File Transfer usage
`model. This profile uses the Generic Object Exchange profile (GOEP) [7] to define the
`interoperability requirements for the protocols needed by the applications. The most
`common devices using these usage models can be (but are not limited to) PCs,
`notebooks, and PDAs.
`
`The scenarios covered by this profile are the following:
`
` Usage of a Bluetooth device (e.g. a notebook PC) to browse an object store (file
`system) of another Bluetooth device. Browsing involves viewing objects (files and
`folders) and navigating the folder hierarchy of another Bluetooth device. For
`example, one PC browsing the file system of another PC.
`
` A second usage is to transfer objects (files and folders) between two Bluetooth
`devices. For example, copying files from one PC to another PC.
`
` A third usage is for a Bluetooth device to manipulate objects (files and folders) on
`another Bluetooth device. This includes deleting objects, and creating new folders.
`
`1.2 Bluetooth Profile Structure
`
`In Figure 1.1, the Bluetooth profile structure and the dependencies of the profiles are
`depicted. A profile is dependent upon another profile if it re-uses parts of that profile, by
`implicitly or explicitly referencing it. Dependency is illustrated in the figure: a profile has
`dependencies on the profile(s) in which it is contained – directly and indirectly. For
`example, the File Transfer profile is dependent on Generic Object Exchange, Serial Port
`(for compatibility with devices implementing earlier versions of this profile), and Generic
`Access profiles.
`
`FTP
`
`GOEP v2.0
`
`IrOBEX
`v1.5
`
`GOEP v1.1
`
`IrOBEX
`v1.2
`
`SPP
`
`L2CAP
`
`RFCOMM
`
`IrDA Interoperability v2.0
`
`IrDA Interoperability v1.1
`
`
`Figure 1.1: Bluetooth Profiles
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 9
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`page 10 of 35
`
`1.3 OBEX-Related Specifications Used by this Profile
`
`This profile refers to the following two specifications:
`
`1. IrDA Interoperability Specification v2.0 [8].
`
`
`
` Defines how the applications can function over both Bluetooth wireless
`technology and IrDA.
`
` Specifies how OBEX is mapped over RFCOMM, L2CAP, and TCP.
`
`2. Generic Object Exchange Profile Specification v2.0 [7].
`
` Generic interoperability specification for the application profiles using OBEX over
`L2CAP
`
` Defines the interoperability requirements of the lower protocol layers (e.g.
`Baseband and LMP) for the application profiles.
`
`1.4 Symbols and Conventions
`
`1.4.1 Requirement Status Symbols
`
`In this document (especially in the profile requirements tables in Annex A), the following
`symbols are used:
`
`
`
`
`
`
`
`
`
`‘M’ for mandatory to support (used for capabilities that shall be used in the profile);
`
`‘O’ for optional to support (used for capabilities that can be used in the profile);
`
`‘C’ for conditional support (used for capabilities that shall be used in case a certain
`other capability is supported);
`
`‘X’ for excluded (used for capabilities that may be supported by the unit but shall
`never be used in the profile);
`
`
`
`‘N/A’ for not applicable (in the given context it is impossible to use this capability).
`
`Some excluded capabilities are capabilities that, according to the relevant Bluetooth
`specification, are mandatory. These are features that may degrade operation of devices
`following this profile. Therefore, these features shall never be activated while a unit is
`operating as a unit within this profile.
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 10
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`1.4.2 Signaling diagram conventions
`
`The following arrows are used in diagrams describing procedures:
`
`page 11 of 35
`
`
`
`Figure 1.2 : Arrows Used in Signaling Diagrams
`
`In Figure 1.2, the following cases are shown: PROC1 is a sub-procedure initiated by B.
`PROC2 is a sub-procedure initiated by A. PROC3 is a sub-procedure where the
`initiating side is undefined (may be both A and B). PROC4 indicates an optional sub-
`procedure initiated by A, and PROC5 indicates an optional sub-procedure initiated by B.
`
`MSG1 is a message sent from B to A. MSG2 is a message sent from A to B. MSG3
`indicates an optional message from A to B, and MSG4 indicates an optional message
`from B to A.
`
`Bluetooth SIG Proprietary & Confidential
`
`A
`
`B
`
`PROC1
`
`PROC2
`
`PROC3
`
`(PROC4)
`
`(PROC5)
`
`MSG1
`
`MSG2
`
`(MSG3)
`
`(MSG4)
`
`CELLSPIN
`EX. 2031, Page 11
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`2 Profile Overview
`
`2.1 Profile Stack
`
`Figure 2.1shows the protocols and entities used in this profile.
`
`page 12 of 35
`
`
`
`Figure 2.1: Protocol model
`
`The Baseband, LMP, and L2CAP are the OSI layer 1 and 2 Bluetooth protocols [1].
`RFCOMM with TS 07.10 [2] is the Bluetooth adaptation of GSM TS 07.10 ETSI, TS
`07.10, Version 6.3.0. SDP is the Bluetooth service discovery protocol [6]. OBEX [8] is
`the Bluetooth adaptation of IrDA Object Exchange Protocol (IrOBEX) [4].
`
`L2CAP interoperability requirements are defined in GOEP v2.0 [7]. This profile requires
`backwards compatibility with previous versions of FTP based on GOEP v1.1. The
`procedures for backwards compatibility defined in section 6.2 of GOEP v2.0 [7] shall be
`used.
`
`2.2 Configurations and Roles
`
`Figure 2.2: Bi-directional File Transfer Example between two Personal Computers
`
`The following roles are defined for this profile:
`
`
`
`Bluetooth SIG Proprietary & Confidential
`
`
`
`Application
`File Transfer Client
`
`OBEX
`
`Application
`FileTransfer Server
`
`OBEX
`
`SDP
`
`RFCOMM
`
`RFCOMM
`
`SDP
`
`L2CAP
`
`LMP
`
`LMP
`
`L2CAP
`
`Baseband
`
`Baseband
`
`File Transfer Client side
`
`File Transfer Server side
`
`
`
`Objects Being Pushed
`
` Client
`
`Objects Being
`Pulled
`
` Server
`
`CELLSPIN
`EX. 2031, Page 12
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`page 13 of 35
`
`Client – The Client device initiates the operation, which pushes and pulls objects to and
`from the Server or instructs the Server to perform actions on objects on the Server. In
`addition to the interoperability requirements defined in this profile, the Client shall also
`comply with the interoperability requirements for the Client of the GOEP if not defined to
`the contrary. The Client shall be able to interpret the OBEX Folder Listing format and
`may display this information for the user.
`
`Server – The Server device is the target remote Bluetooth device that provides an
`object exchange server and folder browsing capability using the OBEX Folder Listing
`format. In addition to the interoperability requirements defined in this profile, the Server
`shall comply with the interoperability requirements for the Server of the GOEP if not
`defined in the contrary.
`
`2.3 User Requirements and Scenarios
`
`The scenarios covered by this profile are the following:
`
`
`
`If file browsing is supported on the Client and the Server, the Client is able to browse
`the object store of the Server. Clients are required to pull and understand Folder
`Listing Objects. Servers are required to respond to requests for Folder Listing
`Objects. Servers should have a root folder. The root folder is typically not the root
`directory of the file system, but a designated public folder. A Server may expose
`different root folders based on the user or device initiating the OBEX connection.
`Servers are not required expose a folder hierarchy. For security reasons, Servers
`should reject attempts by a Client to browse files and folders above or outside the
`root folder by returning an appropriate error response. Special care should be taken
`to ensure that “wildcard” characters in the folder path string do not allow the remote
`client to access such files and folders. This might require converting the received
`path string to fully resolved path name. Many systems provide function calls which
`can perform such a conversion.
`
` Use of the Client to transfer objects to and from the Server. The transfer of objects
`includes folders and files. Clients shall support the ability to push or pull files from
`the Server. Clients are not required to push or pull folders. Servers are required to
`support file push, pull, or both. Servers are allowed to have read-only folders and
`files, which means they can restrict object pushes. Thus, Servers are not required to
`support folder push or pull.
`
` Use of the Client to create folders and delete objects (folders and files) on the
`Server. Clients are not required to support folder/file deletion or folder creation.
`Servers are allowed to support read-only folders and files, which means they can
`restrict folder/file deletion and creation.
`
` Use of the Client to copy, rename, or move objects (folders and files) on the Server.
`Clients are not required to support folder/file copying, moving or renaming. Servers
`are required to support folder/file copying, moving or renaming except in the case
`where the server file system is read-only.
`
` Use of the Client to set access permissions on objects (folders and files) on the
`Server. Neither Clients nor Servers are required to support setting of access
`permissions.
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 13
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`page 14 of 35
`
`A device adhering to this profile shall support Client capability, Server capability or both.
`The restrictions applying to this profile are the same as in the GOEP.
`
`2.4 Profile fundamentals
`
`The profile fundamentals are the same as defined in GOEP.
`
`LMP authentication and encryption are mandatory to support and optional to use. When
`using Core Specification v2.1 or later, encryption is mandatory to use; otherwise
`optional.
`
`Support for OBEX authentication is required but its use is optional.
`
`Note: This profile does not mandate the Server or Client to enter any discoverable or
`connectable modes automatically, even if they are able to do so.
`
`On the Client side, end-user intervention is typically needed to initiate file transfer (see
`User Interface Aspects).
`
`Note: Support of bonding is required but its use is optional.
`
`Bluetooth SIG Proprietary & Confidential
`
`CELLSPIN
`EX. 2031, Page 14
`
`
`
`BLUETOOTH SPECIFICATION
`File Transfer Profile (FTP)
`
`3 User Interface Aspects
`
`page 15 of 35
`
`3.1 File Transfer Mode Selection, Servers
`
`Servers shall be placed in File Transfer mode. This mode enables a Client to initiate file
`transfer operations with the Server. When entering this mode, Servers
`
` should set the device in Limited Discoverable mode (see Generic Access Profile [1]).
`
` shall set the Object Transfer Bit in the CoD (see [6]).
`
` shall register a service record in the ServiceDiscovery database.
`
`Public devices, devices that want to be visible at all times, or devices that cannot supply
`a user interface to enable File Transfer mode should use General Discoverable Mode
`(see Generic Access Profile [1]) instead of Limited Discoverable Mode. Devices in
`General Discoverable Mode may still enter Limited Discoverable Mode for limited
`periods. Entry into the Limited Discoverable Mode may be triggered by a button-press
`or user interface menu option.
`
`It is recommended that entry into Limited Discoverable Mode be set and unset by user
`interaction.
`
`3.2 Function Selection, Clients
`
`Clients provide file transfer functions to the user via a user interface. An example of a
`fil