* L2CAP is based around the concept of ’channels’.
* Each one of the endpoints of an L2CAP channel is referred to by a **channel identifier (CID)**.
## CHANNEL IDENTIFIERS
* The null identifier (0x0000) shall never be used as a destination endpoint.
* Identifiers from 0x0001 to 0x003F are reserved for specific L2CAP functions.
* Identifiers from 0x0001 to 0x003F are referred to as **Fixed Channels**.
## Signaling channel
* Fixed Channel 0x0001 is the L2CAP Signaling channel.
* Fixed Channel 0x0005 is the L2CAP LE Signaling channel.
* Those two should be supported at a minimum.
## The characteristics of fixed channel
* defined on a per channel basis.
* include configuration parameters (e.g., reliability, MTU size, QoS), security,
* the ability to change parameters using the L2CAP configuration mechanism.
## Fixed Channels
* Fixed channels are available as soon as the ACL-U or LE-U logical link is set up.
* Fixed channels should be initialized when the ACL-U or LEU logical link is set up.
* Fixed channels shall only run over ACL-U, ASB-U, or LE-U logical links.
* Fixed channels shall not be moved.
## Non-Fixed Channels
* Implementations are free to manage the remaining CIDs
* Two simultaneously active L2CAP channels shall not share the same CID.
* A different CID name space exists for each ACL-U, ASB-U, and LE-U logical link.
* The AMP-U logical link shares the CID name space with its associated ACL-U logical link.
## Dynamically allocated CID
* CID allocattion is local to a particular logical link.
* When shared the same CID on the same channel with several remote devices, it still can be distinguished by associating each remote CID with a different device.
* When shared the same CID with the same remote device, they will be bound to a different logical link.
## OPERATION BETWEEN DEVICES
* The connection-oriented data channels represent a connection between two devices.
* a CID, combined with the logical link, identifies each endpoint of the channel.
* for connectionless channel, when
* used for broadcast transmissions, data flow in a single didrection.
* used for unicast transmissions, data flow in either direction between a master and a slave.
## Fixed channel 0x0001(Signal channel)
* used to create and establish connection-oriented data channels
* negotiate changes in the characteristics of connection-oriented channels
* discover characteristics of the connectionless channel operating over the ACL-U logical link.
## Fixed channel CID (0x0002)
* reserved for all incoming and outgoing connectionless data traffic, whether broadcast or unicast.
## OPERATION BETWEEN LAYERS
* L2CAP implementations transfer data between upper layer protocols and the lower layer protocol.
* L2CAP implementation should export a number of services.
* L2CAP implementation shall also support a set of signaling commands.
* L2CAP implementations should also be prepared to
* accept certain types of events from lower layers.
* generate events to upper layers.
## MODES OF OPERATION
* Basic L2CAP Mode (equivalent to L2CAP specification in Bluetooth v1.1)
* Flow Control Mode
* Retransmission Mode
* Enhanced Retransmission Mode
* Streaming Mode
* LE Credit Based Flow Control Mode
## MAPPING CHANNELS TO LOGICAL LINKS
* L2CAP maps channels to Controller logical links, which in turn run over Controller physical links.
* All logical links going between a local Controller and remote Controller run over a single physical link.
* There is one ACL-U logical link per BR/EDR physical link and one LE-U logical link per LE physical link.
* There may be multiple AMP-U logical links per AMP physical link.