Short version: Yes, in most cases. You will want to consider running a dynamic DNS service to avoid dynamic IP address problems. You also need to consider the upload speed and data caps for your mobile broadband service.
To connect to a mobile phone app when you're away from the site, an NVR/DVR requires an internet connection.
Note: If you only view the CCTV system while you're on the same site (i.e. within WiFi range of a modem/router/AP, or within the same local network), then you don't need internet access for the DVR/NVR.
A mobile broadband connection has a couple of restrictions that make this more difficult.
- There seems to be no way to get a static IP address assigned to a mobile broadband connection from an internet service provider (ISP).
- Your mobile broadband upload speed is the key to reliable remote viewing, and that's partly due to mobile signal levels on site, and also due to any restrictions for speed/data from your ISP.
Problem number 1 seems to be technology-based, in that it's impossible for a provider to use a static IP address for a mobile connection. I'm perfectly happy to be wrong about that, but clients have asked Telstra, Optus, Vodafone, and other ISPs the same question before, and the answer has always been no.
Note: when I'm talking about static IP address here, I'm talking about the external IP address or WAN address, not the internal IP address of the recorder itself. For example, an internal IP address might be 192.168.0.57 or 10.0.0.33, but an external IP address is normally what you'd see in the modem's WAN settings, or by visiting https://www.whatismyip.com/ or a similar service.
What it means for the mobile viewing is that your DVR/NVR changes virtual location (i.e. external IP address) anytime the ISP wants it to. Using the FSEYE service (i.e. via the QR code or serial number), your NVR/DVR is supposed to keep the FSEYE servers up-to-date with its current location. If you're happy running with their service, then you can stop reading about Problem 1 here.
However, if you don't want to, or can't use their service, or if there's a problem with that service at any point, your app won't be able to find your DVR/NVR to view the cameras as soon as that IP address changes.
To get around that, you may want to use something like a dynamic DNS service. These work in a similar way to the FSEYE service, in that you use a unique address (i.e. bensdvr3.dynamicdnsservice.com) instead of an IP address in the app. When your phone asks to stream the footage, the app queries the bensdvr2.dynamicdnsservice.com servers, and those servers are in constant communication with your mobile broadband router to find out where it is today.
Here's how you'd set it up in a TP-Link modem/router like the ARCHER MR series (more on these modems later):
TP-Link has preferences for DynDNS and No-IP, and these are decent choices, from all reports. Keep in mind that free dynamic DNS services have limitations, mostly so that you want to pay for a better version of their service. No-IP, for example, allow you to have one completely free dynamic DNS host, but the catch is that you have to click a link in an email they'll send you every 30 days to make sure you're still using the service. You may decide the US$24.95/yr charge is worth it to not forget that email and have the service stop working!
To stream footage, either live or recorded to the wider world and to your app, your DVR/NVR will need a certain amount of upload speed and data. I can't tell you how much exactly how much upload speed that you'll require, as it varies a lot between recorders, with the number of cameras you're viewing simultaneously, as well as the settings you've chosen for the streaming footage. It's a similar story with the upload data required, as it'll vary a lot between you checking it out for 5min per day or sitting there for hours watching the grass grow on the live stream.
Sometimes your ISP will make it obvious how much data you have, other times they obscure it within an "overall data cap" that looks like you've got 5GB/month, but 4.5GB of that is download only, leaving a measly 0.5GB for uploads (i.e. streaming cameras).
The available bandwidth for your uploads is hard to estimate. Mostly, this is down to the capacity of your local tower, and the reception actually at the modem (or at the modem's external antennas). Someone in a low density, good signal area might have heaps of signal; someone in a high density, good signal area might have patchy signal; and someone kilometres from the tower with lousy signal might have little to no signal. A site visit, and sometimes multiple site visits at different times of day might be required to get a picture of the available bandwidth.
In terms of modem recommendation, there are domestic-grade modems that take SIM cards, or routers that take USB modems, plus commercial-grade modems designed with more robustness and security.
I wouldn't use a USB modem+router option unless I was very sure about the overall signal levels on site. Most USB modems can't connect any external antennas, so you're stuck with whatever signal you get right at the modem/router.
In the domestic end of things, TP-Link's ARCHER MR range (some options from our website here) are decent choices, but the ARCHERMR100 and ARCHERMR600 are my preferred options, as both have detachable antennas. That simple fact gives you the ability to run external antenna(s) if you find the signal is inadequate.
From the commercial range, Teltonika is a widely well-regarded manufacturer of these products, but there are others available. Generally, look for devices with removable antennas, reliable, and easy to administer remotely.