throbber
BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 359 of 440
`
`File Transfer Profile
`
`F0 R EWO R D
`
`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 Bfuetooth SIG-
`defined profile specification. A profile defines a selection of messages and
`procedures (generally termed capabilities} from the Bluetooth SIG specifica-
`tions, and gives an unambiguous description of the air interface for specified
`service(s) and usage mode|( ).
`
`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 options! is stated separately for both sides of the Bluetooth air
`interface.
`
`1 December 1999
`
`AFFLT0294669
`
`Samsung Ex. 1119 p. 1441
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`File Transfer Profile
`
`1
`
`INTRODUCTION
`
`1.1 SCOPE
`
`page 360 of440
`
`Bluetooth-
`
`The File Transfer profile defines the requirements for the protocols and proce-
`dures that shall be used by the applications providing the File Transfer usage
`model. This profile uses the Generic Object Exchange profile (GOEP) as a
`base profile 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 fold-
`ers) on another Bluetooth device. This includes deleting objects, and
`creating new folders.
`
`1.2 BLUETOOTH PROFILE STRUCTURE
`
`In ?~'ig;u.r'e 13:, the Bluetooth profile structure and the dependencies of the pro-
`files 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 profi|e(s) in which it is con-
`tained — directly and indirectly.
`
`1 December 1999
`
`introduction
`
`AFFLT0294870
`
`Samsung Ex. 1119 p. 1442
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 361 of 440
`
`File Transfer Profile
`
`Service Discovery
`Profle
`
`Fax Profile
`
`,.
`
`File Transfer Profile
`
`"
`
`.,.,._.,.,,._..,..,...,..,..._..._..,...,.._..._.,.
`Headset Profile
`
`Object Push Profile
`
`LAN Access Profile
`
`S’"°"'°"i“’“°"
`
`Figure 1.1: Bluetooth Profiles
`
`1.3 BLUETOOTH OBEX-RELATED SPECIFICATIONS
`
`Bluetooth Specification includes five separate specifications for OBEX and
`applications using OBEX.
`
`1. Bluetooth IrDA Interoperability Specification {'3}.
`
`- Defines how the applications can function over both Bluetooth and IrDA.
`
`Specifies how OBEX is mapped over RFCOMM and TCP.
`
`Defines the application profiles using OBEX over Bluetooth.
`
`. Bluetooth Generic f;3b_ie-st Eixclzarage Profile Specification {2}
`
`Generic interoperability specification for the application profiles using OBEX.
`
`Defines the interoperability requirements of the lower protocol layers (e.g.
`Baseband and LMP) for the application profiles.
`
`. Bluetooth Syr:t:tir'onizei_ior: Profile Specification {.33
`
`Application Profile for Synchronization applications.
`
`Defines the interoperability requirements for the applications within the
`Synchronization application profile.
`
`Does n_ot define the requirements for the Baseband, LMP, LZCAP. or
`RFCOM M.
`
`Introduction
`
`1 December 1999
`
`AFFLT0294671
`
`Samsung Ex. 1119 p. 1443
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 362 of440
`
`File Transfer Profile
`
`Bluetooth-
`
`4. Bluetooth File Transfer Profile Specification (This Specification)
`
`- Application Profile for File Transfer applications.
`
`- Defines the interoperability requirements for the appiications within the File
`Transfer application profile.
`
`Does n_ot define the requirements for the Baseband, LMP, L2CAP, or
`RFCOM M.
`
`. Bluetooth Qi.‘l_§i’-3i‘..‘l_ Push F’s'ot”sle Specification {4}
`
`Application Profile for Object Push applications.
`
`Defines the interoperability requirements for the applications within the
`Object Push application profile.
`
`Does n_ot define the requirements for the Baseband, LMP, L2CAP, or
`RFCOMM.
`
`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.
`
`1 December 1999
`
`introduction
`
`AFFLT0294872
`
`Samsung Ex. 1119 p. 1444
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 363 of 440
`
`File Transfer Profile
`
`1.4.2 Signaling diagram conventions
`
`The following arrows are used in diagrams describing procedures:
`
`PROC1
`-
`
`PROC2
`—————~—~———«————~—«———-—~———a-
`
`PROC3
`
`-1
`
`D-
`
`(PROC4)
`
`p (
`
`PROC5)
`
`
`
`MSG1
`
`
`MSG2
`
`
`
`{MSG3)
`
`T (
`
`MSG4)
`
`T
`
`Table 1.1: Arrows used in signaiing diagrams
`
`in the table above, 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 indi-
`cates 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.
`
`Introduction
`
`1 December 1999
`
`AFFLT0294873
`
`Samsung Ex. 1119 p. 1445
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 364 of440
`
`Flle Transfer Profile
`
`2 PROFILE OVERVIEW
`
`2.1 PROFILE STACK
`
`Bluetooth.
`
`The figure below shows the protocols and entities used in this profile.
`
`Application
`
`Application
`
`File Transfer Client I Fi|eTransfer Server
`
`OBEX
`
`-
`
`-
`
`-
`
`i
`
`File Transfer Client side
`
`File Transfer Server side
`
`Figure 2.1: Protocol model
`
`LMP [6] and LZCAP {IF} are the OS! layer 1 and 2 Bluetooth
`The Baseband
`protocols. RFCOMM {8} is the Bluetooth adaptation of GSM TS 07.10 [. }. SDP
`is the Bluetooth Service Discovery Protocol HG}. OBEX {1} is the Bluetooth
`adaptation of lrOBEX {T2}.
`
`The RFCOMM_ LZCAP, LMP, and Baseband interoperability requirements are
`defined in GOEP.
`
`2.2 CONFIGURATIONS AND ROLES
`
`Objects Being Pushed
`
`T; 4
`
`ca
`Objects Being
`Pulled
`
`Figure 2.2: Bl-directional File Transfer Example between two Personal Computers
`
`1 December 1999
`
`Profile overview
`
`AFFLT0294674
`
`Samsung Ex. 1119 p. 1446
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 365 of 440
`
`File Transfer Profile
`
`The following roles are defined for this profile:
`
`Client — The Client device initiates the operation, which pushes and pulls
`objects to and from the Server. In addition to the interoperability requirements
`defined in this profile. the Client must also comply with the interoperability
`requirements for the Client of the GOEP if not defined in the contrary. The
`Client must 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 must 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:
`
`- Usage of the Client 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. Sewers are required to
`have a root folder. Servers are not required to have a folder hierarchy below
`the root folder.
`
`Usage of the Client to transfer objects to and from the Server. The transfer
`of objects includes folders and files. Clients must 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.
`
`Usage of the Client to create folders and delete objects (folders and files) on
`the Server. Clients are not required to support folderffile deletion or folder
`creation. Servers are allowed to support read-only folders and files, which
`means they can restrict folderiflle deletion and creation.
`
`A device adhering to this profile must 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 Section 213 in GOEP {:3}.
`Support for link level authentication and encryption is required but their use is
`optional.
`
`Support for OBEX authentication is required but its use is optional.
`
`This profile does not mandate the server or client to enter any discoverable or
`
`Profile overview
`
`1 December 1999
`
`AFFLT0294675
`
`Samsung Ex. 1119 p. 1447
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 366 of440
`
`File Transfer Profile
`
`connectable modes automatically, even if they are able to do so.
`
`On the Client side, end-user intervention is always needed to initiate file
`transfer (see Cizaptes‘ 3).
`
`Support of bonding is required but its use is optional.
`
`1 December 1999
`
`Profile overview
`
`AFFLT0294876
`
`Samsung Ex. 1119 p. 1448
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 367 of 440
`
`File Transfer Profiie
`
`3 USER INTERFACE ASPECTS
`
`3.1 FILE TRANSFER MODE SELECTION, SERVERS
`
`Sewers must be placed in File Transfer mode. This mode enables a Client to
`perform file transfer operations with the Server. When entering this mode, File
`Transfer Servers should set the device in Limited Discoverabie mode (see
`Generic; Access Pa-et'ile), ensure that the Object Transfer Bit is set in the CoD
`(see {$53}, and register a service record in the SDDB (see section
`on page
`383).
`
`It is recommended that this mode be set and unset by user interaction. when
`possible. Public devices. devices that want to be visible at all times. or devices
`that can not supply a user interface to enable File Transfer mode shall use
`Genera.-‘ Discoverabie mode (see Generic fitccess F-irr-file) instead of Limited
`Discoverabie mode.
`
`3.2 FUNCTION SELECTION, CLIENTS
`
`Clients provide file transfer functions to the user via a user interface. An exam-
`ple of a file transfer user interface is a file-tree viewer to browse folders and
`files. Using such a system fi|e—tree viewer, the user can browse and manipulate
`files on another PC. which appears in the network view.
`
`File Transfer Applications provide the following functions.
`
`Select Server
`
`Navigate Folders
`
`Pull Object
`
`Push Object
`
`Delete Object
`
`Create Folder
`
`Selecting the Server from a list of possible Servers, and
`setting up a connection to it.
`
`Displaying the Server's folder hierarchy. including the files
`in the folders. and moving through the Server's folder hier-
`archy to select the current folder. The current folder is
`where items are pulled andior pushed.
`
`Copying a file or a folder from the Server to the Client.
`
`Copying a file or folderfrom the Client to the Server.
`
`Deleting a file or folder on the Server.
`
`Creating a new folder on the Server.
`
`When the user selects the Select Server function, an inquiry procedure will be
`performed to produce a list of available devices in the vicinity. Requirements on
`inquiry procedures are discussed in Section» 5.5.? of the GOEP E133}.
`
`User interface aspects
`
`1 December 1999
`
`AFFLT0294677
`
`Samsung Ex. 1119 p. 1449
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 368 of440
`
`Fiie Transfer Profiie
`
`3.3 APPLICATION USAGE
`
`In this section, the presented scenarios work as examples. Variations in the
`actual implementations are possible and allowed.
`
`When the Client wants to select a Server the following user interaction can be
`followed:
`
`Sewer
`
`The user sets the device into File Transfer
`mode. A Server typically does not need to
`provide any other user interaction.
`
`The user of the Client selects the File
`
`Transfer Application on the device.
`
`A list of Sewers that may support the File
`Transfer service is displayed to the user.
`
`The user selects a Server in which to con-
`neat. The connection may require the user
`to enter a password for authentication. If
`both link levei authentication and OBEX
`authentication is required, then the user will
`need to be prompted for two passwords.
`
`If the Client requires authentication of the
`Server, then the Server wiii need to prompt
`the user for a password. If both link level
`authentication and OBEX authentication are
`required, then the user will need to he
`prompted for two passwords.
`
`After the connection is complete. including
`any authentication, the contents of the
`Server‘s root folder are dispiayed.
`
`1 December 1999
`
`User interface aspects
`
`AFFLT029467B
`
`Samsung Ex. 1119 p. 1450
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 369 of 440
`
`Fife Transfer Profile
`
`The following user interaction shows how the user of the Client performs file
`transfer functions. The operations assume a Server has already been selected
`as described above.
`
`Client
`
`The user is presented with the folder
`hierarchy of the Server. The first presenta-
`tion has the root folder selected as the
`current folder.
`
`The user chooses a folder to be the current
`folder. The contents of this folder are dis-
`played.
`
`To push a file from the Client to the Server.
`the user selects a tile on the Client and acti-
`vates the Push Object function. The object
`is transferred to the current folder on the
`Server.
`
`To pull a file from the Server. the user
`selects a file in the current folder of the
`Server and activates the Pull Object func-
`tion. The user is notified of the result of the
`
`operation.
`
`To delete a file on the Server, the user
`selects the file in the Server’s current folder
`and activates the Delete Object function.
`The user is notified of the result of the oper-
`ation.
`
`To create a new folder on the Server. the
`user activates the Create Folder function.
`This function requests a name from the user
`for the folder. When complete. a new fotder
`is created in the Server’s current folder.
`
`User interface aspects
`
`1 December 1999
`
`AFFLT0294679
`
`Samsung Ex. 1119 p. 1451
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`Fife Transfer Profile
`
`4 APPLICATION LAYER
`
`page 370 of440
`
`Bluetooth-
`
`This section describes the feature requirements on units active in the File
`Transfer use case.
`
`4.1 FEATURE OVERVIEW
`
`The File Transfer application is divided into three main features, as shown in
`the ‘fabie 4.1 below.
`
`Features
`
`Folder Browsing
`
`Oblect Transfer:
`File Transfer
`Folder Transfer
`
`Support in
`File Transfer
`Client
`
`Support in
`File Transfer
`Server
`
`M
`
`Object Manipulation
`
`Table 4.1: Appttcation layer procedures
`
`*. Optional. but the server must be able to respond with an appropriate error code. even if
`it doesn't support these capabilities.
`
`4.2 FOLDER BROWSING
`
`A file transfer session begins with the Client connecting to the Server and pull-
`ing the contents of the Server's root folder. When an OBEX connection is
`made, the Server starts out with its current folder set to the root folder. The
`
`contents of folders must be transferred in the Folder Listing format specified in
`{'11}.
`
`Tabia 4.3 shows the application procedure required by the Client to connect to
`the Server and pull the contents of the root folder.
`
`1 December 1999
`
`Application layer
`
`AFFLT02946B0
`
`Samsung Ex. 1119 p. 1452
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`File Transfer Profile
`
`page 371 of 440
`
`Bluetooth.
`
`Client
`
`Details
`
`OBEX CONNECT.
`
`Pull the contents of the Server's
`root folder using GET.
`
`Target Header must be set to the Folder Browsing
`UUID:
`
`FQECTBC4-953C-11D2-984-E-5254-OODCQEUQ.
`
`This UUID is sent in binary (15 bytes) with most
`significant byte sent first (OXFQ is sent first).
`
`The Type Header must be set to the MlME-type of
`the Folder Listing Object {x-obexlfolder-listing).
`The Connect lD header must be set to the value
`
`returned in the Connect operation. A Name
`header is not used.
`Table 4.2: Application layer procedure for File Transfer Connect
`
`F
`
`Browsing an object store involves displaying folder contents and setting the
`‘current folder‘. The OBEX SETPATH command is used to set the current
`
`folder. To display a folder hierarchy starting with the root folder, the Client must
`read the root folder contents using GET. It must then retrieve the contents of all
`sub-folders using GET. If the sub-folders contain folders. then the Client must
`retrieve the contents of these folders and so on. To retrieve the contents of a
`
`folder. the Client must set the current folder to the sub-folder using SETPATH,
`then pull the sub-folder contents using GET. Table 4.3 shows the application
`procedure required for retrieving the contents of a sub-folder.
`
`Client
`
`Details
`
`Set the current folder to the sub-
`folder using OBEX SETPATH.
`
`Name header is set to the name of the sub-folder.
`Connect ID header is required.
`
`Pull the contents of the sub-folder
`using GET.
`
`Set the current folder back to the
`
`root folder using OBEX SETPATH.
`
`If the parent of the sub-folder is not
`the root folder, then set the current
`toider to the parent folder using
`SETPATH.
`
`No Name is sent, since the sub-folder is the current
`folder. The Type Header must be set to the MIME-
`type of the Folder Listing Object {X-obexlfolder-Iisb
`Eng). Connect ID header is required.
`
`Name header is empty. Connect ID header is
`required.
`
`The Backup flag is set and no Name header is sent.
`Connect ID header is required.
`
`Table 4.3: Application layer procedure for Folder Browsing
`
`Application layer
`
`1 December 1999
`
`AFFLT02946B1
`
`Samsung Ex. 1119 p. 1453
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`Flle Transfer Profile
`
`4.3 OBJECT TRANSFER
`
`page 372 of440
`
`Bluetooth-
`
`Objects are transferred from the Client to the Server using OBEX PUT, and
`objects are transferred from the Server to the Client using OBEX GET.
`Transferring files requires a single PUT or GET operation per file. Transferring
`folders requires transferring all the items stored in a folder, including other
`folders. The process of transferring a folder may require that new folders be
`created. The SETPATH command is used to create folders.
`
`Table 15;.-"3 shows the application procedure for transferring a folderfrom the Cli-
`ent to the Server. If the folder contains other folders. then these other folders
`are transferred using the same method. The folder is transferred to the current
`folder on the Server.
`
`Client
`
`Details
`
`Create a new folder (if it does not
`already exist) in the Server's current
`folder using SETPATH. The current
`folder is changed to this new folder.
`
`Name header is set to the name of the new folder.
`Connect ID header is required.
`
`Push all files to the new folder using
`a PUT command for each file.
`
`The Name header is set to the name of the file. Con-
`nect ID header is required.
`
`Folders are created using SET-
`PATH.
`
`Name header is set to folder name. This application
`procedure is applied recursively to each folder. Con-
`nect ID header is required.
`
`Set the current folder back to the
`
`parent folder using SETPATH.
`
`The Backup flag is set and no Name header is sent.
`Connect lD header is required.
`
`Table 4.4: Application layer procedure for Pushing a Folder
`
`Table -4.5 shows the application procedure for transferring a folder from the
`Server to the Client.
`
`Client
`
`Details
`
`Set the current folder to the folder
`which is to be transferred using
`SETPATH.
`
`The Name header is set to the name of the folder.
`Connect ID header is required.
`
`Pull the contents of the folder using
`GET.
`
`A Name header is not sent. and the Type Header
`must be set to the MIME-type of the Folder Listing
`Object (x-obexlfolder-listing).
`
`Pull all files to the new folder using a
`GET command for each file.
`
`The Name header is set to the name of the file. Con-
`nect ID header is required.
`
`Pull all Folders to the new folder
`
`using this application procedure.
`
`Set the current folder back to the
`
`parent folder. using SETPATH.
`
`This application procedure is applied recursively to
`each folder.
`
`The Backup flag is set and no Name header is sent.
`Connect ID header is required.
`
`Table 4.5: Application layer procedure for Pulling a Folder
`
`1 December 1999
`
`Application layer
`
`AFFLT02946B2
`
`Samsung Ex. 1119 p. 1454
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`File Transfer Profile
`
`4.4 OBJECT MANIPU LATION
`
`page 373 of 440
`
`Bluetooth
`
`A Client can delete folders and files on a Server. It can also create new folders
`
`on a Server. A brief summary of these functions is shown below.
`
`- A file is deleted by using a PUT command with the name of the file in a
`Name header and no Body header.
`
`- An empty folder is deleted by using a PUT command with the name of the
`folder in a Name header and no Body header.
`
`A non-empty folder can be deleted in the same way as an empty folder but
`Servers may not allow this operation. If a Server refuses to delete a non-
`empty folder it must return the "Precondition Fai|ed" (UXCC) response code.
`This response code tells the Client that it must first delete all the elements of
`the folder individually before deleting the folder.
`
`A new folder is created in the Server's current folder by using the SETPATH
`Command with the name of the folder in a Name header. if a folder with that
`
`name already exists. then a new folder is not created. In both cases the cur-
`rent folder is set to the new folder.
`
`Application layer
`
`1 December 1999
`
`AFFLT02946B3
`
`Samsung Ex. 1119 p. 1455
`
`

`
`BLUETOOTH SPECEFICATION Version 1.0 8
`
`page 374 of440
`
`Ffle Transfer Profile
`
`5 OB EX
`
`5.1 OBEX OPERATIONS USED
`
`'E'ahie
`profile.
`
`shows the OBEX operations. which are required in the File Transfer
`
`Table 5.1: OBEX Operations
`
`1 December 1999
`
`AFFLT02946B4
`
`Samsung Ex. 1119 p. 1456
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 375 of 440
`
`Fiie Transfer Profile
`
`5.2 OBEX HEADERS
`
`shows the specified OBEX headers, which are required in the File
`Te-tsie
`Transfer profile.
`
`Header no.
`
`OBEX Headers
`
`_L
`
`<.DO3'-~.|O')€.J1-I‘-‘-iIAJ|'\J
`
`_l (3
`
`Count
`
`Name
`
`Type
`
`Length
`
`Time
`
`Description
`
`Ta rget
`
`HTTP
`
`Body
`
`End of Body
`
`Who
`
`Connection ID
`
`Authenticate Challenge
`
`Authenticate Response
`
`Application Parameters
`
`Object Class
`
`Tabie 5. 2: OBEX Headers
`
`5.3 INITIALIZATION OF OBEX
`
`XXEEZEZZOZOOEEEO
`
`XXEEEEZZOZOOEZEO
`
`Devices implementing the File Transfer profile can optionally use OBEX authen-
`tication. The initialization procedure is defined in Senator: 5.35 of GOEP {:3}.
`
`5.4 ESTABLISHMENT OF OBEX SESSION
`
`The OBEX connection must use a Target header set to the File Browsing
`UUID, F9EC7BC4—953C-11D2-984E—525400DC9E09. This UUID is sent in
`
`binary (16 bytes) with 0xF9 sent first. OBEX authentication can optionally be
`used. This profile follows the procedures described in :'§e+r:ti:_>n 5.4 of GOEP {2}
`with the Target, Connection ID, and Who headers being mandatory.
`
`1 December 1999
`
`AFFLT02946B5
`
`Samsung Ex. 1119 p. 1457
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 376 of440
`
`File Transfer Profile
`
`5.5 BROWSING FOLDERS
`
`Bluetooth-
`
`Browsing folders involves pulling Folder Listing objects and setting the current
`folder. Navigating a folder hierarchy requires moving fowvard and backward by
`changing the current folder. Upon cornptetion of the OBEX Connect operation
`the Server's current folder is the root folder.
`
`5.5.1 Pulling a Folder Listing Object
`
`Pulling a Folder Listing object uses a GET operation and follows the procedure
`described in Section 5.5 of GOEP {'2}. The Connection ID and Type headers
`are mandatory. A Name header containing the name of the folder is used to
`pull the listing of a folder. Sending the GET command without a name header is
`used to pull the contents of the current folder. Typically. a folder browsing appli-
`cation will pull the contents of the current folder, so a Name header is not used.
`The Type header must be set to ‘x-obexifolder-tisting'.
`
`5.5.2 Setting the Current Folder (Forward)
`
`Setting the current folder requires the SETPATH operation. The SETPATH
`request must include the following fields and headers:
`
`Field!
`
` . Value Status Explanation
`
`
`
`
`
`.
`
`Opcode for
`SETPATH
`
`Packet Length
`
`Flags
`
`Constants
`
`Connection ID
`
`M
`
`_
`
`-
`
`‘Backup level‘ flag is set to 0 and ‘Don't
`Create’ flag is set to 1.
`
`Constants are not used, and the field
`must be set to 0.
`
`Connection ID is set to the value
`returned by the Server during the
`OBEX Connect operation. This must
`be the first header.
`
`Name of the folder.
`
`Tabie 5.3: Fields and Headers in SETPATH Request for Setting Current Foider (Forward)
`
`1 December 1999
`
`AFFLT02946B6
`
`Samsung Ex. 1119 p. 1458
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 377 of 440
`
`Fiie Transfer Profile
`
`The response packet for the SETPATH request has the following fields and
`headers:
`
`Name
`
`Response code
`for SETPATH
`
`Packet Length
`
`Explanation
`
`0xA0 for success or 0x04 if the folder
`does not exist.
`
`-
`
`Table 5.4: Fields and Headers in SE TPATH Response for Setting Current Foider (Forward)
`
`Other headers such as Description can optionally be used.
`
`5.5.3 Setting the Current Folder (Backward)
`
`Setting the current folder back to the parent folder requires the SETPATH oper-
`ation. The SETPATH request must include the following fields and headers
`(note that a Name header is not used):
`
`Name
`
`Explanation
`
`Opcode for SET-
`PATH
`
`Packet Length
`
`Flags
`
`Constants
`
`Connection ID
`
`-
`
`‘Backup level‘ flag is set to 1 and ‘Don't
`Create’ flag is set to 1.
`
`Constants are not used. and the field
`must be set to 0.
`
`Connection ID is set to the value
`returned by the Server during the
`OBEX Connect operation. This must
`be the first header.
`
`Table 5.5: Fieids and Headers in SE TPATH Request for Setting Current Folder {Backward}
`
`1 December 1999
`
`AFFLT02946B7
`
`Samsung Ex. 1119 p. 1459
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`page 378 of440
`
`Flle Transfer Profile
`
`Bluetooth-
`
`The response packet for the SETPATH request has the fotlowing fields and
`headers:
`
`Name
`
`Response code
`for SETPATH
`
`Packet Length
`
`Explanation
`
`0xA0 for success. or 0x04 if the current
`folder is the root.
`
`-
`
`Table 5.6: Fields and Headers in SETPATH Response for Setting Current Folder (Backward)
`
`Other headers, such as Description, can optionally be used.
`
`5.5.4 Setting the Current Folder (Root)
`
`Setting the current folder to the root requires the SETPATH operation. The
`SETPATH request must include the following fields and headers:
`
`Field.-'
`
`.
`
`Opcode for SET-
`PATH
`
`Packet Length
`
`Flags
`
`Constants
`
`Connection ID
`
`M
`
`_
`
`-
`
`‘Backup level‘ flag is set to 0 and ‘Don’!
`Create‘ flag is set to 1.
`
`Constants are not used. and the field
`must be set to 0.
`
`Connection ID is set to the value
`returned by the Server during the
`OEIEX Connect operation. This must
`be the first header.
`
`Name header is empty.
`
`Table 5. 7: Fields and Headers in SETPATH Request for Setting Current Folder (Root)
`
`1 December 1999
`
`AFFLT02946B8
`
`Samsung Ex. 1119 p. 1460
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`page 379 of 440
`
`File Transfer Profile
`
`The response packet for the SETPATH request has the following fields and
`headers:
`
`Name
`
`Response code
`for SETPATH
`
`Packet Length
`
`Explanation
`
`0xA0 for success.
`
`Table 5.8: Fields and Headers in SE TPATH Response for Setting Current Foider (Root)
`
`Other headers, such as Description, can optionally be used.
`
`5.6 PUSHING OBJECTS
`
`Pushing object involves pushing files and folders.
`
`5.6.1 Pushing Files
`
`Pushing files follows the procedure described in Eiéersfisn 5.5 of GOEP £2}. The
`Connection ID header is mandatory.
`
`5.6.2 Pushing Folders
`
`Pushing folders involves creating new folders and pushing files. It may also
`involve navigating through the folder hierarchy. Navigation is described in Sec-
`tion 5.5 on
`Pushing files is described in Secticn 5.6.1 on page
`
`1 December 1999
`
`AFFLT02946B9
`
`Samsung Ex. 1119 p. 1461
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`Fiie Transfer Proiiie
`
`5. 6. 2.1 Creating New Foiders
`
`page 380 of440
`
`Bluetooth-
`
`Creating a new folder requires the SETPATH operation. The SETPATH request
`must include the following fields and headers:
`
`Name
`
`Explanation
`
`Opccde for SET-
`PATH
`
`Packet Length
`
`Flags
`
`Constants
`
`Connection ID
`
`‘Backup level‘ flag is set to U and ‘Don’t
`Create‘ flag is set to 0.
`
`Constants are not used, and the field
`must be set to 0.
`
`Connection ID is set to the value
`returned by the Server during the
`OBEX Connect operation. This must
`be the first header.
`
`Name of the folder.
`
`Table 5.9: Fieids and Headers in SETPATH Request for Creating a Foider.
`
`The response packet for the SETPATH request has the following fields and
`headers:
`
`new
`Header
`
`Ex lanation
`9
`
`Response code
`for SETPATH
`
`UXAO for success or UXC1 if the current
`folder is read only and creation of a new
`folder is unauthorized.
`
`Packet Length
`
`-
`
`Tabie 5.10: Fields and Headers in SETPATH Response for Creating a Foider
`
`Other headers such as Description can optionally be used.
`
`1 December 1999
`
`AFFLT0294690
`
`Samsung Ex. 1119 p. 1462
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 B
`
`File Transfer Profile
`
`5.7 PULLING OBJECTS
`
`Pulling objects involves pulling files and folders.
`
`5.7.1 Pulling Files
`
`page 381 of 440
`
`Bluetooth.
`
`Pulling files follows the procedure described in Sectéor:
`Connect ID header is mandatory.
`
`of GOEP
`
`The
`
`5.7.2 Pulling Folders
`
`Pulling folders involves navigating the folder hierarchy, pulling folder listing
`objects and pulling files. Navigating the folder hierarchy and pulling folder list-
`ing-objects is described in Secties
`en page
`Pulling files is described in
`Sestiert :'}.?.l on {tags 381.
`
`5.8 MANIPULATING OBJECTS
`
`Manipulating objects includes deleting objects and creating new folders. Creat-
`ing new folders is described in Séectiruh
`on page 35:}, Creating New
`Folders. Deleting objects involves deleting files and folders.
`
`5.8.1 Deleting Files
`
`Deleting a file requires the PUT operation. The PUT request must include the
`following fields and headers (note that no Body or End Body headers are sent):
`
`Opcode for PUT
`
`Packet Length
`
`ConnectionID
`
`Connection ID is set to the value
`returned by the Server during the
`OBEX Connect operation. This must
`be the first header.
`
`The header value is the name of the
`
`obieot to delete.
`
`Table 5.11: Fields and Headers in PUT Request for Delete
`
`1 December 1999
`
`AFFLT0294891
`
`Samsung Ex. 1119 p. 1463
`
`

`
`BLUETOOTH SPECIFICATION Version 1.0 8
`
`File Transfer Profile
`
`page 382 of440
`
`Bluetooth-
`
`The response packet for the PUT request has the following fields and headers:
`
`Field;
`Header
`
`Field
`
`Response code
`for PUT
`
`0:-(A0,
`OXC1 or
`OXC4
`
`Packet Length
`
`Varies
`
`Ex lanation
`9
`
`0xA0 for success. UXC1 for unautho-
`rized (e.g. read only} or 0}-(C4 if the file
`does not exist.
`
`Table 5.12: Fields and Headers in PUT Response for Delete
`
`Other headers such as Description can optionally be used.
`
`5.8.2 Deleting Folders
`
`A folder can be deleted using the same procedure used to delete a file (see
`Sectien
`on
`331). Deleting a non-empty folder will delete all its con-
`tents, including other folders. Some Servers may not allow this operation and
`will return the “Preeondition Failed" (OXCC) response code. indicating that the
`folder is not empty. In this case the Client will need to delete the contents
`before deleting the folder.
`
`5.9 DISCONNECTION
`
`See Sectisn 5-3."? in GOEP E2}.
`
`1 December 1999
`
`AFFLT0294892
`
`Samsung Ex. 1119 p. 1464
`
`

`
`BLUETOOTH SPE

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket