Description
The Service Discovery Protocol (SDP) is a core protocol in the Bluetooth specification, defined in the 3GPP context primarily for interoperability and testing references (e.g., in 3GPP TS 36.579 for LTE-WLAN interworking tests involving Bluetooth). SDP provides a mechanism for Bluetooth devices to discover services available on other Bluetooth devices and to retrieve the attributes of those services without prior knowledge. It operates in a client-server model: the device seeking services acts as an SDP client, while the device providing services acts as an SDP server. Each service is characterized by a set of attributes stored in an SDP server's service record database. The most fundamental attribute is a Universally Unique Identifier (UUID) which identifies the service class (e.g., Serial Port, Object Push, Headset Audio Gateway). SDP uses a request-response protocol over a dedicated L2CAP channel. A client can search for services based on service class UUIDs or browse an unspecified list of services offered by a server. Once a service of interest is discovered, the client can retrieve its attributes, which include information like the RFCOMM channel number or L2CAP Protocol Service Multiplexer (PSM) needed to actually connect to and use the service. SDP itself does not provide access to the services; it only provides the information needed to establish a connection using the appropriate protocol (e.g., RFCOMM for serial emulation, L2CAP for data channels). This design allows for a dynamic environment where devices can join and leave a piconet, advertising and discovering available capabilities on the fly. It is essential for the plug-and-play user experience associated with Bluetooth technology.
Purpose & Motivation
SDP was created to address a key challenge in ad-hoc wireless personal area networks (PANs): how can two Bluetooth devices, potentially from different manufacturers and with different capabilities, automatically determine what they can do together? Without a standardized discovery mechanism, users would need to manually configure connections, severely limiting usability and the potential for seamless interoperability. The purpose of SDP is to enable this automatic service discovery, which is the foundation for Bluetooth's goal of replacing cables. It solves the problem of service identification and description in a low-power, short-range, dynamic networking environment. Before establishing a data or voice connection, devices use SDP to answer questions like 'Does the other device offer a hands-free profile?' or 'Can it receive a business card?'. This allows applications to present users with meaningful options (e.g., 'Send File' or 'Use as Audio Output') only when the remote device supports them. Its creation was motivated by the need for a simple, efficient protocol that could run on resource-constrained devices and support the wide variety of services envisioned for Bluetooth, from file transfer to telephony control. By providing this discovery layer, SDP enabled the proliferation of interoperable Bluetooth profiles and the rich ecosystem of connected devices we see today.
Classification
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (72 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
In Release 15, the SDP function was extended to support new service discovery mechanisms, including the WebRTC Web Server Function discovery. It also introduced specific SDP body modifications for off-network Mission Critical services, such as adding an audio media level section for MCVideo group and private calls, and removing the IP address from the media-level section for MCData Standalone SDS. Furthermore, enhancements were made for ProSe direct discovery over WLAN with the addition of a Diameter AVP for charging.
- WebRTC Web Server Function discovery TS 23.228CR1173
- Add Diameter AVP for charging of WLAN-based ProSe direct discovery TS 32.299CR0796
- Clarification on PCF discovery and selection TS 29.513CR0003
- Correction to the PCF discovery and selection TS 29.513CR0016
- Correction on PCF discovery TS 29.513CR0052
- Adding audio media level section in SDP body for offnetwork MCVideo group and private call TS 24.281CR0072
+ 2 more changes
In Release 16, the SDP function was enhanced to enable new network function discovery mechanisms, specifically allowing the SMF to perform P-CSCF discovery using the NRF and updating PCF discovery procedures for the AF within the eSBA architecture. It also introduced clarifications and corrections for HSS and S-CSCF discovery processes, including interface type selection via the NRF. Furthermore, the release addressed technical corrections in areas like IP Connectivity SDP offer/answer generation and the handling of erroneous protocol data.
- HSS Discovery and Interface Type Selection TS 23.228CR1201
- Allowing SMF to perform P-CSCF Discovery using NRF TS 23.228CR1202
- Support for MCData emergency alert and communications MCC note: This CR introduces the abbreviation IMPU; MCC has added this in the list of abbreviations, choosing the most appropriate of the five variations appearing in other 3GPP Specs. Similarly, MCC has provided the expansions of abbreviations UUID and URN introduced, but not defined by, this CR. The newly introduced term "Group identity" has a circular definition. In §D.1.3,, "can" has been changed to "may" in newly introduced bullet points 11 c), 11 c) i), and 11 e). TS 24.282CR0126
- DNN Replacement as PCF discovery factor for the AMF TS 29.513CR0122
- Update of PCF discovery by the AF for eSBA TS 29.513CR0142
- Clarification for HSS Discovery and Interface Type Selection TS 23.228CR1212
+ 5 more changes
In Release 17, key SDP updates introduced specific discovery procedures for new functional entities like the TSCTSF (Transit and Screening Control Function) and the NWDAF (Network Data Analytics Function) by the PCF (Policy Control Function). Furthermore, the release enhanced the discovery mechanisms for the PCF itself, including its use for a UE, for a PDU session, and within MBS (Multicast Broadcast Service) PCC (Policy and Charging Control) deployments. It also added the functional alias association protocol implementations for critical MCPTT, MCData, and MCVideo service groups.
- Reference update for HTTP/1.1 protocol TS 24.259CR0055
- Functional alias association with MCVideo group - protocol implementation TS 24.281CR0141
- Functional alias association with MCData group - protocol implementation TS 24.282CR0265
- Functional alias association with MCPTT group - protocol implementation TS 24.379CR0747
- NWDAF discovery by the PCF TS 29.513CR0297
- Completion of PCF discovery mechanisms TS 29.513CR0300
+ 17 more changes
In Release 18, the SDP function was enhanced to support service discovery and capability exchange for new features including IMS Data Channels, V2X application servers for MBS, and RCS. Key additions involved new SDP attributes for data channel sub-protocols, direction attributes, and the encoding of configuration parameters for V2X MBS. The release also introduced clarifications and corrections for SDP offer-answer procedures in contexts like MCPTT, MCVideo, and one-to-one/group SDS communications.
- IMS DC capability discovery TS 23.228CR1268
- KI#4 Describe option to support MRF registration and discovery using NRF TS 23.228CR1265
- MCVideo support of multiplexing - SDP offers and answers TS 24.281CR0215
- MCPTT support of multiplexing - SDP offers and answers TS 24.379CR0889
- V2X application server discovery for MBS TS 24.587CR0275
- Introduction of V2X MBS parameter discovery TS 24.587CR0279
+ 20 more changes
In Release 19, the SDP function was enhanced to support the negotiation of IMS application data channels by adding an `app-dc-status` parameter to the `3gpp-req-app` attribute. It also introduced a new affiliation check procedure for handling SIP MESSAGE requests used for absolute URI discovery. Furthermore, corrections were made to bandwidth (`b=AS`) calculations and SDP examples for Immersive Voice and Audio Services (IVAS).
- Terminating local BDC establishment without BDC media component in SDP of incoming INVITE request TS 23.228CR1416
- Adding app-dc-status parameter to 3gpp-req-app attribute for SDP negotiation of IMS application data channels TS 26.114CR0590
- Affiliation check upon receiving a "SIP MESSAGE request for absolute URI discovery request" message TS 24.282CR0470
- Corrections to b=AS calculations and SDP examples for IVAS TS 26.114CR0600
Explore further
Broader topics and technologies where SDP plays a role.
Defining Specifications
3GPP specifications that define or reference SDP, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TR 21.905 vj00 | 3GPP Technical Terms and Definitions | Rel-19 |
| TR 22.977 vj00 | Speech Enabled Services and Multimodal Framework | Rel-19 |
| TS 23.140 v1600 | MMS Non-Realtime Service Definition | Rel-6 |
| TS 23.207 vj00 | End-to-End QoS Framework for GPRS | Rel-19 |
| TS 23.218 vj00 | IMS Call Model Specification | Rel-19 |
| TS 23.228 vj50 | IMS Stage-2 Service Description | Rel-19 |
| TS 23.231 vj00 | SIP-I based CS core network stage 2 | Rel-19 |
| TS 23.333 vj00 | MRFC-MRFP Mp Interface Requirements | Rel-19 |
| TS 23.479 vj00 | MBMS API for Mission Critical Services | Rel-19 |
| TS 23.701 vc00 | WebRTC Access to IMS Architecture Study | Rel-12 |
| TR 23.758 vh00 | Study on Edge Application Architecture | Rel-17 |
| TS 23.792 vg00 | MBMS API for Mission Critical Services | Rel-16 |
| TS 23.802 v1700 | Enhanced End-to-End QoS Architecture | Rel-7 |
| TS 23.849 vb00 | Study on IMS Roaming Media Optimization | Rel-11 |
| TS 23.894 va00 | IMS Local Breakout & Optimal Media Routing Study | Rel-10 |
| TR 23.979 vj00 | PoC over 3GPP Systems Architectural Requirements | Rel-19 |
| TS 24.103 vj00 | Telepresence Protocol for IMS | Rel-19 |
| TS 24.147 vj00 | IMS Conferencing Protocol Details | Rel-19 |
| TS 24.173 vj00 | Multimedia Telephony Service and Supplementary Services in IMS | Rel-19 |
| TS 24.196 vj00 | Enhanced Calling Name (eCNAM) Stage 3 Protocol | Rel-19 |
| TS 24.206 v1700 | Voice Call Continuity Between CS and IMS | Rel-7 |
| TS 24.228 v1500 | IP Multimedia Call Control Signaling Flows | Rel-5 |
| TS 24.229 vj50 | IMS call control protocol based on SIP and SDP | Rel-19 |
| TS 24.247 vj10 | IMS Messaging Service Protocol Details | Rel-19 |
| TS 24.259 vj00 | Personal Network Management (PNM) Protocol Details | Rel-19 |
| TS 24.281 vj40 | MCVideo Signalling Control Specification | Rel-19 |
| TS 24.282 vj50 | MCData Signalling Control Protocols | Rel-19 |
| TS 24.315 vj00 | Operator Determined Barring (ODB) for IMS | Rel-19 |
| TS 24.379 vj50 | Mission Critical Push To Talk (MCPTT) call control | Rel-19 |
| TS 24.385 vj00 | V2X Communication Provisioning Management Object | Rel-19 |
| TS 24.386 vj00 | V2X Communication Protocols and Procedures | Rel-19 |
| TS 24.404 v1700 | Communication Diversion Services (CDIV) | Rel-7 |
| TS 24.405 v1700 | Conference Service Protocol Description | Rel-7 |
| TS 24.406 v810 | Message Waiting Indication (MWI) Protocol | Rel-8 |
| TS 24.407 v830 | OIP and OIR Simulation Services Protocol | Rel-8 |
| TS 24.410 v810 | Protocol Description of HOLD Services | Rel-8 |
| TS 24.416 v1700 | Malicious Call Identification Service | Rel-7 |
| TS 24.428 v1700 | Common Basic Communication Procedures | Rel-7 |
| TS 24.454 v840 | Closed User Group (CUG) Protocol Specification | Rel-8 |
| TS 24.504 v8m0 | Communication Diversion Services Stage 3 | Rel-8 |
| TS 24.516 v830 | MCID Protocol Specification for NGN | Rel-8 |
| TS 24.528 v830 | Common Basic Communication Procedures for IMS Services | Rel-8 |
| TS 24.575 vj00 | UE Pre-configuration for MBS | Rel-19 |
| TS 24.587 vj30 | V2X Services Protocols for 5G System | Rel-19 |
| TS 24.604 vj00 | Communications Diversion (CDIV) Protocol Spec | Rel-19 |
| TS 24.606 vj00 | MWI Service Protocol Description | Rel-19 |
| TS 24.607 vj10 | OIP and OIR Supplementary Services Stage 3 | Rel-19 |
| TS 24.610 vj00 | Communication Hold (HOLD) Service Protocol | Rel-19 |
| TS 24.616 vj00 | Malicious Call Identification (MCID) Protocol | Rel-19 |
| TS 24.628 vj00 | Common Basic Communication Procedures in IMS | Rel-19 |
| TS 24.654 vj00 | Closed User Group (CUG) supplementary service | Rel-19 |
| TS 24.803 vc00 | Telepresence using IMS - Study | Rel-12 |
| TS 24.819 v1700 | IMS Services via Fixed Broadband Access | Rel-7 |
| TR 24.930 vj00 | IMS Session Setup Signalling Flows | Rel-19 |
| TS 26.114 vj10 | IMS Multimedia Telephony Media Handling | Rel-19 |
| TS 26.142 vj00 | 3GPP TS 26.142: Dynamic and Interactive Multimedia Scenes (DIMS) | Rel-19 |
| TS 26.223 vj00 | IMS Telepresence Client Specification | Rel-19 |
| TS 26.233 vf00 | 3GPP Packet-Switched Streaming Service (PSS) | Rel-15 |
| TS 26.234 vj00 | 3GPP PSS Protocols and Codecs Specification | Rel-19 |
| TS 26.235 vc00 | Default Codecs for 3GPP IP Multimedia Subsystem | Rel-12 |
| TS 26.236 vc00 | Packet Switched Conversational Multimedia Protocols | Rel-12 |
| TS 26.237 vj00 | IMS for PSS and MBMS Control | Rel-19 |
| TS 26.244 vj00 | 3GPP File Format (3GP) Specification | Rel-19 |
| TS 26.253 vj00 | IVAS Codec Algorithmic Description | Rel-19 |
| TS 26.346 vj20 | MBMS User Services Media Codecs & Protocols | Rel-19 |
| TS 26.347 vj00 | MBMS Transport Protocol and API (TRAPI) | Rel-19 |
| TS 26.348 vj00 | xMB Interface Specification | Rel-19 |
| TS 26.506 vj20 | Real-Time Media Communication Architecture for 5G | Rel-19 |
| TS 26.517 vj10 | 5G MBS User Service Protocols and Formats | Rel-19 |
| TS 26.802 vj20 | Multicast Enhancements for 5G Media Streaming | Rel-19 |
| TS 26.827 vc00 | IMS-based Streaming & Download Delivery Enhancements | Rel-12 |
| TS 26.847 vj00 | AI/ML Evaluation in 5G Media Services | Rel-19 |
| TR 26.862 vh00 | Immersive Teleconferencing & Telepresence for Remote Terminals | Rel-17 |
| TS 26.881 vf00 | MBMS FEC for Mission Critical Services Study | Rel-15 |
| TR 26.902 vj00 | Video Codec Performance for 3GPP Packet Services | Rel-19 |
| TR 26.905 vj00 | Study on Mobile 3D Video Services | Rel-19 |
| TR 26.910 vj00 | MTSI enhancements for RAN delay budget reporting | Rel-19 |
| TR 26.914 vj00 | Multimedia Telephony over IP Optimization | Rel-19 |
| TR 26.923 vj00 | Study on IMS-based Telepresence Media Handling | Rel-19 |
| TR 26.924 vj00 | MTSI QoS Improvement Study | Rel-19 |
| TR 26.928 vj00 | Study on eXtended Reality (XR) in 5G | Rel-19 |
| TR 26.937 vj00 | 3GPP PSS Characterization | Rel-19 |
| TR 26.946 vj00 | MBMS User Services Overview | Rel-19 |
| TR 26.962 vj00 | ITT4RT Operation and Usage Guidelines | Rel-19 |
| TR 26.980 vj00 | Multi-stream Multiparty Conferencing Media Handling | Rel-19 |
| TR 26.982 vj00 | Multiparty Real-Time Text Protocol Details | Rel-19 |
| TR 26.998 vj00 | 5G AR/MR Glasses Integration Study | Rel-19 |
| TS 27.060 vj00 | TE-MT Interworking for Packet Domain | Rel-19 |
| TS 29.232 vj00 | Mc Interface Protocol Profile | Rel-19 |
| TS 29.238 vj00 | H.248 Profile for IBCF-TrGW Interface | Rel-19 |
| TS 29.332 vj00 | MGCF-IM-MGW Interface Protocol (Mn) | Rel-19 |
| TS 29.333 vj00 | MRFC-MRFP Mp Interface Protocol | Rel-19 |
| TS 29.334 vj00 | IMS-ALG to IMS-AGW Interface Protocol | Rel-19 |
| TS 29.414 vj00 | Nb Interface Bearer Transport & Control Protocols | Rel-19 |
| TS 29.421 v810 | IMS Interworking with External IP Networks | Rel-8 |
| TS 29.424 v801 | H.248 Profile for Trunking Media Gateways | Rel-8 |
| TS 29.513 vj40 | 5G PCC Signalling Flows & QoS Mapping | Rel-19 |
| TS 29.514 vj40 | 5G System; Policy Authorization Service; Stage 3 | Rel-19 |
| TS 29.864 v801 | Application Server Service Data Definition for IMS Telephony | Rel-8 |
| TS 31.103 vj00 | ISIM Application Specification | Rel-19 |
| TS 32.260 vj10 | IMS Charging Management | Rel-19 |
| TS 32.272 vj00 | Charging for Push-to-Talk over Cellular (PoC) | Rel-19 |
| TS 32.299 vj00 | Diameter Charging Applications for 3GPP | Rel-19 |
| TS 33.108 vj00 | LI Handover Interface Specification | Rel-19 |
| TS 33.128 vj50 | 3GPP TS 33.128: Lawful Interception Protocols | Rel-19 |
| TS 33.203 vj10 | IMS Security Specification | Rel-19 |
| TS 33.303 vj00 | ProSe Security Specification for EPS | Rel-19 |
| TS 33.871 vc00 | Security for WebRTC IMS Client Access | Rel-12 |
| TS 36.579 | 3GPP TR 36.579 | R99 |
| TS 37.579 vi40 | Mission Critical services conformance testing | Rel-18 |