I have created a smart home skill for testing my amazon echo show integration with my smart camera. I have created a lambda function. When I test it on the AWS Lambda console it works fine. Below is the request body that I am using to test
{
"header": {
"namespace": "Alexa.ConnectedHome.Query",
"name": "RetrieveCameraStreamUriRequest",
"payloadVersion": "2",
"messageId": "ABC-123-DEF-456"
},
"payload": {
"accessToken": "[OAuth Token here]",
"directedId": "[directed customer id]",
"appliance": {
"applianceId": "[Device ID for the camera]",
"additionalApplianceDetails": {
"extraDetail1": "optionalDetailForSkillAdapterToReferenceThisDevice",
"extraDetail2": "There can be multiple entries",
"extraDetail3": "but they should only be used for reference purposes.",
"extraDetail4": "Not a suitable place to maintain current device state"
}
}
}
}
The response I get is
{
"header": {
"messageId": "38A28869-DD5E-48CE-BBE5-A4DB78CECB28",
"name": "RetrieveCameraStreamUriResponse",
"namespace": "Alexa.ConnectedHome.Query",
"payloadVersion": "2"
},
"payload": {
"uri": {
"value": "rtsp://xyz.com/playback/9a78b68f68ae4538a1cf"
},
"imageUri": {
"value": "https://www.google.co.in/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"
}
}
}
But when I test this with my alexa echo show it says "camera is not responding"
Can anyone suggest anything here?
I needed to specify 443 port in the URL... The issue is with
The doc says it only works with Interleaved TCP on port 443 (for both RTP and RTSP).
This now works