GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!
Watch the launch videoWatchDevice Compatibility Checker
Intelligent system that evaluates device models and firmware versions to determine service availability and feature compatibility.
Solution
This device compatibility system instantly determines which services and features are available on specific device models and firmware versions. The solution evaluates customer devices against predefined compatibility rules for multiple smartphone brands including iPhones, Samsung Galaxy, and Pixel phones.
When a device query is received, the system extracts the model information and firmware version, then applies specific compatibility rules based on major and minor firmware versions. The system supports multiple service tiers including basic service access, HD streaming capabilities, advanced features, and next-generation functionality. For certain device/firmware combinations, special exceptions are applied to ensure accurate compatibility results. This allows service providers to deliver tailored experiences while preventing feature activation on unsupported devices.
How it works
The compatibility checker processes device information through these key steps:
- Input Processing: Captures device model, firmware version, device ID, and subscriber details.
- Data Normalization: Converts device model names to lowercase and extracts the major firmware version number.
- Primary Compatibility Check: Evaluates the normalized device model and major firmware version against a rules table to determine initial service eligibility.
- Exception Handling: Applies special compatibility rules for specific device-firmware combinations, particularly for HD streaming eligibility.
- Results Generation: Produces a final compatibility assessment showing which services and features are available for the specific device.
Where teams use it
- Telecommunications service provisioning
- Streaming media platform compatibility
- Mobile app feature availability
- Device upgrade recommendations
- Technical support troubleshooting
- Customer self-service portals
Inside the decision model
Device Compatibility Checker ships as a JDM decision graph with 4 nodes, 2 decision tables and 15 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.
Request
inputCompatibility is resolved from just two request fields, deviceModel and deviceFirmware, while deviceId, subscriberId, and requestTimestamp ride along for provisioning and audit purposes.
Sample requestJSON
{
"deviceModel": "iPhone 13 Pro",
"deviceFirmware": "14.2.1",
"deviceId": "A1B2C3D4E5F6",
"subscriberId": "2022050789",
"requestTimestamp": "2023-04-15T10:30:45Z"
}Normalize Data
expressionFree-text device names are made matchable before any lookup: normalizedModel applies lower(deviceModel) so 'iPhone 13 Pro' matches a contains check for 'iphone', and majorVersion takes number(split(deviceFirmware, '.')[0]) to reduce a string like '14.2.1' to the integer 14. Every rule downstream keys on these two normalized values instead of raw input.
lower(deviceModel)number(split(deviceFirmware, '.')[0])Determine Compatibility
tableCapability flags are assigned per brand family with a first hit policy, each family's rows ordered from newest firmware down. Rows match normalizedModel with contains($, 'iphone'), 'samsung galaxy', or 'pixel', then band on majorVersion: iPhones need >= 15 for nextGenFeatures, >= 13 for advancedFeatures, and >= 10 for hdStreaming; Samsung Galaxy unlocks advanced features at >= 10 and HD at >= 8; Pixel at >= 6 and >= 4. Any recognized device keeps basicService true even below those bands, and an unrecognized model fails all four flags.
Gating features on the firmware major version rather than the model name matches how carriers actually provision services: codecs, eSIM behavior, and streaming DRM ship with OS releases, not hardware. Reserving nextGenFeatures for iPhone firmware 15 and up while no Samsung or Pixel band grants it is simply how this catalog is staged, and defaulting unknown devices to no service is the safe posture for provisioning.
| Device ModelnormalizedModel | Major VersionmajorVersion | Basic Servicecompatibility.basicService | HD Streamingcompatibility.hdStreaming | Advanced Featurescompatibility.advancedFeatures | Next Gen Featurescompatibility.nextGenFeatures |
|---|---|---|---|---|---|
| contains($, 'iphone') | >= 15 | true | true | true | true |
| contains($, 'iphone') | >= 13 and < 15 | true | true | true | false |
| contains($, 'iphone') | >= 10 and < 13 | true | true | false | false |
| contains($, 'iphone') | < 10 | true | false | false | false |
| contains($, 'samsung galaxy') | >= 10 | true | true | true | false |
| contains($, 'samsung galaxy') | >= 8 and < 10 | true | true | false | false |
+5 more rows in the downloadable template
Check Minor Version
tableA second pass overrides the HD verdict for known problem combinations: contains($, 'iphone') with majorVersion <= 14 forces compatibility.hdStreaming to false, and the 'samsung galaxy' and 'pixel' rows force it false outright, while the blank fallback row re-emits the existing compatibility.hdStreaming value untouched.
Exception tables like this exist because lab-tested firmware bands do not always survive contact with the field; when a specific build ships a broken player or DRM stack, support teams need a place to switch a capability off without rebuilding the main matrix. Keeping the override in its own small table means the temporary block can be removed later without touching the eleven-row compatibility grid.
| Device ModelnormalizedModel | Major versionmajorVersion | HD Streaming Finalcompatibility.hdStreaming |
|---|---|---|
| contains($, 'iphone') | <= 14 | false |
| contains($, 'samsung galaxy') | - | false |
| contains($, 'pixel') | - | false |
| - | - | compatibility.hdStreaming |
Other Telco templates
View all templatesDynamic Tariff Engine
Rule-based pricing system for telecommunication services that automatically applies discounts based on user profiles, time periods, and location types.
TelcoRegional Compliance Manager
Automated system that applies region-specific data privacy rules for telecommunications services across EU, US, UK, Canada, and Australia.
TelcoCustomer Eligibility Engine
Intelligent system that analyzes customer data to determine service upgrades, loyalty rewards, and premium features based on usage patterns and account history.
Make this template
your own.
Load Device Compatibility Checker into GoRules, adjust the rules to your policy, and ship it behind your own API.