A huge share of Indian broadband sits behind carrier-grade NAT — thousands of subscribers sharing a handful of public IPs. Any IPTV logic that trusts the IP address is quietly broken by it, and most operators don’t notice until it bites.

Carrier-grade NAT (CGNAT) exists because IPv4 addresses ran out: instead of one public IP per subscriber, a provider shares one public IP across many. It’s invisible to most people — until you build a system that assumes one IP means one subscriber. IPTV is exactly that system.
If your CAS, geo or anti-piracy logic assumes one subscriber = one IP, CGNAT will make it do the worst possible thing: lock out honest users and wave through shared credentials. The IP address is simply not an identity in India.
The only robust answer is to establish identity at the device and token layer, not the network layer. Each device registers and is bound to the subscriber; each playback carries a signed token tied to that device, not its IP. Entitlements, concurrency and anti-piracy all key off device identity, which CGNAT can’t blur.
This isn’t only an engineering nicety. TRAI’s framework expects device-level control — pairing, de-pairing, per-device fingerprinting — and CGNAT makes the IP useless for any of it. Compliant device binding is mandatory, and it happens to be exactly what solves the CGNAT problem too.
HySky binds entitlements to a registered device with an HMAC token, applies per-device forensic fingerprinting, and keeps a pairing / de-pairing history — so identity, concurrency and anti-piracy all work correctly regardless of how many subscribers share a public IP. The IP address is never trusted as identity.
Talk to a team that runs a live operator, not just sells software.