Custom external IP or domain name
Hello,
(a ton of nerdy speak following)
I've been using VIGI VMS for a while now, overall pleasant experience.
But I stumbled upon a critical problem. Here's my setup:
- VIGI VMS running on a Windows Server machine behind NAT;
- The machine has an intranet (private) IP 192.168.0.70;
- All ports used by VIGI VMS (according to this article) are forwarded to this machine;
- My dynamic public IP address is associated with a domain name provided by a DDNS service;
- I am logging in via VIGI mobile app from external network (LTE) using this domain name.
While authentication and other REST API requests (like getting list of sites / devices) are working fine, I noticed that video stream from my camera isn't working, as well as the 'Talk' function (I own VIGI C230I Mini).
At first, I suspected that SSL might be the cause, so I spent several days trying to create a self-signed certificate and import it inside VMS web UI, but that led me to same result. Then I decided to explore some REST API requests using dev tools 'Network' tab in a web browser.
And to my disappointment, I found out that POST /api/v1/vms/<vms_id>/sites/<site_id>/relay/requestStream returns my machine's intranet address 192.168.0.70 as a value for the field result.relayUrl, disregarding that I'm accessing VIGI VMS web UI via DDNS-provided domain from an external network.
From my experience, for solving this kind of issues it is usually expected to have a way of specifying an external IP or a domain which will be used for accessing the service from outside, so I'd suggest implementing that.
Still, I might be doing/understanding something wrong, so feel free to correct me.