Symbian3/PDK/Source/GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Fri, 22 Jan 2010 18:26:19 +0000
changeset 1 25a17d01db0c
child 3 46218c8b8afa
permissions -rw-r--r--
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    12
<concept xml:lang="en" id="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7"><title>Bluetooth Comms Profiles Collection Overview</title><shortdesc>Provides implementations of some Bluetooth profiles and support for others. (Some Bluetooth profiles are omitted.) </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-6B099746-A936-5009-81F0-D3282ED6C48A"><title>Purpose</title> <p id="GUID-D7338D15-E269-54A5-B4E1-D5F0AACA9F32">  This document introduces Bluetooth profiles and indicates the current status of those profiles within the Symbian OS Bluetooth subsystem. A Bluetooth profile encompasses a defined set of functionality for an operation or task, identifies the Bluetooth stack features required to perform the operation or tasks and describes how those features are used. </p> <p>By specifying these details Bluetooth profiles make a significant contribution to realising the interoperability goals of the Bluetooth consortium. If all device manufactures implement the profiles according to the standards users can confidently purchase Bluetooth enabled devices knowing that they will all work. </p> <p><b>In this overview </b> </p> <p>You will learn about the status of the Bluetooth profiles, those that are <i>implemented</i>, those that are <i>supported</i> and those that are <i>omitted</i> from the current Symbian OS Bluetooth subsystem. Documentation will be provided for each of the supported profiles and this page will be updated with links as they become available. </p> <p>The standards define terminology specific to individual profiles. Please refer to the latest Bluetooth standard at <xref scope="external" href="http://www.bluetooth.com">www.bluetooth.com</xref> for all official definitions. </p> </section> <section id="GUID-3D73ECD8-AA0F-5E1A-B963-32921B31B6E8"><title>Architecture</title> <fig id="GUID-CEFC70E7-D449-52CF-99C5-869BD3B4D504"><image href="GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e625857_href.png" placement="inline"/></fig> </section> <section id="GUID-9957D1E0-F639-5CEB-BD61-52B81BBACA88"><title>Description</title> <p>There are two kinds of profiles provided for by Symbian OS: implemented and supported. Implemented profiles can be used directly from the existing components. When a profile is supported the licensee will need to provide its own APIs to make the functionality of that profile available to application developers. </p> <fig id="GUID-9B0D507E-B9E1-5E3F-8330-15564BD89681"><title>
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    13
             Figure 1. Profile dependencies 
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    14
          </title> <desc><p>Figure 1 above shows the dependencies of profiles. The shaded profiles, discussed in the next section, are implemented by the Symbian OS Bluetooth subsystem. </p> </desc> <image href="GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e625876_href.png" placement="inline"/></fig> <p><b>Implemented Bluetooth profiles</b> </p> <p>The following profiles are implemented by Symbian OS Bluetooth: </p> <ul><li id="GUID-12BCA8FE-B874-56AE-9F09-00D013BB9E25"><p>Generic Access Profile (<b>GAP</b>) </p> </li> <li id="GUID-3151F147-4A6B-5C83-B8D5-A70FDB58DEFC"><p>Serial Port Profile (<b>SPP</b>) </p> </li> <li id="GUID-ED98C49B-BBEB-536C-A806-BEA77DEDD497"><p>Generic Object Exchange Profile (<b>GOEP</b>) </p> </li> <li id="GUID-94EA76BC-C843-5558-9E16-A5931B937372"><p>Personal Area Networking (<b>PAN</b>) Profile </p> </li> <li id="GUID-7C0BA324-CAC9-5595-9523-1CEF3A1D2A4D"><p>Audio Video Remote Control Profile (<b>AVRCP</b>) </p> </li> <li id="GUID-38F8CCD0-93F8-571D-AD52-762FDEC2A4E9"><p>Generic Audio Video Distribution Profile (<b>GAVDP</b>) </p> </li> <li id="GUID-E7D4DD39-6EE4-5A71-AED5-9D61F7B8BC3F"><p>Advanced Audio Distribution Profile (<b>A2DP</b>) </p> </li> </ul> <p>The profiles are introduced here: </p> <p id="GUID-BCA99FAB-1825-56A0-9D06-926B30C0FFBA"><b>GAP</b> </p> <p>The Generic Access Profile is the foundation Bluetooth profile. It enables two devices to discover and connect to each other in a piconet. GAP defines the mode of operation for participating devices, handles role assignment, and controls the connection and link functionality at protocol level. </p> <p>The Generic Access profile, as the basic piconet enabler, uses features of the RFCOMM, L2CAP, Link Manager and Link Controller layers of the <xref href="GUID-66B87EE1-00E8-592F-8FBA-5DDDC257F758.dita#GUID-66B87EE1-00E8-592F-8FBA-5DDDC257F758/GUID-EBA301E1-0034-587C-9355-71DB7F762A6B">Bluetooth stack</xref>. As an application developer you do not need to concern yourself with the details of the protocols as this is handled internally. The APIs will handle all of the connection, linking and role negotiation for you. Note however that there are no explicit GAP APIs. The GAP functionality is implicit in other APIs within Symbian OS. </p> <p id="GUID-74CDD0F3-3901-5F23-8FE8-B23FEB6DB243"><b> SPP </b> </p> <p>The Serial Port Profile gives Bluetooth devices RS-232 emulation capabilities, allowing applications that were written with cable connection in mind to make the transition to Bluetooth. The application establishes a link over the Bluetooth connection without being aware of Bluetooth. The SPP simply emulates a typical RS-232 serial cable communications session. The SPP enables multiplexing and provides support for two device types: communication endpoint devices and intermediate devices. SPP operates on the RFCOMM and L2CAP layers of the Bluetooth stack. </p> <p>The SPP is an integral part of the following profiles: </p> <table id="GUID-0C88077B-7C0A-5304-801C-2D76907E5BAF"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Bluetooth Profile</entry> <entry>Supported</entry> </row> </thead> <tbody><row><entry><p>Fax Profile </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>Dial-up Networking Profile(DUNP) </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>LAN Access Profile </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>Headset Profile </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>Hands Free Profile </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>Generic Object Exchange Profile </p> </entry> <entry><p>Implemented </p> </entry> </row> <row><entry><p>Phonebook Access Profile </p> </entry> <entry><p>No </p> </entry> </row> <row><entry><p>SIM Access Profile </p> </entry> <entry><p>No </p> </entry> </row> </tbody> </tgroup> </table> <p>Links to examples, guides, and tutorials that use the SPP will be provided here as they become available. </p> <p id="GUID-C7894668-B9C0-5C31-BD24-8A3753DF1F6C"><b> GOEP </b> </p> <p>The Generic Object Exchange Profile provides the functionality needed to use the Object Exchange (OBEX) Protocol over Bluetooth. GOEP is used by the following profiles: </p> <table id="GUID-A1A29057-A7A4-5624-909F-1ED78CF362D3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Bluetooth Profile</entry> <entry>Supported</entry> </row> </thead> <tbody><row><entry><p>Object Push Profile </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>File Transfer Profile </p> </entry> <entry><p>Yes </p> </entry> </row> <row><entry><p>Synchronisation Profile </p> </entry> <entry><p>Yes </p> </entry> </row> </tbody> </tgroup> </table> <p>GOEP makes a significant contribution to the overall offering by providing client and server roles to the devices of the Bluetooth Piconet. Applications using GOEP can push and pull objects from other devices in the piconet. </p> <p id="GUID-85C0DABF-1EC0-5B25-9E36-72C42E5D4A97"><b> PAN Profile </b> </p> <p>The Personal Area Networking profile provides a simplification to the LAN Access and Dial-up Networking profiles (both now deprecated), by reducing the number of layers in a network connection. PAN enhances networking over Bluetooth by providing new functionality such as the Group Ad-hoc Networking role, discussed below. </p> <p>The PAN profile provides for three possible roles: the User (PANU), Group Ad-hoc Networking (GN) and Network Access Point (NAP). </p> <p>When a device is operating in the PANU role it can connect to a device operating in any of the three roles. This allows it to act as a client to one of these devices. When operating in the GN role the device can accept a connection request from a PANU device or make its own request to connect to such a device. PANU and GN roles can be switched but a PANU device connecting to a NAP device can not switch roles because NAP is not supported. </p> <p>PAN is integrated into the networking framework as a plug-in. See the Networking documentation for more information about networking with the Bluetooth PAN profile plug-in. Therefore applications can treat a Bluetooth PAN as any other networking technology. </p> <p id="GUID-7251B0E5-D6B1-524B-9714-6A469F8E1CB3"><b>AVRCP</b> </p> <p>The Audio video remote control profile implements certain aspects of the AV/C Digital Interface Command Set (IEEE 1394) for use over a Bluetooth connection. This profile defines two possible roles: controller (CT) and target (TG). The controller device sends commands to the target who acts on those commands. </p> <p>Role switching is possible. Consider a Bluetooth headset with integrated command functions. When the headset is acting in the CT role it can begin music playback or switch songs on the TG Symbian device. The Symbian device can become the CT to send a volume control command to the headset, making the headset the TG for that transaction. </p> <p>Features of the profile implemented in the Symbian OS Bluetooth subsystem are presented in the following table according to defined role. </p> <table id="GUID-6C8A5320-A06C-51A5-B431-14CFC828BAAA"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>CT</entry> <entry>TG</entry> </row> </thead> <tbody><row><entry><p>All Mandatory features. </p> </entry> <entry><p>All Mandatory features. </p> </entry> </row> <row><entry><p>Sending UNIT info command. </p> </entry> <entry><p>Initiating connection for control. </p> </entry> </row> <row><entry><p>Sending subunit info command. </p> </entry> <entry><p>Receiving pass through commands. </p> </entry> </row> <row><entry><p>Sending pass through commands. </p> </entry> <entry><p>Sending all operation_ids. </p> </entry> </row> <row><entry><p>Sending all operation_ids. </p> </entry> <entry><p>Receiving all operation_ids. </p> </entry> </row> <row><entry><p>Receiving all operation_ids. </p> </entry> <entry><p> </p> </entry> </row> </tbody> </tgroup> </table> <p>AVRCP operates over a GAP connection, communicating via the Audio Video Control Transport Protocol (AVCTP) on a channel in the L2CAP layer. Application developers will use the Remote Control Framework for creating apps that use the AVRCP. </p> <p id="GUID-3ABC26C2-D65A-5577-B9B2-0A613D48D49B"><b>GAVDP</b> </p> <p>The Generic audio video distribution profile provides the mechanism for distributing audio and video content over a Bluetooth connection. There are two roles defined for GAVDP, they are: Initiator (INT) and Acceptor (ACP). INT begins a signalling procedure and ACP responds. The roles are not linked to the master / slave relationship between devices and can switch when a new procedure is initiated. </p> <p>GAVDP has been implemented in the Symbian OS Bluetooth subsystem specifically to support the Bluetooth stereo headset usecase. The Audio Video Distribution Transport Protocol (AVDTP) manages the transmission of audio packets over an L2CAP channel. The GAVDP component of the Bluetooth subsystem provides an API to configure, send and receive data over the AVDTP within an ESock plug-in. </p> <p id="GUID-E051004B-9650-5AA9-9CDB-5C4925F71A68"><b>A2DP</b> </p> <p>The Advanced Audio Distribution Profile describes the protocols and procedures to stream high quality stereo audio over Bluetooth. </p> <p><b>Supported Bluetooth Profiles </b> </p> <p>The following list indicates profiles for which the Symbian OS subsystem has provided the necessary framework should a licensee have a need to implement them. Application developers should refer to the documentation for the platform(s) they are targeting to determine which additional profiles (if any) are available for a particular device. </p> <p>The Bluetooth profile implementers guide, <i>available soon</i>, describes how licensees can enable profiles on their devices. </p> <ul><li id="GUID-20776509-543D-502E-8B22-90F1A0FED5CA"><p>Advanced Audio Distribution Profile </p> <p>Linked to MMF. </p> </li> <li id="GUID-9C1A784A-E765-5AC4-A158-B56360D5171B"><p>Video Distribution Profile </p> <p>Linked to MMF. </p> </li> <li id="GUID-DFD5DA23-040B-5ECA-A20B-E3254D3664E3"><p>File Transfer Profile </p> </li> <li id="GUID-9CB7D73F-6F3B-52DA-B7C2-C356CBFB8E87"><p>Synchronization Profile </p> </li> <li id="GUID-9D3A40EE-9068-5E5D-A373-B423E5E0AB09"><p>Fax Profile </p> </li> <li id="GUID-3BFFA617-27AF-53E1-96BC-A130356D9540"><p>Dial Up Networking (DUN) Profile </p> </li> <li id="GUID-6C05F7F3-715C-5610-B82F-1E758610170F"><p>Headset Profile </p> </li> <li id="GUID-BE0FD664-E594-598E-BA19-8840E420DB24"><p>Hands Free Profile </p> <p>Use the Remote Control Framework. </p> </li> <li id="GUID-24DBFC9A-8F62-5A8F-BADB-0982572A47B5"><p>HID Profile </p> </li> <li id="GUID-6BA8FC1A-1001-5DAC-AF6A-256CA6F3250A"><p>Device ID Profile </p> </li> <li id="GUID-9F6B9D39-56D2-5C12-8541-506077392190"><p>Basic Printing Profile </p> </li> <li id="GUID-9404210C-4C1F-558B-B74B-5BF0296221DE"><p>Basic Imaging Profile </p> </li> <li id="GUID-052835AA-41A8-5BE7-B6E5-9A064AB11A9C"><p>Service Discovery Application Profile </p> </li> <li id="GUID-32D6A3BB-B4C8-5B66-B6FC-38B3AEEF6566"><p>Unrestricted Digital Information Profile </p> </li> </ul> <p><b>Omitted Bluetooth profiles</b> </p> <p>The following profiles are explicitly omitted from the Current Symbian OS Bluetooth subsystem: </p> <ul><li id="GUID-803B0A52-D5F0-5FBD-B79E-DFFD0EF98CC1"><p>Cordless Telephony Profile </p> </li> <li id="GUID-CAFA84DC-DBE5-522E-B060-55D9C9393800"><p>Intercom Profile </p> </li> <li id="GUID-48A2EAE9-80CE-5688-BE8A-396C4208CF5E"><p>SIM Access Profile </p> </li> </ul> </section> </conbody></concept>