Modified

 by SHIBUTHOMAS

VersionFuture Release
Contact


Jira

Objective

To demonstrate a method to integrate Alexa Echo Dot with RDK 4.0 by developing Alexa skills and integrate on RDK 4.0 reference platforms:-

  • Raspberry Pi
  • Arris Accelerator - Commscope

Following sections will give the architecture details and end to end flow diagram  

Amazon Alexa Voice Control Reference High Level Architecture

Architecture ( End Product Reference Architecture for Alexa voice Integration )

*Note: Above is the stable state end goal of the product architecture. Rest of the section is for demonstration purposes as an example and not realizing the full scope of the above architecture as end goal. 

Architecture used for proof of integration concepts.

This above mentioned application helps to demonstrate E2E working of  Alexa voice and can easily extend to a more scalable, performant and SPOF(Single point of failure) handling design.


RDK Alexa Voice Integration - Amazon Voice Server ( AVS ) setup and configurations

Alexa Skill  Creation

Step one: got to https://developer.amazon.com/alexa/console/ and select your skill name

Step two: got to test tab

Step Three: Type or say your test command, eg: Alexa, tell stb voice move right

Step four: You will get a response, please note the user id – this maps our account to Django server later


RDK Alexa Voice Integration - Alexa Server configuration details

Configure Alexa User Account and STB account

It is customer responsibility to create Alexa Use account and STB account once Alexa voice feature has enabled. Following steps explains how can we create a user account. STB account  has to mapped with amazon user id and this mapping will ensure that respective alexa voice will reach to the right STB

Step one: Go to https://rdkvoice.iptn.io/admin

Step two: Go to  first users link 

Step Three: create a user account  

Step Four: user creation


Step Five: STB account creation


Step Five: STB account creation


E2E Sequence Diagram


Client side architecture

Below section give the details of the each components involved:-

  • html – This is the main HTML file which have the instructions to load the app-manager js file (maf.js)
  • App Manager – This block contains the logic to handle guide and app launch. The App manager will start the web socket by using the Alexa Integrator once the guide has finished launching.
  • Guide UI – This file exports a lightning app object which has all the required lightning components to show the guide
  • CNN – This file exports a lightning app object which has all the required lightning components to show the CNN app
  • Alexa Integrator – This file contains a function which will export the class, whose object can be used to integrate Alexa.


API definition

method: "RDK.RegisterNewDevice"

Input:

  • "id": "1234567890"

Output:

  • "id": "1234567890"

method: "RDK.CompleteRegistration"

Input:

  • "id": "1234567890"

Output:

  • "id": "1234567890"

method: "RDK.finalizeRegistration"

Input:

  • "id": "1234567890"
  • availableApplications:[{}]

Output:

  • "id": "1234567890"
  • result: {available applications in the box}

method: "RDK.LaunchApplication"

Input:

  • "id": "1234567890"
  • appURI: string
  • contentID: string
  • searchString: string

Output:

  • result : Boolean

Errors:

  • error code
    • 1 Application not available
    • 2 content not available

method: "RDK.GetCurrentApplication"

Input:

  • None

Output:

  • The appURI of the current application

method: "RDK. Navigate"

Input:

  • direction: String

Output:

  • Result: success

method: "RDK. MediaControl"

Input:

  • action: String

Output:

  • Result: success

How to configure server

Follow the process outlined in the attached document to configure the server.

Deployment guide.docx

FAQ

8.1 Is this a ready to deploy service integration ?

No, this is not. It is only meant for demonstration of capability purposes.

8.1 What is pending from this proof of concept to actually integrate echo dot as part of RDK 4.0 Voice ecosystem ?

Scalability and security of product deployment is missing in this implementation. 

8.3 Do I have to sign any special license or pay a fee to use this service if I have Alexa Echo Dot configured in my home Wifi ?

No. 

8.4 Who shall we contact in case we have to integrate more skills to this mode ?

TBD

8.5 Which version of Alexa devices are supported ? What about STB models ? RDK Software versions ?

TBD

8.6 What happens if my echo device does not recognize the commands in the prescribed formats of the API ? Which are the areas I should look for triaging ?

TBD

8.7 How scalable is the current solution ?

End state architecture has scalability built into it, current PoC is only for demonstration purposes.

8.8 How secure is the current solution ?

End state architecture has security built into it, current PoC is only for demonstration purposes.

8.9 Is there a plan in RDK community to realize the end state architecture ?

Currently No. We will revisit the plan based on the users feedback and interest in using this service.