You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Current »


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.

Introduction

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.

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.

Typographical Conventions

This specification uses different typefaces to differentiate and emphasize important information.
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.


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.

Revision History

Version

Date

Author

Remarks

D01

15 May 2020

Comcast

Initial Version


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

[BLUETOOTH] Bluetooth Core Specification version 4.0 or later

Terms and Definitions

This document uses the following terms and definitions.
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

 


Abbreviations and Acronyms

This document uses the following abbreviations and acronyms.
Table 3 - Abbreviations and Acronyms

Abbrv

Acronym

ADPCM

Adaptive Differential Pulse-Code Modulation

RVS

RDK Voice Service

RVR

RDK Voice Remote


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

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.

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.

Configuration

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.

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.

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.

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.

Transport Dependencies

This profile shall operate over an LE transport only.

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.

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

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).

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.

Service Type

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

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.

Appearance AD Type

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

Boot Control Mode

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

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.

Byte 0

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

Byte 6

Byte 7

Modifier

Reserved

Key 1

Key 2

Key 3

Key 4

Key 5

Key 6

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

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.

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

Table 8 - RDK Remote Control Device HID Information Characteristic Value

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

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

Service Type

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

Notifications

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

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

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

Service Type

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

PnP ID

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

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.

Immediate Alert Service

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

Service Type

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

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

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).

Alert Duration

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

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.

RDK Voice Service

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

Service Type

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

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

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

Service Type

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

RDK Firmware Upgrade Service

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

Service Type

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

Connection Requirements

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

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.

  • No labels