Hexagone Lab
Four networks, seven scenarios

Your app on the real networks of the four French operators

The big device farms have no active French SIMs. Our phones carry real Orange, SFR, Bouygues Telecom and Free Mobile lines: we test connection, network loss, reconnection, Wi-Fi ↔ 4G handover and degraded network, then deliver a dated report, cell by cell, with the evidence attached.

No credit card to start. Secure payment through Stripe when you change plan.

The matrix: four operators, seven scenarios, four runnable A grid of seven rows and four columns. The first four rows are runnable, the last three are refused. No cell has been measured. 4 / 7 runnable OrangeSFRBouyguesFree runnable refused 0 cells measured
The grid, cell by cell

What runs, what does not, and why

Your app is measured on the four networks, scenario by scenario. A cell is never green without a network measurement at test time. Today no cell has a value: the fleet holds no device with a SIM, so the “operator” column cannot be honoured. The refused rows, however, will stay refused even with the hardware — the core does not expose them.

  • 28 cells
  • 0 measured
  • 16 waiting for hardware
  • 12 not runnable
OrangeSFRBouygues TelecomFree Mobile
Nominal 4G/5Gno SIM devicewaiting for hardwarewaiting for hardwarewaiting for hardwarewaiting for hardware
Network loss (airplane mode N s)no SIM devicewaiting for hardwarewaiting for hardwarewaiting for hardwarewaiting for hardware
Wi-Fi to 4G handoverno SIM devicewaiting for hardwarewaiting for hardwarewaiting for hardwarewaiting for hardware
Degraded network (forced 3G/2G)no SIM devicewaiting for hardwarewaiting for hardwarewaiting for hardwarewaiting for hardware
IP change refused`rotate` not exposednot runnablenot runnablenot runnablenot runnable
Incoming call / SMS refusedno sending APInot runnablenot runnablenot runnablenot runnable
Operator DNS refuseddepends on the probe appnot runnablenot runnablenot runnablenot runnable
  1. IP change — IP rotation is not exposed in phase 1: the `rotate` parameter of `netprobe` passes the schema and is then refused by the core. That capability belongs to ProxyMobile, never triggered by a Hangar job.
  2. Incoming call / SMS — No API sends an incoming call or SMS. A human operator could do it from another phone, but that would be a manipulation outside the campaign, neither reproducible nor timestamped by Hangar.
  3. Operator DNS — The measurement depends on the probe app and on a domain being supplied (`dns_names`): without one the measurement would be empty anyway. The probe must already be installed on the SIM phones, and it is missing from today’s fleet.
  • runnable
  • not runnable
  • waiting for hardware
  • measured

The verdict itself does not change

The three refused rows are not a hardware limitation: they would stay refused even with four SIM phones. It is written here so that no salesperson sells them, and no customer waits for them.

  • A cell with no network measurement at test time is never green.
  • A forced technology the measurement does not confirm turns the cell orange, not red.
  • The product only bills the cells that are actually runnable.
In all honesty

What we do not do

A product that hides its limits wastes everybody's time. Here are ours, today.

  • No real measurement has been produced: the fleet holds no device with a SIM, so every cell is recorded unavailable with its reason, no job is submitted and nothing is billed.
  • 3 of the 7 scenarios are refused with an explicit reason: IP change, incoming call/SMS, operator DNS — the core does not expose them.
  • A network action cannot be inserted inside a Maestro journey: the outage falls between two journey segments.
  • A forced network preference is read back but does not prove the modem followed it: only a `netprobe` measurement does.
  • The speed-test server does not exist yet: ping and DNS only, no throughput measurement.
  • All phones are in the same place: the report describes one location, not national coverage.
  • The probe app must already be installed on the SIM phones: the product cannot install it, and it is missing from today’s fleet.
  • No Stripe in phase 1: the plans are listed, payment is not open.
What it does

Concretely

Four operators, four lines

The report compares what your app does on each network, not an average. A review saying "does not work on 4G with Free" is confirmed or refuted cell by cell, with the video and logcat from that moment.

Seven network scenarios, four runnable

Nominal 4G/5G, network loss, Wi-Fi to 4G handover and degraded network have a complete job plan. The other three — IP change, incoming call/SMS, operator DNS — are refused with an explicit reason, because the core does not expose them.

One verdict per cell, never green without a measurement

Each operator × scenario cell gets green, orange or red, backed by video, logcat and failing requests. A cell with no network measurement at test time is never green, and a forced technology that is not confirmed stays orange.

Radio measurements taken during the test

Throughput, ping, RSRP/RSRQ and radio technology are attached to the report: a bad result caused by the radio cannot be blamed on your app, and the reverse is true too.

A data budget per campaign and per operator

A throughput test uses data. The budget is computed and enforced up front, per campaign and per operator: a matrix over budget is refused before any job starts.

Questions

Frequently asked questions

Are all seven scenarios runnable?

Four are: nominal 4G/5G, network loss, Wi-Fi to 4G handover, degraded network. Three are refused with a written reason — IP change (the core does not expose `rotate`), incoming call/SMS (no sending API), operator DNS (depends on the probe app).

Do you have devices with SIMs?

No. The fleet holds a single phone, with no `sim` capability and no operator metadata. Every cell is recorded unavailable with its exact reason, no job is submitted and nothing is billed: no real measurement has been produced to date.

Does the report describe national coverage?

No. All phones are in the same place: it describes how your app behaves on each network, not coverage across France. That is Barometre’s job, measuring network quality over time.

Is a throughput test included?

Not today: the family speed-test server is not deployed. The diagnostic runs without throughput, using ping and DNS only, and the data estimate in the report reflects that.

Can a network action be inserted inside a journey?

No: the core exposes no network step inside a Maestro YAML. The outage therefore falls between two journey segments, and a network preference is read back without proving the modem followed it — only a measurement does.

Try it on a real phone

Create an account, take a key, run your first test. It is free to start.