|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-EA8038F6-8727-5ABE-805C-9FF095293EB7" xml:lang="en"><title>Bluetooth |
|
13 Comms Profiles Collection Overview</title><shortdesc>Provides implementations of some Bluetooth profiles and support |
|
14 for others. (Some Bluetooth profiles are omitted.) </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
15 <section id="GUID-6B099746-A936-5009-81F0-D3282ED6C48A"><title>Purpose</title> <p id="GUID-D7338D15-E269-54A5-B4E1-D5F0AACA9F32"> This document introduces |
|
16 Bluetooth profiles and indicates the current status of those profiles within |
|
17 the Symbian platform Bluetooth subsystem. A Bluetooth profile encompasses |
|
18 a defined set of functionality for an operation or task, identifies the Bluetooth |
|
19 stack features required to perform the operation or tasks and describes how |
|
20 those features are used. </p> <p>By specifying these details Bluetooth profiles |
|
21 make a significant contribution to realising the interoperability goals of |
|
22 the Bluetooth consortium. If all device manufactures implement the profiles |
|
23 according to the standards users can confidently purchase Bluetooth enabled |
|
24 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 |
|
25 profiles, those that are <i>implemented</i>, those that are <i>supported</i> and |
|
26 those that are <i>omitted</i> from the current Symbian platform Bluetooth |
|
27 subsystem. Documentation will be provided for each of the supported profiles |
|
28 and this page will be updated with links as they become available. </p> <p>The |
|
29 standards define terminology specific to individual profiles. Please refer |
|
30 to the latest Bluetooth standard at <xref href="http://www.bluetooth.com" scope="external">www.bluetooth.com</xref> for all official definitions. </p> </section> |
|
31 <section id="GUID-3D73ECD8-AA0F-5E1A-B963-32921B31B6E8"><title>Architecture</title> <fig id="GUID-CEFC70E7-D449-52CF-99C5-869BD3B4D504"> |
|
32 <image href="GUID-13D48922-4DEF-56A6-8ADE-DD1DB280627B_d0e396269_href.png" placement="inline"/> |
|
33 </fig> </section> |
|
34 <section id="GUID-9957D1E0-F639-5CEB-BD61-52B81BBACA88"><title>Description</title> <p>There |
|
35 are two kinds of profiles provided for by Symbian platform: implemented and |
|
36 supported. Implemented profiles can be used directly from the existing components. |
|
37 When a profile is supported the licensee will need to provide its own APIs |
|
38 to make the functionality of that profile available to application developers. </p> <fig id="GUID-9B0D507E-B9E1-5E3F-8330-15564BD89681"> |
|
39 <title> Figure 1. Profile dependencies </title> |
|
40 <desc><p>Figure 1 above shows the dependencies of profiles. The shaded profiles, |
|
41 discussed in the next section, are implemented by the Symbian platform Bluetooth |
|
42 subsystem. </p> </desc> |
|
43 <image href="GUID-60B4CDBE-B863-52EA-9125-632A1FF1A059_d0e396290_href.png" placement="inline"/> |
|
44 </fig> <p><b>Implemented |
|
45 Bluetooth profiles</b> </p> <p>The following profiles are implemented by Symbian |
|
46 platform Bluetooth: </p> <ul> |
|
47 <li id="GUID-12BCA8FE-B874-56AE-9F09-00D013BB9E25"><p>Generic Access Profile |
|
48 (<b>GAP</b>) </p> </li> |
|
49 <li id="GUID-3151F147-4A6B-5C83-B8D5-A70FDB58DEFC"><p>Serial Port Profile |
|
50 (<b>SPP</b>) </p> </li> |
|
51 <li id="GUID-ED98C49B-BBEB-536C-A806-BEA77DEDD497"><p>Generic Object Exchange |
|
52 Profile (<b>GOEP</b>) </p> </li> |
|
53 <li id="GUID-94EA76BC-C843-5558-9E16-A5931B937372"><p>Personal Area Networking |
|
54 (<b>PAN</b>) Profile </p> </li> |
|
55 <li id="GUID-7C0BA324-CAC9-5595-9523-1CEF3A1D2A4D"><p>Audio Video Remote Control |
|
56 Profile (<b>AVRCP</b>) </p> </li> |
|
57 <li id="GUID-38F8CCD0-93F8-571D-AD52-762FDEC2A4E9"><p>Generic Audio Video |
|
58 Distribution Profile (<b>GAVDP</b>) </p> </li> |
|
59 <li id="GUID-E7D4DD39-6EE4-5A71-AED5-9D61F7B8BC3F"><p>Advanced Audio Distribution |
|
60 Profile (<b>A2DP</b>) </p> </li> |
|
61 </ul> <p>The profiles are introduced here: </p> <p id="GUID-BCA99FAB-1825-56A0-9D06-926B30C0FFBA"><b>GAP</b> </p> <p>The Generic |
|
62 Access Profile is the foundation Bluetooth profile. It enables two devices |
|
63 to discover and connect to each other in a piconet. GAP defines the mode of |
|
64 operation for participating devices, handles role assignment, and controls |
|
65 the connection and link functionality at protocol level. </p> <p>The Generic |
|
66 Access profile, as the basic piconet enabler, uses features of the RFCOMM, |
|
67 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 |
|
68 yourself with the details of the protocols as this is handled internally. |
|
69 The APIs will handle all of the connection, linking and role negotiation for |
|
70 you. Note however that there are no explicit GAP APIs. The GAP functionality |
|
71 is implicit in other APIs within Symbian platform. </p> <p id="GUID-74CDD0F3-3901-5F23-8FE8-B23FEB6DB243"><b> SPP </b> </p> <p>The Serial |
|
72 Port Profile gives Bluetooth devices RS-232 emulation capabilities, allowing |
|
73 applications that were written with cable connection in mind to make the transition |
|
74 to Bluetooth. The application establishes a link over the Bluetooth connection |
|
75 without being aware of Bluetooth. The SPP simply emulates a typical RS-232 |
|
76 serial cable communications session. The SPP enables multiplexing and provides |
|
77 support for two device types: communication endpoint devices and intermediate |
|
78 devices. SPP operates on the RFCOMM and L2CAP layers of the Bluetooth stack. </p> <p>The |
|
79 SPP is an integral part of the following profiles: </p> <table id="GUID-0C88077B-7C0A-5304-801C-2D76907E5BAF"> |
|
80 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
81 <thead> |
|
82 <row> |
|
83 <entry>Bluetooth Profile</entry> |
|
84 <entry>Supported</entry> |
|
85 </row> |
|
86 </thead> |
|
87 <tbody> |
|
88 <row> |
|
89 <entry><p>Fax Profile </p> </entry> |
|
90 <entry><p>Yes </p> </entry> |
|
91 </row> |
|
92 <row> |
|
93 <entry><p>Dial-up Networking Profile(DUNP) </p> </entry> |
|
94 <entry><p>Yes </p> </entry> |
|
95 </row> |
|
96 <row> |
|
97 <entry><p>LAN Access Profile </p> </entry> |
|
98 <entry><p>Yes </p> </entry> |
|
99 </row> |
|
100 <row> |
|
101 <entry><p>Headset Profile </p> </entry> |
|
102 <entry><p>Yes </p> </entry> |
|
103 </row> |
|
104 <row> |
|
105 <entry><p>Hands Free Profile </p> </entry> |
|
106 <entry><p>Yes </p> </entry> |
|
107 </row> |
|
108 <row> |
|
109 <entry><p>Generic Object Exchange Profile </p> </entry> |
|
110 <entry><p>Implemented </p> </entry> |
|
111 </row> |
|
112 <row> |
|
113 <entry><p>Phonebook Access Profile </p> </entry> |
|
114 <entry><p>No </p> </entry> |
|
115 </row> |
|
116 <row> |
|
117 <entry><p>SIM Access Profile </p> </entry> |
|
118 <entry><p>No </p> </entry> |
|
119 </row> |
|
120 </tbody> |
|
121 </tgroup> |
|
122 </table> <p>Links to examples, guides, and tutorials that use the SPP will |
|
123 be provided here as they become available. </p> <p id="GUID-C7894668-B9C0-5C31-BD24-8A3753DF1F6C"><b> GOEP </b> </p> <p>The Generic |
|
124 Object Exchange Profile provides the functionality needed to use the Object |
|
125 Exchange (OBEX) Protocol over Bluetooth. GOEP is used by the following profiles: </p> <table id="GUID-A1A29057-A7A4-5624-909F-1ED78CF362D3"> |
|
126 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
127 <thead> |
|
128 <row> |
|
129 <entry>Bluetooth Profile</entry> |
|
130 <entry>Supported</entry> |
|
131 </row> |
|
132 </thead> |
|
133 <tbody> |
|
134 <row> |
|
135 <entry><p>Object Push Profile </p> </entry> |
|
136 <entry><p>Yes </p> </entry> |
|
137 </row> |
|
138 <row> |
|
139 <entry><p>File Transfer Profile </p> </entry> |
|
140 <entry><p>Yes </p> </entry> |
|
141 </row> |
|
142 <row> |
|
143 <entry><p>Synchronisation Profile </p> </entry> |
|
144 <entry><p>Yes </p> </entry> |
|
145 </row> |
|
146 </tbody> |
|
147 </tgroup> |
|
148 </table> <p>GOEP makes a significant contribution to the overall offering |
|
149 by providing client and server roles to the devices of the Bluetooth Piconet. |
|
150 Applications using GOEP can push and pull objects from other devices in the |
|
151 piconet. </p> <p id="GUID-85C0DABF-1EC0-5B25-9E36-72C42E5D4A97"><b> PAN Profile </b> </p> <p>The |
|
152 Personal Area Networking profile provides a simplification to the LAN Access |
|
153 and Dial-up Networking profiles (both now deprecated), by reducing the number |
|
154 of layers in a network connection. PAN enhances networking over Bluetooth |
|
155 by providing new functionality such as the Group Ad-hoc Networking role, discussed |
|
156 below. </p> <p>The PAN profile provides for three possible roles: the User |
|
157 (PANU), Group Ad-hoc Networking (GN) and Network Access Point (NAP). </p> <p>When |
|
158 a device is operating in the PANU role it can connect to a device operating |
|
159 in any of the three roles. This allows it to act as a client to one of these |
|
160 devices. When operating in the GN role the device can accept a connection |
|
161 request from a PANU device or make its own request to connect to such a device. |
|
162 PANU and GN roles can be switched but a PANU device connecting to a NAP device |
|
163 can not switch roles because NAP is not supported. </p> <p>PAN is integrated |
|
164 into the networking framework as a plug-in. See the Networking documentation |
|
165 for more information about networking with the Bluetooth PAN profile plug-in. |
|
166 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 |
|
167 video remote control profile implements certain aspects of the AV/C Digital |
|
168 Interface Command Set (IEEE 1394) for use over a Bluetooth connection. This |
|
169 profile defines two possible roles: controller (CT) and target (TG). The controller |
|
170 device sends commands to the target who acts on those commands. </p> <p>Role |
|
171 switching is possible. Consider a Bluetooth headset with integrated command |
|
172 functions. When the headset is acting in the CT role it can begin music playback |
|
173 or switch songs on the TG Symbian device. The Symbian device can become the |
|
174 CT to send a volume control command to the headset, making the headset the |
|
175 TG for that transaction. </p> <p>Features of the profile implemented in the |
|
176 Symbian platform Bluetooth subsystem are presented in the following table |
|
177 according to defined role. </p> <table id="GUID-6C8A5320-A06C-51A5-B431-14CFC828BAAA"> |
|
178 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
179 <thead> |
|
180 <row> |
|
181 <entry>CT</entry> |
|
182 <entry>TG</entry> |
|
183 </row> |
|
184 </thead> |
|
185 <tbody> |
|
186 <row> |
|
187 <entry><p>All Mandatory features. </p> </entry> |
|
188 <entry><p>All Mandatory features. </p> </entry> |
|
189 </row> |
|
190 <row> |
|
191 <entry><p>Sending UNIT info command. </p> </entry> |
|
192 <entry><p>Initiating connection for control. </p> </entry> |
|
193 </row> |
|
194 <row> |
|
195 <entry><p>Sending subunit info command. </p> </entry> |
|
196 <entry><p>Receiving pass through commands. </p> </entry> |
|
197 </row> |
|
198 <row> |
|
199 <entry><p>Sending pass through commands. </p> </entry> |
|
200 <entry><p>Sending all operation_ids. </p> </entry> |
|
201 </row> |
|
202 <row> |
|
203 <entry><p>Sending all operation_ids. </p> </entry> |
|
204 <entry><p>Receiving all operation_ids. </p> </entry> |
|
205 </row> |
|
206 <row> |
|
207 <entry><p>Receiving all operation_ids. </p> </entry> |
|
208 <entry><p> </p> </entry> |
|
209 </row> |
|
210 </tbody> |
|
211 </tgroup> |
|
212 </table> <p>AVRCP operates over a GAP connection, communicating via the Audio |
|
213 Video Control Transport Protocol (AVCTP) on a channel in the L2CAP layer. |
|
214 Application developers will use the Remote Control Framework for creating |
|
215 apps that use the AVRCP. </p> <p id="GUID-3ABC26C2-D65A-5577-B9B2-0A613D48D49B"><b>GAVDP</b> </p> <p>The Generic |
|
216 audio video distribution profile provides the mechanism for distributing audio |
|
217 and video content over a Bluetooth connection. There are two roles defined |
|
218 for GAVDP, they are: Initiator (INT) and Acceptor (ACP). INT begins a signalling |
|
219 procedure and ACP responds. The roles are not linked to the master / slave |
|
220 relationship between devices and can switch when a new procedure is initiated. </p> <p>GAVDP |
|
221 has been implemented in the Symbian platform Bluetooth subsystem specifically |
|
222 to support the Bluetooth stereo headset usecase. The Audio Video Distribution |
|
223 Transport Protocol (AVDTP) manages the transmission of audio packets over |
|
224 an L2CAP channel. The GAVDP component of the Bluetooth subsystem provides |
|
225 an API to configure, send and receive data over the AVDTP within an ESock |
|
226 plug-in. </p> <p id="GUID-E051004B-9650-5AA9-9CDB-5C4925F71A68"><b>A2DP</b> </p> <p>The Advanced |
|
227 Audio Distribution Profile describes the protocols and procedures to stream |
|
228 high quality stereo audio over Bluetooth. </p> <p><b>Supported Bluetooth Profiles </b> </p> <p>The following list indicates |
|
229 profiles for which the Symbian platform subsystem has provided the necessary |
|
230 framework should a licensee have a need to implement them. Application developers |
|
231 should refer to the documentation for the platform(s) they are targeting to |
|
232 determine which additional profiles (if any) are available for a particular |
|
233 device. </p> <p>The Bluetooth profile implementers guide, <i>available soon</i>, |
|
234 describes how licensees can enable profiles on their devices. </p> <ul> |
|
235 <li id="GUID-20776509-543D-502E-8B22-90F1A0FED5CA"><p>Advanced Audio Distribution |
|
236 Profile </p> <p>Linked to MMF. </p> </li> |
|
237 <li id="GUID-9C1A784A-E765-5AC4-A158-B56360D5171B"><p>Video Distribution Profile </p> <p>Linked |
|
238 to MMF. </p> </li> |
|
239 <li id="GUID-DFD5DA23-040B-5ECA-A20B-E3254D3664E3"><p>File Transfer Profile </p> </li> |
|
240 <li id="GUID-9CB7D73F-6F3B-52DA-B7C2-C356CBFB8E87"><p>Synchronization Profile </p> </li> |
|
241 <li id="GUID-9D3A40EE-9068-5E5D-A373-B423E5E0AB09"><p>Fax Profile </p> </li> |
|
242 <li id="GUID-3BFFA617-27AF-53E1-96BC-A130356D9540"><p>Dial Up Networking (DUN) |
|
243 Profile </p> </li> |
|
244 <li id="GUID-6C05F7F3-715C-5610-B82F-1E758610170F"><p>Headset Profile </p> </li> |
|
245 <li id="GUID-BE0FD664-E594-598E-BA19-8840E420DB24"><p>Hands Free Profile </p> <p>Use |
|
246 the Remote Control Framework. </p> </li> |
|
247 <li id="GUID-24DBFC9A-8F62-5A8F-BADB-0982572A47B5"><p>HID Profile </p> </li> |
|
248 <li id="GUID-6BA8FC1A-1001-5DAC-AF6A-256CA6F3250A"><p>Device ID Profile </p> </li> |
|
249 <li id="GUID-9F6B9D39-56D2-5C12-8541-506077392190"><p>Basic Printing Profile </p> </li> |
|
250 <li id="GUID-9404210C-4C1F-558B-B74B-5BF0296221DE"><p>Basic Imaging Profile </p> </li> |
|
251 <li id="GUID-052835AA-41A8-5BE7-B6E5-9A064AB11A9C"><p>Service Discovery Application |
|
252 Profile </p> </li> |
|
253 <li id="GUID-32D6A3BB-B4C8-5B66-B6FC-38B3AEEF6566"><p>Unrestricted Digital |
|
254 Information Profile </p> </li> |
|
255 </ul> <p><b>Omitted |
|
256 Bluetooth profiles</b> </p> <p>The following profiles are explicitly omitted |
|
257 from the Current Symbian platform Bluetooth subsystem: </p> <ul> |
|
258 <li id="GUID-803B0A52-D5F0-5FBD-B79E-DFFD0EF98CC1"><p>Cordless Telephony Profile </p> </li> |
|
259 <li id="GUID-CAFA84DC-DBE5-522E-B060-55D9C9393800"><p>Intercom Profile </p> </li> |
|
260 <li id="GUID-48A2EAE9-80CE-5688-BE8A-396C4208CF5E"><p>SIM Access Profile </p> </li> |
|
261 </ul> </section> |
|
262 </conbody></concept> |