UniversalAttributeIdProtocolDescriptorList Field

The ProtocolDescriptorList attribute describes one or more protocol stacks that may be used to gain access to the service described by the service record. [0x0004]

Definition

Namespace: InTheHand.Net.Bluetooth.AttributeIds
Assembly: InTheHand.Net.Bluetooth (in InTheHand.Net.Bluetooth.dll) Version: 4.0.32+5cdf1cfd21064ea31c5de33d160200ca1c4bc218
C#
public const ServiceAttributeId ProtocolDescriptorList = 

Field Value

ServiceAttributeId

Remarks

[Data Element Sequence or Data Element Alternative]

“ The ProtocolDescriptorList attribute describes one or more protocol stacks that may be used to gain access to the service described by the service record.

“ If the ProtocolDescriptorList describes a single stack, it takes the form of a data element sequence in which each element of the sequence is a protocol descriptor. Each protocol descriptor is, in turn, a data element sequence whose first element is a UUID identifying the protocol and whose successive elements are protocol-specific parameters. Potential protocol-specific parameters are a protocol version number and a connection-port number. The protocol descriptors are listed in order from the lowest layer protocol to the highest layer protocol used to gain access to the service.

“ If it is possible for more than one kind of protocol stack to be used to gain access to the service, the ProtocolDescriptorList takes the form of a data element alternative where each member is a data element sequence as described in the previous paragraph.

“ Protocol Descriptors

“ A protocol descriptor identifies a communications protocol and provides protocol- specific parameters. A protocol descriptor is represented as a data element sequence. The first data element in the sequence must be the UUID that identifies the protocol. Additional data elements optionally provide protocol-specific information, such as the L2CAP protocol/service multiplexer (PSM) and the RFCOMM server channel number (CN) shown below.

“ ProtocolDescriptorList Examples

“ These examples are intended to be illustrative. The parameter formats for each protocol are not defined within this specification.

“ In the first two examples, it is assumed that a single RFCOMM instance exists on top of the L2CAP layer. In this case, the L2CAP protocol specific information (PSM) points to the single instance of RFCOMM. In the last example, two different and independent RFCOMM instances are available on top of the L2CAP layer. In this case, the L2CAP protocol specific information (PSM) points to a distinct identifier that distinguishes each of the RFCOMM instances. According to the L2CAP specification, this identifier takes values in the range 0x1000-0xFFFF.

“ IrDA-like printer

“ ( ( L2CAP, PSM=RFCOMM ), ( RFCOMM, CN=1 ), ( PostscriptStream ) )

“ IP Network Printing

“ ( ( L2CAP, PSM=RFCOMM ), ( RFCOMM, CN=2 ), ( PPP ), ( IP ), ( TCP ), ( IPP ) )

“ Synchronization Protocol Descriptor Example

“ ( ( L2CAP, PSM=0x1001 ), ( RFCOMM, CN=1 ), ( Obex ), ( vCal ) )

“ ( ( L2CAP, PSM=0x1002 ), ( RFCOMM, CN=1 ), ( Obex ),

“ ( otherSynchronisationApplication ) ) ”

See Also