The RDK Voice Service is a service for transmitting voice data over BLE in the RDK ecosystem. The RDK Voice Service is specifically designed to enable voice control of a BLE voice client. This document defines detailed requirements for the RDK Voice Service. It is intended to specify transmission of voice data from an RVS server to an RVS client.

References

Reasonable effort is made to keep references up to date with respect to versions and release dates, however manufacturers are responsible for ensuring they have the most recent version of a reference specification (unless otherwise noted). Where conflicts exist between requirements contained in this specification and normative references, the specification requirements govern.

Normative References

[ADPCM]                            Recommended Practices for Enhancing Digital Audio Compatibility in Multimedia Systems, IMA Digital Audio Focus and Technical Working Groups; DATWG Recommendation, October 21, 1992.

[BLUETOOTH]                     Bluetooth Core Specification version 4.0 or later

Terms and Definitions

Term

Definition

Adaptive Differential Pulse-Code Modulation

A compression algorithm that varies the size of the quantization step, allowing further reduction of the required bandwidth for a given signal-to-noise ratio.

Opus


Abbreviations and Acronyms

Abbrv

Acronym

ADPCM

Adaptive Differential Pulse-Code Modulation

RVS

RDK Voice Service

BLE Voice Overview

The RDK Voice Service exposes data and associated formatting for streaming voice audio from an RDK Remote Control Device to an RDK based STB.

Conformance

All capabilities indicated as mandatory for this Service shall be supported in the specified manner (process-mandatory). This also applies for all optional and conditional capabilities for which support is indicated.

Service Dependency

This service is not dependent upon any other services.

Bluetooth Specification Release Compatibility

This specification is compatible with any Bluetooth core specification as defined in [BLUETOOTH] that includes the Generic Attribute Profile (GATT) specification and the Bluetooth Low Energy Controller specification.

GATT Sub-Procedure Requirements

Requirements in this section represent a minimum set of requirements for an RDK Remote Control Device (GATT Server). Other GATT sub-procedures may be used if supported by both Client and Server.

Table below summarises additional GATT sub-procedure requirements beyond those required by all GATT Servers.

GATT Sub-Procedure

Requirement

Read Characteristic Value

M

Write Characteristic Value

M

Write Without Response

O

Notification

M

Read Characteristic Descriptors

M

Write Characteristic Descriptors

M

Transport Dependencies

The service shall only operate over an LE transport.

Error Codes

This service does not define any application error codes that are used in Attribute Protocol.

Byte Transmission Order

All characteristics used with this service shall be transmitted with the least significant octet first (i.e., little endian).

Service Requirements

Service Declaration

The service UUID shall be set to: TBD

Service Roles

A remote control or similar low power device enabled with one or multiple microphones should function as an RVS Server. 

A settop box or other host capable of processing transmitted voice data should function as an RVS Client

Service Sequence Examples

Push-to-talk Voice Session Sequence

Explicitly Rejected Push-to-talk Voice Session Sequence

Far-Field Voice Session Sequence

Characteristic Overview