I am trying to get the Google Home Camera working with WebRTC.
GetCameraStream request:
{"inputs":[{"context":{"locale_country":"US","locale_language":"en"},"intent":"action.devices.EXECUTE","payload":{"commands":[{"devices":[{"id":"xxx"}],"execution":[{"command":"action.devices.commands.GetCameraStream","params":{"StreamToChromecast":true,"SupportedStreamProtocols":["webrtc"]}}]}]}}],"requestId":"8537385264491436978"}
Response
{"status":200,"headers":{"content-type":"application/json;charset=utf-8"},"body":{"requestId":"8537385264491436978","payload":{"commands":[{"ids":["64971cac94b0e2a6240518ad"],"status":"SUCCESS","states":{"online":true,"cameraStreamSignalingUrl":"https://xxxx/signaling/answer","cameraStreamIceServers":"","cameraStreamOffer":"","cameraStreamAuthToken":""}}]}}}
After that I expect Google Home to send the SDP offer request to "https://xxxx/signaling/answer"
endpoint but it's not.
However, I am seeing Google Home calls "https://xxxx/signaling/answer"
when the user close the google home app screen.
{"action":"end"}
In the Google Cloud Logs. I can see
{
.....
"jsonPayload": {
"clientUpdateLog": {
"deviceType": "action.devices.types.CAMERA",
"camerastreamProtocol": "webrtc",
"camerastreamExecutionUpdate": {
"streamTerminationTime": "2023-06-30T01:13:01.012600898Z",
"webrtcSignalingInitiationTime": "2023-06-30T01:13:01.010277032Z",
"status": "EMPTY_SDP",
"testPartnerFacingDebugString": "The operation couldn’t be completed. (ASTWebRTCConnectionDomain error -1015.)"
},
"httpRequestId": "15739477561818846648"
}
},
..
}
just wondering what's EMPTY_SDP
means here since cameraStreamOffer
in the response is optional according to Google Home documentation