You're viewing a demo portfolio

Join the waitlist
PRSM

troubleshoot_response_code

Active

Tool of Sipflow

declared in 0.2.0

[cost: rag (one embed + one vector search) | read-only, network: outbound to embed model only | rate-limited per IP] Like `lookup_response_code` but augmented: returns the static RFC entry PLUS the top vendor-specific RAG hits for the exact code (and any free-text context the user pasted). When the static entry carries known vendor-specific reason-phrase variants (e.g. 484 + opensips → 'Invalid FROM' from `parse_from.c`), those phrases are folded into the embed query so the right vendor docs surface. Use when the user asks 'why did <vendor> reject this with <code>?' and you want vendor-grounded common causes, not just the RFC text. Especially helpful for fax-rejection paths - 488 / 415 / 606 on a T.38 reinvite (`m=image udptl t38`) is one of the most common 488 variants and the tool surfaces FreeSWITCH `mod_spandsp` / Cisco CUBE / AudioCodes T.38 docs alongside the RFC text. Pair with: `lookup_response_code` first (cheaper); `lint_sip_request` when the code is 4xx and they have the offending request; `compare_sdp_offer_answer` for 488/415 caused by a T.38 reinvite SDP mismatch; `validate_stir_shaken_identity` when the code is 438; `stir_attestation_explainer` for STIR-shaped codes (428/436/437/438/608); `dns_diagnose_sip_target` when the code is 503 / 408 and routing is suspect.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "integer",
      "maximum": 699,
      "minimum": 100,
      "description": "SIP response code (e.g. 488, 503, 438)."
    },
    "context": {
      "type": "string",
      "maxLength": 8000,
      "description": "Optional free-text context: a snippet of the trace, the Reason header, the Warning header, or a one-line description of what the user was trying to do."
    },
    "vendorHint": {
      "enum": [
        "asterisk",
        "freeswitch",
        "kamailio",
        "opensips",
        "freepbx",
        "yate",
        "cisco-cube",
        "ribbon",
        "oracle-acme",
        "audiocodes",
        "cisco-cucm",
        "avaya",
        "mitel",
        "metaswitch",
        "3cx",
        "nec",
        "twilio",
        "telnyx",
        "bandwidth",
        "bandwidth-bxf",
        "vonage",
        "plivo",
        "signalwire",
        "aws-chime",
        "didww",
        "voxbone",
        "genband",
        "cisco-bts",
        "teams",
        "zoom-phone",
        "ringcentral",
        "webex-calling",
        "eight-by-eight",
        "polycom",
        "yealink",
        "cisco-phone",
        "grandstream",
        "snom",
        "linphone",
        "microsip",
        "bria",
        "zoiper",
        "jssip",
        "sip-js",
        "stir-shaken"
      ],
      "type": "string",
      "description": "Vendor slug to filter the RAG search (e.g. \"kamailio\", \"freeswitch\", \"twilio\"). Strongly recommended."
    }
  },
  "additionalProperties": false
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

Sipflow

https://github.com/cmendes0101/sipflow-cursor-plugin

1/7 registries
View full server →
troubleshoot_response_code — Sipflow — PRSM MCP