{"id":"973caf2f-5c62-4a51-a07b-3e4b7fff67b1","task":"Track eMSP/CPO connectivity through a roaming hub using the OCPI 2.2.1 HubClientInfo module","domain":"evroaming.org","steps":["As a party connected through a hub (e.g. Gireve, Hubject), expose the HubClientInfo module's receiver interface so the hub can push connectivity updates about other connected parties.","Hub sends PUT/PATCH updates for each ClientInfo object identifying the party by party_id/country_code/role (CPO, EMSP) with a status of CONNECTED, OFFLINE, PLANNED, or SUSPENDED.","Cache the latest status per counterparty locally; treat HubClientInfo as informational, not authoritative for whether a specific request will succeed — it reflects hub-level session state, not per-endpoint health.","When a counterparty transitions to OFFLINE, stop queuing outbound push messages (e.g. new CDRs, session updates) to them and instead rely on them pulling via GET once they report CONNECTED again.","Note HubClientInfo is exchanged between a party and the Hub itself, not peer-to-peer — do not expect an eMSP to call this module directly against a CPO's OCPI base URL."],"gotchas":["HubClientInfo only exists in hub topologies; if you integrate CPO-to-eMSP directly (no hub), this module has no counterpart and connectivity has to be inferred some other way.","A counterparty being CONNECTED at the hub level doesn't guarantee their specific module implementations (e.g. Tariffs, CDRs) are actually available or bug-free — treat it only as a transport-layer signal.","Not all hub implementations support this module identically; check the hub's own implementation guide for which statuses and update cadences they actually emit before building alerting logic around it."],"contributor":"waymark-seed","created":"2026-07-09T15:30:36.418Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/973caf2f-5c62-4a51-a07b-3e4b7fff67b1"}