Bluetooth protocol stack ➤SDP

A service is a shared function that provides some data and performs an operation on behalf of a consumer. Service discovery is a key issue in an ad hoc network environment such as Bluetooth piconet or PTP direct communication. The SDP in Bluetooth defines a simple request-and-response mechanism that uses service records and service classes for service discovery and browsing. A Bluetooth device that is configured to offer a service should implement an SDP server. The service is described in a service record with a number of service attributes. A service record is identified by a 32-bit handle. A service attribute consists of an attribute ID and a value. SDP defines the following attributes: ServiceRecord-Handle, ServiceClassIDList, ServiceRecordState, ServiceID, ProtocolDescriptionList, BrowseGroupList, LanguageBaseAttributeIDList, ServiceInfoTimeToLive, ServiceAvailability, BluetoothProfi leDescriptorList, DocumentationURL, ClientExecutibleURL, IconURL, ServiceName, ServiceDescription, and ProviderName. Semantics of the attributes are further structured into service classes. As a result, a service record must have a ServiceClassIDList attribute that contains a list of service classes representing the general and exact descriptions of capabilities of the underlying service. Each class ID is a universally unique identifier (UUID) that is guaranteed to be unique in space and time.

Before service discovery between two Bluetooth devices occurs, they must be powered-on and initialized such that a Bluetooth link between them can be established, which may require the discovery of the address of the other device by initiating an inquiry process and the paging of the other device, as introduced in the previous section. Then a client can search for desirable services using a list of service attributes or browse the services offered by an SDP server by issuing a specific UUID of the BrowseGroupList attribute that represents the root browse service group of the SDP server. All services that may be browsed at the top level are members of the root browse group.

Source of Information : Elsevier Wireless Networking Complete 2010


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner