Ryan Malloy 91bd3a0705 prompts: add failed_fax_investigation (cross-server, story D)
Third cross-server prompt landing. Story D from
axl/agent-threads/cross-server-prompts/. Lives in mcaxl because the
dial plan is the first layer to investigate — "did the call make it
past CUCM at all?" determines the rest of the triage.

Composes:
  - mcaxl (required)     — route lookup for the dialed DID, identify
                            egress trunk and any translation patterns
  - mcsiphon (recommended) — CDR record(s) for the failure window;
                              extract Q.850 cause codes, duration,
                              connect status, release direction,
                              device names + IPs
  - mcdewey (optional)   — Cisco's published troubleshooting guidance
                            for the specific cause code surfaced

Verdict layer names (literal vocabulary so downstream tooling can
pattern-match):
  - cucm_dial_plan
  - cucm_region_or_css
  - cube_sip_trunk_negotiation
  - far_end_sbc
  - far_end_fax_server
  - t38_negotiation_failure
  - inconclusive

Cause-code-to-layer mapping table embedded in the prompt body covers
the high-frequency Q.850 codes (1, 16, 17, 19, 27, 31, 38, 47, 65,
79, 127). Plus releaseDirection (originator/destination/network)
guidance for narrowing.

Common patterns surfaced explicitly:
  - Setup failures with dateTimeConnect=0 (signaling-layer)
  - Mid-call drops with non-zero duration (often T.38 renegotiation)
  - Cause-code mismatch between origCause and destCause (CUBE
    translation layer)
  - Receive-and-abandon at the route point (CSS doesn't reach
    destination partition)

The prompt's specific high-leverage detail is the "T.38 renegotiation
mid-call" pattern — calls that connect on G.711, then fail when fax
tones trigger T.38 switchover. That shape is invisible from any single
MCP and is exactly what cucx-docs's planned-but-unwritten
runbooks/rightfax-failed-fax-investigation.mdx anticipated.

Tests: registration sentinel updated to 14 prompts. 238 tests passing.

Closes the planned cucx-docs runbook page — that becomes a thin
operational shim around this prompt rather than a from-scratch
troubleshooting tree.
2026-05-05 20:39:42 -06:00
..
2026-04-25 20:29:18 -06:00