Getting Monocle working with Alexa with Service
-
That was a rough morning . All my camera feeds were down. I use the external MonocleCam gateway/portal/proxy and this AM none of my camera’s were showing on Alexa.
If you read any of my previous posts - my setup is BlueIris server with 6 cameras including PTZ, Onvif and no-name. I’ve had problems with NEW amazon devices (the Gen 3 10" Show NEVER worked and I sent it back.)
On my Echo Show 5", 8" and 10" displays, all cameras have always worked. When I saw the post this AM about Monocle being down - I checked my own cameras and - all were down.
I do development work for Home Automation on Hubitat - drivers etc and I integrate my feeds onto dashboards using the setup I just mentioned. There have been a lot of posting about Amazon redoing code and breaking things this last week.
It seems to have settled down - and I do not know much about what was changed so please don’t ask - my last debug venture which found problems with the new Fire OS - I never got Amazon to do sh*t about the problems I found on their end.
All that said - the solution this AM was easy - I deleted all my Cameras from Alexa (use your phone app, devices and Remove button) then had Alexa do a Discovery. All cameras found and all worked - again.
I use BlueIris for transcoding of non-standard streams to usable streams for Alexa - if you’re having problems with Camera setups and have never got them running previously - be sure to check the Help posting about new setups. If you’re an existing user and things are broke… double check things, then rediscover. -
@jshimota Okay. I lied.
I was adding another camera after what I thought was fixing my Alexa stream this AM - and determined I had been bypassing the Alexa when I tied dashboard tiles to the RTSP stream.
When I actually got off my butt and told Alexa Show in my kitchen to display the feed - it wasn’t displayed. All the camera’s are down. I do see Alexa changing the calls when I adjust the Monoclecam.com cameras but nothing I do is getting a display. VLC tests good, ONVif cam streams are normal and everything looks correct and unplayed with.
Researching further, it is possible I’ve found the latest problem which I think would affect just about everyone.
This AM, while reading the Amazon tech specs on RTSP integration - I stumbled over this:
Prerequisites and SLA requirementsLow latency is critical to an optimal user experience. To use the CameraStreamController API, you need the following:
RTSP + RTP streaming protocol. Interleaved TCP on port 443 (for both RTP and RTSP). TCP socket encryption on port 443 using TLS 1.2. The RTSP commands DESCRIBE, SETUP, PLAY, and TEARDOWN are required, although we recommend a full RFC compliant implementation. All RTSP URI responses must occur within six seconds from when the request is received.
443??!? so it has to use secure socket now? SH*T on a shingle. Thankfully I’m on BlueIris and can use an HTTPS port fairly easily but now I have to re-arrange some served ports, change BI, change my strings AND test. If I find I solve my own problem - I’ll post back.
-
I can confirm this is broken for me too. This integration has been working for years with Unifi cameras and within the last few days, nothing works. It looks like amazon now requires RTSPS Streams, but I still can’t even get that to work when I update the streams in the Monocle portal to RTSPS. What am I missing?
-
looks like their Proxy Server is down:
https://stats.monoclecam.com/Does anyone know how to contact them? They must not know that it is down.
-
@chriskooken I am by no means an expert - but rtsp (s)… is that a thing now? I realize we say ‘https’ for an ssl http and we’re talking about rtsp with ssl (but in this case it’s tls which is a different beast in the same forest). I guess I’ll begin referring to rtsp secured as rtsps in the future.
back to the problem at hand - the proxy down - I suspect it’s not down but broken by the changes by Amazon - thats just mho. Regardless, is you D/L the standalone version of the Gateway it has a proxy that comes with it. I tested for a few hours yesterday and was unable to definitively determine where the problem comes from. Error logs state I’m getting a started RTSP stream then it dies and I truly have no idea why.
I’ve fired up the old STunnel and rebuilt my firewalls/forwards and the BI configuration. I really don’t want to run NGrok ugh.
I have heard (and maybe someones got a rPI laying around?) that using a redirect from an rPI works better - something about the implementation of TLS1.2?
Honestly, ever since Microsoft started killing TLS 1.1 last year - I’ve been fighting hard to maintain some older tools. Theres a workaround on the TLS 1.1 so I can still keep running my Outlook 2010 but you’ve gotta manage it up on 0365 which is a nightmare! sorry. off topic.
I’m going to try more today to see if I can break this logjam but it doesn’t look good with the tools we have. Has anyone posted or checked on BI forums or IPCamTalk about the issue? Any other useful comments? Monocle is going to be blamed for this and honestly, I don’t think its his fault. -
that link you sent @chriskooken - I’d never seen it before, but if I hover over the last bar it is no show a percentage and the ‘operational’ is on so it seems up… do you think so?
Running a local gateway and proxy (NOT using stunnel) I see this:
RTSP STREAM MODIFIED: Backyard
Any existing RTSP steams will be shut down
and a new stream instance will be registered.2021-11-19T19:30:10.473Z [DEBUG] <RTSP-PROXY> [REQUEST] --> [DEREGISTER] rtsp://192.168.1.125:554/Backyard
2021-11-19T19:30:10.474Z [TRACE] <RTSP-PROXY> [REQUEST] --> [HEADERS] {“cseq”: “1”,“transport”: “reuse_connection=0;preferred_delivery_protocol=udp;proxy_url_suffix=STREAM:ffe31e37-8ab1-4a3c-b2e9-220df5f1a6a7”}
2021-11-19T19:30:10.475Z [DEBUG] <RTSP-PROXY> [RESPONSE] <-- [451 (Invalid parameter)] <cseq=1> (session=undefined)
2021-11-19T19:30:10.475Z [TRACE] <RTSP-PROXY> [RESPONSE] <-- [HEADERS] { “cseq”: “1”, “date”: “Fri, Nov 19 2021 19:30:10 GMT”}
So my interpretation is that we indeed are seeing something new at the Proxy - that’s the dead spot. session=undefined… no stream is established so there isn’t yet a session - maybe this is a tls 1.1 to tls 1.2 issue? I’ve no idea! -
I was able to find the developer and I reached out to him directly. He fixed the proxy server and all my cameras are working again.
-
@jshimota said in Getting Monocle working with Alexa with Service:
ave heard (and maybe someones got a rPI laying around?) that using a redirect from an rPI works better - something about the implementation of TLS1.2?
Honestly, ever since Microsoft started killing TLS 1.1 last year - I’ve been fighting hard to maintain some older tools. Theres a workaround on the TLS 1.1 so I can still keep running my Outlook 2010 but you’ve gotta manage it up on 0365 which is a nightmare! sorry. off topic.
I’m going to try more today to see if I can break this loWell, the Monocle proxy was down … (an issue on our end -> https://stats.monoclecam.com/782085767) but its back up now.
Are your systems working now or still having issues?Thanks, Robert
-
I have tried most things suggested and I am still having problems so I am guessing that Alexa running on Windows for what ever reason is not supported and is not quit the same as having a full physical Alexa Show device in some way. I am at the moment trying other methods to get round the problem involving using ISPY with the Agent.
-
@chriskooken said in Getting Monocle working with Alexa with Service:
I can confirm this is broken for me too. This integration has been working for years with Unifi cameras and within the last few days, nothing works. It looks like amazon now requires RTSPS Streams, but I still can’t even get that to work when I update the streams in the Monocle portal to RTSPS. What am I missing?
For clarity, the Monocle Proxy server and Monocle Gateway both use different methods to attempt to satisfy the TLS/HTTPS/SSL requirements by Amazon. Many IP camera’s don’t support a SSL certificate and that various other secure requirements imposed by Amazon. So we attempt to satisfy these requirements such that Monocle users don’t have to overcome these complicated setups.
In some cases, the Monocle Proxy server may not be enough and a local Monocle Gateway server must be used.Thanks, Robert
-
@jshimota said in Getting Monocle working with Alexa with Service:
…
Researching further, it is possible I’ve found the latest problem which I think would affect just about everyone.
This AM, while reading the Amazon tech specs on RTSP integration - I stumbled over this:
Prerequisites and SLA requirementsLow latency is critical to an optimal user experience. To use the CameraStreamController API, you need the following:
RTSP + RTP streaming protocol. Interleaved TCP on port 443 (for both RTP and RTSP). TCP socket encryption on port 443 using TLS 1.2. The RTSP commands DESCRIBE, SETUP, PLAY, and TEARDOWN are required, although we recommend a full RFC compliant implementation. All RTSP URI responses must occur within six seconds from when the request is received.
443??!? so it has to use secure socket now? SH*T on a shingle. Thankfully I’m on BlueIris and can use an HTTPS port fairly easily but now I have to re-arrange some served ports, change BI, change my strings AND test. If I find I solve my own problem - I’ll post back.
So these requirements have been in place for several years now and yes they are somewhat stupid and unnecessarily complicated for local network camera streams. In summary the following is required by Alexa/FireTV devices:
- Only stream on port 443
- Must use TLS (1.2) encrypted communication (Interleaved RTSP)
- Must have a valid SSL certificate (no self-signed certificates allowed)
- Must connect to camera via a public DNS hostname/URL. (won’t connect via direct IP address or locally resolvable private DNS.)
- Fully RFC compliant RTSP camera. (The
@proxy
tag in Monocle Gateway may help satisfy this condition for certain cameras.)
So the Monocle Proxy server and Monocle Gateway are two distinct and different approaches to helping satisfy these conditions. If you use either tag
@proxy
or@tunnel
then your local instance of Monocle Gateway is used. If no tags, then the Monocle Proxy method is used.The Monocle Proxy was the first method we implemented when we rolled out the Monocle solution and it worked fine on most Amazon devices at the time. However as newer Amazon Echo Show devices and FireTV devices have been released, Amazon has further tightened the security requirements and now select Amazon devices may only work with Monocle Gateway.
So in either solution you should not have to implement the TLS / SSL certs or port 443 on your cameras directly. Monocle should be handling this part for you. If using Monocle Gateway, then you instance must serve on port 443 but it internally handles all the TLS and DNS requirements.
Hopefully this helps shed some light on how things should be working together. PM me if you want a more technical discussion.
Thanks, Robert
-
@hugh said in Getting Monocle working with Alexa with Service:
I have tried most things suggested and I am still having problems so I am guessing that Alexa running on Windows for what ever reason is not supported and is not quit the same as having a full physical Alexa Show device in some way. I am at the moment trying other methods to get round the problem involving using ISPY with the Agent.
I tried this on Windows a few years ago and never had any luck. I have successfully tested on Amazon Show devices, FireTV devices, FireTV editions (the physical TVs not just the STBs) and Fire Tablets.
Thanks, Robert
-
Thanks, I will try again if we ever get one of the physical devices. Hugh