troubleshoot_response_code
ActiveTool of Sipflow
[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
}No endpoints wrapped at confidence ≥ 0.50.
Parent server
Sipflow
https://github.com/cmendes0101/sipflow-cursor-plugin
1/7 registries