...
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 |
---|
|
Introduction Anchor |
---|
| _Toc236461454 |
---|
| _Toc236461454 |
---|
|
Anchor |
---|
| _Toc352579430 |
---|
| _Toc352579430 |
---|
|
OverviewThe 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 |
---|
|
Purpose of DocumentThis 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 |
---|
| _Toc107845694 |
---|
| _Toc107845694 |
---|
|
Anchor |
---|
| _Toc107846682 |
---|
| _Toc107846682 |
---|
|
Anchor |
---|
| _Toc132173416 |
---|
| _Toc132173416 |
---|
|
Anchor |
---|
| _Toc153605725 |
---|
| _Toc153605725 |
---|
|
Anchor |
---|
| _Toc208903908 |
---|
| _Toc208903908 |
---|
|
Typographical ConventionsThis specification uses different typefaces to differentiate and emphasize important information.
Table 1 - Typographical ConventionsTypeface | 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 |
---|
|
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 |
---|
| _Toc352579437 |
---|
| _Toc352579437 |
---|
|
Revision HistoryVersion | 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 |
---|
|
ReferencesReasonable 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 |
---|
| _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 |
---|
|
Normative References
Wiki Markup |
---|
\[BLUETOOTH\] Bluetooth Core Specification version 4.0 or later
\\ |
Anchor |
---|
| _Toc352579442 |
---|
| _Toc352579442 |
---|
|
Terms and DefinitionsThis document uses the following terms and definitions.
Anchor |
---|
| _Ref238192023 |
---|
| _Ref238192023 |
---|
|
Table 2 - Terms and DefinitionsTerm | 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 |
---|
|
Abbreviations and AcronymsThis document uses the following abbreviations and acronyms.
Table 3 - Abbreviations and AcronymsAbbrv | Acronym |
ADPCM | Adaptive Differential Pulse-Code Modulation |
RVS | RDK Voice Service |
RVR | RDK Voice Remote |
IntroductionThe 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 DependenciesThis profile requires the following services and profiles.
...
This specification can be used with Bluetooth Core Specification Version 4.0 or later.
ConformanceAll 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.
ConfigurationRolesThe 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 RestrictionsThere are no concurrency limitations or restrictions for the RDK Set Top Box or Remote Control Device roles imposed by this profile.
Topology Limitations and RestrictionsThe RDK Remote Control Device shall use the GAP Peripheral role. The RDK Set Top Box shall use the GAP Central role.
Transport DependenciesThis profile shall operate over an LE transport only.
Multiple Service Instances
Multiple service instances shall not be support for the following services:
...
Optional services may support multiple instances but are not considered as part of this profile.
Remote Control Device RequirementsThe 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.
...
Table 4: RDK Remote Control Device Service Requirements
HID ServiceThis 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.
...
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 RequirementsThe 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 TypeAll HID Service instances shall be instantiated as a Primary Service as part of this profile.
Service UUIDs AD TypeWhile 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 TypeThe RDK Remote Control Device should include it's Appearance in its Advertising Data or Scan Response Data.
Boot Control ModeThe RDK Remote Control Device should not support Boot Protocol Mode.
HID Report MapThe 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.
| | | | | | | |
Modifier | Reserved | Key 1 | Key 2 | Key 3 | Key 4 | Key 5 | Key 6 |
...
Table 7: Typical report map for keyboard/keypad reportsThe 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 InformationThe HID Information Characteristic value shall contain the field values defined in table 3.5.
...
Table 8 - RDK Remote Control Device HID Information Characteristic ValueBattery ServiceThis 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.
...
Table 9: RDK Remote Control Device Battery Service RequirementsRequirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).
Service TypeThere shall be a single instance of the Battery Service instantiated as a Primary Service.
NotificationsThe RDK Remote Control Device shall implement the notification property of the Battery Level characteristic
Device Information ServiceThis 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.
...
Table 10: RDK Remote Control Device Information Service RequirementsRequirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).
Service TypeThere shall be a single instance of the Device Information Service instantiated as a Primary Service as part of this profile.
PnP IDThe PnP ID characteristic is mandatory and should contain a unique vendor and product ID.
Mandatory String CharacteristicsThe 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 ServiceThis sub-section defines additional RDK Remote Control Device requirements beyond those defined in the Immediate Alert Service.
Service TypeThere shall be a single instance of the Immediate Alert Service instantiated as a Primary Service as part of this profile.
Alert LevelsThe RDK Remote Control Device shall support all three possible alert levels as defined in table 3.8, No Alert shall be the default state.
...
Table 11: RDK Remote Control Device Immediate Alert Service LevelsRequirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).
Alert DurationThe RDK Remote Control Device shall signal a mild or high alert for a maximum of 30 seconds.
User ActionA 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 ServiceThis sub-section defines additional RDK Remote Control Device requirements beyond those defined in the RDK Voice Service.
Service TypeThere shall be a single instance of the RDK Voice Service instantiated as a Primary Service as part of this profile.
RDK IR ServiceThis 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.
...
Table 12: RDK Remote Control Device IR Service RequirementsRequirements marked with 'M' are mandatory, 'O' are optional, and 'X' are excluded (not permitted).
Service TypeThere shall be a single instance of the RDK IR Service instantiated as a Primary Service as part of this profile.
RDK Firmware Upgrade ServiceThis sub-section defines additional RDK Remote Control Device requirements beyond those defined in the RDK Firmware Upgrade Service.
Service TypeThere shall be a single instance of the RDK Firmware Upgrade Service instantiated as a Primary Service as part of this profile.
Connection RequirementsThis section descriptor the connection establishment and connection termination procedures used by an RDK STB and RCU Device in certain scenarios.
TBD.
Security ConsiderationsThis 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.