Call flow error codes (mpbx-flows)
Raised when call flows (IVRs) are saved, published, rolled back or loaded for a call (W3-FLOW-01). Messages name node ids, field paths, extension numbers and version numbers; they never contain collected digits or caller numbers. Guide: Call flows.
| Code | Kind | Meaning | What to do |
|---|---|---|---|
MPBX-FLOW-INVALID | invalid_argument | The graph failed validation. The message lists the first problems as node <id>, <field>: <problem>; the full list is the validation report (one issue per problem, each with a code from the table below). | Fix every listed problem and save or publish again. |
MPBX-FLOW-NOT-FOUND | not_found | No such call flow in this company (another company's flow is invisible). | Check the id. |
MPBX-FLOW-VERSION-NOT-FOUND | not_found | No such version of the flow in this company. | Check the version id or number. |
MPBX-FLOW-VERSION-IMMUTABLE | conflict | The version was published and can never change or be deleted (the database refuses it too). | Save a new draft from it and publish that. |
MPBX-FLOW-NOT-PUBLISHED | conflict | The flow has no live version yet (a call cannot run it), or a rollback named a version that was never published. | Publish a draft; roll back only to a version that was live before. |
MPBX-FLOW-NAME-TAKEN | conflict | Another call flow of the company has this name. | Choose another name. |
MPBX-FLOW-CHANGED | conflict | The flow or version changed since you read it (optimistic locking), or the rollback target is already live. | Read it again and retry. |
MPBX-FLOW-IN-USE | conflict | The live version of another flow transfers to this flow, so it cannot be deleted. The message names up to five such flows. | Change those flows first. |
MPBX-FLOW-NOTHING-TO-PUBLISH | conflict | The designer has no draft to publish: the live version already has every change (W9-FLOW-01). | Nothing to do. |
MPBX-FLOW-MEDIA-TIMEOUT | unavailable | mpbx-media did not finish a prompt, digit collection or recording within its expected time. Logged only: the flow goes on as if nothing was heard. | Check mpbx-media's health (mpbx_media_* metrics). |
Validation issue codes
Each issue of a validation report has one of these codes, plus the node id and field path.
| Issue code | Meaning |
|---|---|
schema | The JSON does not have the graph's shape: missing or unknown field, wrong type, unknown node type. |
schema_version | schema_version is not one this build reads (this build: 1). |
too_large | A size limit is exceeded: 256 KiB of graph JSON, 500 nodes, 64 KiB of meta, 16 KiB of placeholder config, 32 variables. |
invalid_field | A value is out of range or malformed (timeouts, attempts, digits, prompt paths, time zones, HH:MM times, numbers, variable names). |
entry_missing | entry names no node. |
dangling_exit | An exit names a node that does not exist. |
unreachable | No path from the entry node reaches the node. |
unguarded_cycle | A loop does not pass through a loop_guard's next exit, so a call could loop forever. |
not_executable | A node type this install does not execute (ai_agent, http and hours unless the host enabled them), or a transfer to a target kind the call engine cannot reach (field target.kind; in mpbx a queue or an external number, FU-MVPGAP03-1): drafts may keep it, publishing refuses it. |
reference | A referenced object does not exist in the company or has the wrong kind (a queue number that is a user's extension, a mailbox without an extension, another flow that does not exist or has no live version). Checked at publish and rollback. |
Saving a draft refuses schema, schema_version, too_large and invalid_field; the other
issues come back as warnings so work in progress can be saved. Publishing and rolling back
refuse every issue.