The
implication is that the server application communicates directly with
RFCOMM. Server channel 1 has been assigned to the server application
by the Bluetooth stack, and this channel identi?¬?er is included in the
service record so clients know the proper channel identi?¬?er to use to
make a connection to the service.
The structure of the ProtocolDescriptorList is a list of lists with one
sublist for every stack layer involved in the communications. So conceptually
this looks like ((L2CAP), (RFCOMM, 1)), where parentheses are
used as shorthand for a DataElement of type DATSEQ. The ?¬?rst element
(L2CAP) indicates that L2CAP is the lowest protocol layer used to access
this service. Strictly speaking, other Bluetooth stack protocols below
L2CAP are involved, but stack layers below L2CAP are not included in
SDP service records. The second element, (RFCOMM, 1), consists of two
elements. The ?¬?rst element is the name of the next higher layer protocol,
RFCOMM. The second element is a protocol-speci?¬?c parameter, 1, which
is the RFCOMM server channel identi?¬?er.
The list-of-lists structure is represented in the service record as an
attribute value with structure
DataElement(type = DATSEQ,
DataElement(type = DATSEQ, . . .)
DataElement(type = DATSEQ, . . .))
Short-form UUIDs are used to represent the protocols L2CAP and
RFCOMM.
Pages:
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213