Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin


BLE RDK Voice Remote Profile Specification
RDK-SP-BLE-RVR-Service-D01-200515
Document Status: Draft
May 15, 2020
Document Status

Document Control Number:

RDK-SP-BLE-RVR-Service-D01-200515

Document Title:

BLE RDK Voice Remote Profile Specification

Versions:

D01 – May 15, 2020

Date:

May 15, 2020

Status:

Document Status: Draft

Distribution:

RDK members only

Document Status Codes
Work in Progress (W)An incomplete document designed to guide discussion and generate feedback that may include several alternative requirements for consideration.
Draft (D)A document in specification format considered largely complete, but lacking review. Drafts are susceptible to substantial change during the review process.
Issued (I)A stable document that has undergone rigorous review and is suitable for product design and development. It will serve as a basis for testing requirements.

Table of Contents
1. Introduction
1.1 Overview
1.2 Purpose of Document
1.3 Typographical Conventions
1.4 Requirements (Conformance Notation)
1.5 Revision History
2 References
2.1 Normative References
3 Terms and Definitions
4 Abbreviations and Acronyms
5 Introduction
5.1 Profile Dependencies
5.2 Conformance
6 Configuration
6.1 Roles
6.2 Role / Service Relationships
6.3 Concurrent Role Limitations and Restrictions
6.4 Topology Limitations and Restrictions
6.5 Transport Dependencies
6.6 Multiple Service Instances
7 Remote Control Device Requirements
7.1 HID Service
7.1.1 Dependent Service Requirements
7.1.2 Service Type
7.1.3 Service UUIDs AD Type
7.1.4 Appearance AD Type
7.1.5 Boot Control Mode
7.1.6 HID Report Map
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
7.1.7 HID Information
7.2 Battery Service
7.2.1 Service Type
7.2.2 Notifications
7.3 Device Information Service
7.3.1 Service Type
7.3.2 PnP ID
7.3.3 Mandatory String Characteristics
7.3.4 Immediate Alert Service
7.3.5 Service Type
7.3.6 Alert Levels
7.3.7 Alert uration
7.3.8 User Action
7.4 RDK Voice Service
7.4.1 Service Type
7.5 RDK IR Service
7.5.1 Service Type
7.6 RDK Firmware Upgrade Service
7.6.1 Service Type
8 Connection Requirements
9 Security Considerations

Tables
Table 1 - Typographical Conventions
Table 2 - Terms and Definitions
Table 3 - Abbreviations and Acronyms
Table 4: RDK Remote Control Device Service Requirements
Table 5: RDK Remote Control Device HID Service Requirements
Table 6: Typical Report Layout for Key Events
Table 7: Typical report map for keyboard/keypad reports
Table 8 - RDK Remote Control Device HID Information Characteristic Value
Table 9: RDK Remote Control Device Battery Service Requirements
Table 10: RDK Remote Control Device Information Service Requirements
Table 11: RDK Remote Control Device Immediate Alert Service Levels
Table 12: RDK Remote Control Device IR Service Requirements

Figures
No table of figures entries found.

Anchor
_Toc236461453
_Toc236461453
Anchor
_Toc352579429
_Toc352579429
Anchor
_Toc40437790
_Toc40437790
Introduction

Anchor
_Toc236461454
_Toc236461454
Anchor
_Toc352579430
_Toc352579430
Anchor
_Toc40437791
_Toc40437791
Overview

The RDK Voice Remote Profile is a profile for providing remote control functionality over BLE in the RDK ecosystem. The RVR Profile includes services for voice, firmware update, IR support, HoGP, battery level, alerting and device information.

Anchor
_Toc352579431
_Toc352579431
Anchor
_Toc40437792
_Toc40437792
Purpose of Document

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.

Anchor
_Toc352579434
_Toc352579434
Anchor
_Toc40437793
_Toc40437793
Anchor
_Toc107845694
_Toc107845694
Anchor
_Toc107846682
_Toc107846682
Anchor
_Toc132173416
_Toc132173416
Anchor
_Toc153605725
_Toc153605725
Anchor
_Toc208903908
_Toc208903908
Typographical Conventions

This specification uses different typefaces to differentiate and emphasize important information.

Anchor
_Toc40437847
_Toc40437847
Table 1 - Typographical Conventions

Typeface

Usage

Boldface

Used to call attention to a piece of information. For example:
This specification does not include headend diagnostic screens.

Boldface & Uppercase

Used to emphasize information and for readability. For example:
ENTER, MUTE, INFO, VOL +/- and other buttons on the remote control.

Italics

Used to emphasize that the information being presented is for informational purposes only and is not a requirement even though it may contain conformance language. For example:
Note: The voice controller uses the Channel Check Request to verify that the voice target has disabled frequency agility.

Uppercase

Used to define and signify a requirement. For example:
MUST, SHOULD, and MAY.


Anchor
_Toc352579435
_Toc352579435
Anchor
_Toc40437794
_Toc40437794
Requirements (Conformance Notation)

Throughout this document, the words that are used to define the significance of particular requirements are capitalized. These words are:
"MUST"This word or the adjective "REQUIRED" means that the item is an absolute requirement of this specification document.
"MUST NOT"This phrase means that the item is an absolute prohibition of this specification document.
"SHOULD"This word or the adjective "RECOMMENDED" means that there may exist valid reasons in particular circumstances to ignore this item, but the full implications should be understood and the case carefully weighed before choosing a different course.
"SHOULD NOT"This phrase means that there may exist valid reasons in particular circumstances when the listed behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before choosing a different course.
"MAY"This word or the adjective "OPTIONAL" means that this item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because it enhances the product, for example; another vendor may omit the same item.

Anchor
_Toc40437795
_Toc40437795
Anchor
_Toc352579437
_Toc352579437
Revision History

Version

Date

Author

Remarks

D01

15 May 2020

Comcast

Initial Version


Anchor
_Toc194472262
_Toc194472262
Anchor
_Toc194559202
_Toc194559202
Anchor
_Toc194559935
_Toc194559935
Anchor
_Toc216232400
_Toc216232400
Anchor
_Toc216236622
_Toc216236622
Anchor
_Toc220999718
_Toc220999718
Anchor
_Toc221949358
_Toc221949358
Anchor
_Toc352579438
_Toc352579438
Anchor
_Toc40437796
_Toc40437796
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.

Anchor
_Toc111007485
_Toc111007485
Anchor
_Toc111007732
_Toc111007732
Anchor
_Toc111007486
_Toc111007486
Anchor
_Toc111007733
_Toc111007733
Anchor
_Toc111007488
_Toc111007488
Anchor
_Toc111007735
_Toc111007735
Anchor
_Toc104019913
_Toc104019913
Anchor
_Ref95270381
_Ref95270381
Anchor
_Toc107845702
_Toc107845702
Anchor
_Toc107846690
_Toc107846690
Anchor
_Toc132173420
_Toc132173420
Anchor
_Toc153605729
_Toc153605729
Anchor
_Toc194472263
_Toc194472263
Anchor
_Toc194559203
_Toc194559203
Anchor
_Toc194559936
_Toc194559936
Anchor
_Toc216232401
_Toc216232401
Anchor
_Toc216236623
_Toc216236623
Anchor
_Toc220999719
_Toc220999719
Anchor
_Toc221949359
_Toc221949359
Anchor
_Toc352579439
_Toc352579439
Anchor
_Toc40437797
_Toc40437797
Normative References

Wiki Markup
\[BLUETOOTH\] Bluetooth Core Specification version 4.0 or later 
\\

Anchor
_Toc352579442
_Toc352579442
Anchor
_Toc40437798
_Toc40437798
Terms and Definitions

This document uses the following terms and definitions.

Anchor
_Ref238192023
_Ref238192023
Anchor
_Toc40437848
_Toc40437848
Table 2 - 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

 


Anchor
_Toc352579443
_Toc352579443
Anchor
_Toc40437799
_Toc40437799
Abbreviations and Acronyms

This document uses the following abbreviations and acronyms.

Anchor
_Toc40437849
_Toc40437849
Table 3 - Abbreviations and Acronyms

Abbrv

Acronym

ADPCM

Adaptive Differential Pulse-Code Modulation

RVS

RDK Voice Service

RVR

RDK Voice Remote


Anchor
_Toc40437800
_Toc40437800
Introduction

The RDK over GATT profile defines the procedures and features to be used by RDK Bluetooth low energy RCU devices using GATT.
This profile defines the services and their mandated characteristics required to meet the RDK RCU specification.
The profile shall operate over an LE transport only

Anchor
_Toc40437801
_Toc40437801
Profile Dependencies

This profile requires the following services and profiles.

  • Generic Attribute Profile (GATT)
  • Battery Service.
  • Device Information Service
  • Immediate Alert Service
  • RDK Voice Service
  • RDK Infrared Service
  • RDK Firmware Upgrade Service
  • Scan Parameters Profile.

This specification can be used with Bluetooth Core Specification Version 4.0 or later.

Anchor
_Toc40437802
_Toc40437802
Conformance

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

Anchor
_Toc40437803
_Toc40437803
Configuration

Anchor
_Toc40437804
_Toc40437804
Roles

The profile defines two roles: RDK Set Top Box (STB) and RDK Remote Control (RCU).

  • The RDK Remote Control shall be a GATT server.
  • The RDK Set Top Box shall be a GATT client.

Anchor
_Toc40437805
_Toc40437805
Role / Service Relationships



RDK GATT ServerRDK GATT Client
The RDK STB supports the Scan Client role of the Scan Parameters Profile.
The RDK RCU has a single instance of the HID Service, a single instance of the Battery Service, a single Instance of the Device Information Service, a single instance of the Immediate Alert Service, a single instance of the RDK Voice Service, a single instance of the RDK Infrared Service, and optionally one instance of the Scan Parameters Service as part of Scan Server role of the Scan Parameters Profile. The RDK RCU may optionally have single or multiple instances of other services.
Unlike in the HID over GATT Profile, the RDK profile does not allow for more than one instance of the HID Service or Battery Service.

Anchor
_Toc40437806
_Toc40437806
Concurrent Role Limitations and Restrictions

There are no concurrency limitations or restrictions for the RDK Set Top Box or Remote Control Device roles imposed by this profile.

Anchor
_Toc40437807
_Toc40437807
Topology Limitations and Restrictions

The RDK Remote Control Device shall use the GAP Peripheral role. The RDK Set Top Box shall use the GAP Central role.

Anchor
_Toc40437808
_Toc40437808
Transport Dependencies

This profile shall operate over an LE transport only.

Anchor
_Toc40437809
_Toc40437809
Multiple Service Instances


Multiple service instances shall not be support for the following services:

  • HID Service.
  • Battery Service.
  • Device Information Service. Immediate Alert Service.
  • RDK Voice Service.
  • RDK Infrared Service.
  • RDK Firmware Upgrade Service.

Optional services may support multiple instances but are not considered as part of this profile.

Anchor
_Toc40437810
_Toc40437810
Remote Control Device Requirements

The RDK Remote Control Device shall have one instance of the following services; HID Service, Device Information Service, Battery Service, Immediate Alert Service, RDK Voice Service, RDK Infrared Service and RDK Firmware Upgrade Service. Optionally the Scan Parameters Service may be implemented, but only a single instance.
The RDK Remote Control Device may support the functionalities defined by the Scan Server role of the Scan Parameters Profile.
Table 4 shows the requirements for the RDK Remote Control Device.

Service

Requirement

HID Service

Mandatory

Battery Service

Mandatory

Device Information Service

Mandatory

Immediate Alert Service

Mandatory

RDK Voice Service

Mandatory

RDK IR Service

Mandatory

RDK Firmware Upgrade Service

Mandatory

Scan Parameters Service

Optional

Table 4: RDK Remote Control Device Service Requirements

Anchor
_Toc40437811
_Toc40437811
HID Service

This sub-section defines additional RDK Remote Control Device requirements beyond this defined in the HID Service.
Table 5 shows the HID Service characteristic and descriptor requirements for the Remote Control Device.

Characteristic

Descriptor

Requirement

Protocol Mode

 

X

Boot Keyboard Input Report

 

X

Boot Keyboard Output Report

 

X

Boot Mouse Input Report

 

X

Report Map

 

M

 

External Reference

X

Report

 

M

 

Client Characteristic Configuration

M

 

Report Reference

M

HID Information

 

M

HID Control Point

 

M

Table 5: RDK Remote Control Device HID Service Requirements
Requirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).

Anchor
_Toc40437812
_Toc40437812
Dependent Service Requirements

The HID Service shall not include any external services within its HID report map. All Report Reference characteristics will define Report characteristics within the HID Service.

Anchor
_Toc40437813
_Toc40437813
Service Type

All HID Service instances shall be instantiated as a Primary Service as part of this profile.

Anchor
_Toc40437814
_Toc40437814
Service UUIDs AD Type

While in GAP Discoverable Mode for initial connection to an RDK STB, the RDK Remote Control Device should include the HID Service UUID defined in the Service UUIDs AD type field of the advertising data.

Anchor
_Toc40437815
_Toc40437815
Appearance AD Type

The RDK Remote Control Device should include it's Appearance in its Advertising Data or Scan Response Data.

Anchor
_Toc40437816
_Toc40437816
Boot Control Mode

The RDK Remote Control Device should not support Boot Protocol Mode.

Anchor
_Toc40437817
_Toc40437817
HID Report Map

The HID Report Map characteristic must contain a report in the General Descriptor Ctrls (0x01) usage page with usage type set to Keyboard (0x06). It is recommended that the report byte layout as specified in the HID Report matches a typical HID keyboard.
Table 6 shows a typical HID report data format allowing for up to 6 keys to be signaled at once.

Anchor
_Toc40437818
_Toc40437818
Byte 0

Anchor
_Toc40437819
_Toc40437819
Byte 1

Anchor
_Toc40437820
_Toc40437820
Byte 2

Anchor
_Toc40437821
_Toc40437821
Byte 3

Anchor
_Toc40437822
_Toc40437822
Byte 4

Anchor
_Toc40437823
_Toc40437823
Byte 5

Anchor
_Toc40437824
_Toc40437824
Byte 6

Anchor
_Toc40437825
_Toc40437825
Byte 7

Modifier

Reserved

Key 1

Key 2

Key 3

Key 4

Key 5

Key 6

Anchor
_Toc40437852
_Toc40437852
Table 6: Typical Report Layout for Key Events
Table 7 shows an example of a typical HID Report Map

Report Data

Description

0x05, 0x01,

Usage Page (Generic Desktop Ctrls)

0x09, 0x06,

Usage (Keyboard)

0xA1, 0x01,

Collection (Application)

0x85, 0x02,

Report ID (2)

0x05, 0x07,

Usage Page (Kbrd/Keypad)

0x19, 0xE0,

Usage Minimum (0xE0)

0x29, 0xE7,

Usage Maximum (0xE7)

0x15, 0x00,

Logical Minimum (0)

0x25, 0x01,

Logical Maximum (1)

0x75, 0x01,

Report Size (1)

0x95, 0x08,

Report Count (8)

0x81, 0x02,

Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)

0x81, 0x02,

Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)

0x95, 0x01

Report Count (1)

0x75, 0x08,

Report Size (8)

0x81, 0x01,

Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)

0x95, 0x06,

Report Count (6)

0x75, 0x08,

Report Size (8)

0x15, 0x00,

Logical Minimum (0)

0x26, 0xDD, 0x00,

Logical Maximum (221)

0x05, 0x07,

Usage Page (Kbrd/Keypad)

0x19, 0x00,

Usage Minimum (0x00)

0x29, 0xDD,

Usage Maximum (0xDD)

0x81, 0x00,

Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)

0xC0

End Collection

Anchor
_Toc40437853
_Toc40437853
Table 7: Typical report map for keyboard/keypad reports
The RDK Remote Control Device may include other reports in the Report Map provided they do not identify themselves as a Keyboard report or other key entry usage types. There shall only be one Report for key event input. In addition, the single instance of the Keyboard report shall only contain input fields.

Anchor
_Toc40437826
_Toc40437826
HID Information

The HID Information Characteristic value shall contain the field values defined in table 3.5.

HID Attribute

Size

Value

Details

bcdHID

2 octets

0x0110

Base USB HID specification

bCountryCode

1 octet

0x00

Unused

Flags

1 octet

0x02

Disable RemoteWake,
Enable NormallyConnectable

Anchor
_Toc40437854
_Toc40437854
Table 8 - RDK Remote Control Device HID Information Characteristic Value

Anchor
_Toc40437827
_Toc40437827
Battery Service

This sub-section defines additional RDK Remote Control Device requirements beyond those defined in the Battery Service.
Table 9 shows the Battery Service characteristic and descriptor requirements for the RDK Remote Control Device.

Characteristic

Descriptor

Requirement

Battery Level

 

M

 

Client Characteristic Configuration

M

 

Characteristic Presentation Format

X

Anchor
_Toc40437855
_Toc40437855
Table 9: RDK Remote Control Device Battery Service Requirements
Requirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).

Anchor
_Toc40437828
_Toc40437828
Service Type

There shall be a single instance of the Battery Service instantiated as a Primary Service.

Anchor
_Toc40437829
_Toc40437829
Notifications

The RDK Remote Control Device shall implement the notification property of the Battery Level characteristic

Anchor
_Toc40437830
_Toc40437830
Device Information Service

This sub-section defines additional RDK Remote Control Device requirements beyond those defined in the Device Information Service.
Table 10 shows the Device Information Service characteristic and descriptor requirements for the RDK Remote Control Device.

Characterirstic

Descriptor

Requirement

Manufacturer Name String

 

M

Model Number String

 

M

Serial Number String

 

M

Hardware Revision String

 

M

Firmware Revision String

 

M

Software Revision String

 

M

System ID

 

O

IEEE Regulatory Certification Data List

 

X

PnP ID

 

M

Anchor
_Toc40437856
_Toc40437856
Table 10: RDK Remote Control Device Information Service Requirements
Requirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).

Anchor
_Toc40437831
_Toc40437831
Service Type

There shall be a single instance of the Device Information Service instantiated as a Primary Service as part of this profile.

Anchor
_Toc40437832
_Toc40437832
PnP ID

The PnP ID characteristic is mandatory and should contain a unique vendor and product ID.

Anchor
_Toc40437833
_Toc40437833
Mandatory String Characteristics

The Manufacturer Name, Model Number, Serial Number, Hardware Revision, Firmware Revision and Software Revision String characteristics are all mandatory, they shall only contain characters in the ASCII character range. The strings shall not exceed 32 characters and shall not contain control or formatting (i.e. newline, form feed, backspace, etc) characters.

Anchor
_Toc40437834
_Toc40437834
Immediate Alert Service

This sub-section defines additional RDK Remote Control Device requirements beyond those defined in the Immediate Alert Service.

Anchor
_Toc40437835
_Toc40437835
Service Type

There shall be a single instance of the Immediate Alert Service instantiated as a Primary Service as part of this profile.

Anchor
_Toc40437836
_Toc40437836
Alert Levels

The RDK Remote Control Device shall support all three possible alert levels as defined in table 3.8, No Alert shall be the default state.

Alert Level

Requirement

No Alert

M

Mild Alert

M

High Alert

M

Anchor
_Toc40437857
_Toc40437857
Table 11: RDK Remote Control Device Immediate Alert Service Levels
Requirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).

Anchor
_Toc40437837
_Toc40437837
Alert Duration

The RDK Remote Control Device shall signal a mild or high alert for a maximum of 30 seconds.

Anchor
_Toc40437838
_Toc40437838
User Action

A Mild or High Alert shall be cancelled if the user presses any button on the device, in such cases no IR or HID report shall be issued for the button press.

Anchor
_Toc40437839
_Toc40437839
RDK Voice Service

This sub-section defines additional RDK Remote Control Device requirements beyond those defined in the RDK Voice Service.

Anchor
_Toc40437840
_Toc40437840
Service Type

There shall be a single instance of the RDK Voice Service instantiated as a Primary Service as part of this profile.

Anchor
_Toc40437841
_Toc40437841
RDK IR Service

This sub-section defines additional RDK Remote Control Device requirements beyond those defined in the RDK Infrared Service.
Table 12 shows the Infrared Signal characteristic requirements for the RDK Remote Control Device, i.e. this is the list of IR signals that are allowed to be programmed and the RDK RCU device's requirements to support them.

IR Signal Reference

Requirement

Standby/Power Key

O

Input Selection Key

O

Volume Up Key

O

Volume Down Key

O

Mute Key

O

OK/Select Key

O

Up Key

O

Down Key

O

Left Key

O

Right Key

O

Anchor
_Toc40437858
_Toc40437858
Table 12: RDK Remote Control Device IR Service Requirements
Requirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).

Anchor
_Toc40437842
_Toc40437842
Service Type

There shall be a single instance of the RDK IR Service instantiated as a Primary Service as part of this profile.

Anchor
_Toc40437843
_Toc40437843
RDK Firmware Upgrade Service

This sub-section defines additional RDK Remote Control Device requirements beyond those defined in the RDK Firmware Upgrade Service.

Anchor
_Toc40437844
_Toc40437844
Service Type

There shall be a single instance of the RDK Firmware Upgrade Service instantiated as a Primary Service as part of this profile.

Anchor
_Toc40437845
_Toc40437845
Connection Requirements

This section descriptor the connection establishment and connection termination procedures used by an RDK STB and RCU Device in certain scenarios.
TBD.

Anchor
_Toc40437846
_Toc40437846
Security Considerations

This section describes the security considerations for a RDK Remote Control Device.The RDK Remote Control Device shall use LE Security Mode 1 and either Security Level 2 or 3.
All supported characteristics specified by the HID Service shall be set to Security Mode 1 and either Security Level 2 or 3.
RDK RCU Devices shall bond and use LE Security Mode 1, Security Level 2 or 3, both of which require an encrypted link. Encryption is used to verify that a bond still exists and is valid.
The RDK RCU Device should use the SM Slave Security Request, as defined in Bluetooth Core Specification Version 4.0 Volume 3, Part H, Section 2.4.6, procedure to inform the RDK STB Host of its security requirements.
All supported characteristics specified by the Device Information Service, Scan Parameters Service, Battery Service, RDK Voice Service and RDK Infrared Service should be set to the same LE Security Mode and the same Security Level as the characteristics in the HID Service.