Symbian3/SDK/Source/GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7" xml:lang="en"><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 platform 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 platform 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 href="http://www.bluetooth.com" scope="external">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_d0e396107_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 platform: 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>              Figure 1. Profile dependencies            </title>
<desc><p>Figure 1 above shows the dependencies of profiles. The shaded profiles,
discussed in the next section, are implemented by the Symbian platform Bluetooth
subsystem. </p> </desc>
<image href="GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e396128_href.png" placement="inline"/>
</fig> <p><b>Implemented
Bluetooth profiles</b> </p> <p>The following profiles are implemented by Symbian
platform 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 platform. </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 platform 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 platform 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 platform 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 platform 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>