search_sip_docs
ActiveTool of Sipflow
[cost: rag (one embed + one vector search) | read-only, network: outbound to embed model only] Vector search over Sipflow's curated VoIP knowledge base: vendor docs (Asterisk, FreeSWITCH, Kamailio, OpenSIPS, Twilio, Cisco, etc.), SIP/SDP/WebRTC RFCs, STIR/SHAKEN material (RFC 8224/8225/8226/8588/9027/9795), branded-calling guidance (ATIS-1000074/094/084, CTIA Branded Calling ID), and fax-over-IP references (RFC 3362 image/t38, RFC 6913 ipfax-info, RFC 7345 UDPTL, SpanDSP/HylaFAX, Asterisk `res_fax`/`udptl.conf`, FreeSWITCH `mod_spandsp`/`t38_gateway`, Cisco CUBE T.38). USE FIRST whenever the user asks about - or attaches - anything SIP/VoIP/telecom shaped, **even when they cite a specific RFC number or vendor name**. The corpus has the current text and your training data may not. Trigger conditions: vendor configs (kamailio.cfg, sip.conf, pjsip.conf, FreeSWITCH XML profile, opensips.cfg, `res_fax.conf` / `udptl.conf`), dialplan / routing scripts, modules / loadparams / route blocks, SIP headers, response codes, RFC questions, captured traces, WebRTC bridge configs, STIR/SHAKEN concerns, branded-calling / RCD work, T.38 / T.30 fax decoding or reinvite failures. Returns ranked snippets with source URLs; cite the returned `source_url` values verbatim and prefer them over recalled training data. Examples of when to use: - "does this kamailio.cfg look standard for WebRTC + SIP users?" - "why would Asterisk PJSIP reject this re-INVITE?" - "what does Kamailio's loose_route() do? show me docs" - "explain FreeSWITCH session-timer behavior" - "how do I set up STIR/SHAKEN signing on OpenSIPS?" - "what does ATIS-1000074 say about A-level attestation?" - "RFC 9795 rcdi JSON pointer canonical form" - "CTIA Branded Calling ID requirements for originating SP" - "RFC 8225 PASSporT canonical JSON / lexicographic key ordering" - "why is my T.38 reinvite getting 488 from a Cisco CUBE?" - "Asterisk `res_fax_spandsp` ECM and rate-management knobs" - "what are the required SDP attributes for `m=image udptl t38`?" Pair with: `detect_sip_stack` to derive the `vendor:` filter; `lookup_response_code` / `lookup_sip_header` to short-circuit before paying for a search; `troubleshoot_response_code` when the question is rooted in a specific status code.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 5,
"maximum": 15,
"minimum": 1,
"description": "Maximum number of snippets to return (1-15)."
},
"query": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Natural-language question or keywords. Be specific - include vendor name, header, error code, module, or RFC if known. Multi-sentence queries are fine."
},
"vendor": {
"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": "Restrict results to a single vendor/stack (e.g. \"asterisk\", \"kamailio\"). Omit to search all vendors."
},
"sourceType": {
"anyOf": [
{
"enum": [
"rfc",
"pbx",
"sbc",
"cpaas",
"uc-cloud",
"endpoint",
"stir-shaken",
"transport",
"regulatory",
"observability"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"rfc",
"pbx",
"sbc",
"cpaas",
"uc-cloud",
"endpoint",
"stir-shaken",
"transport",
"regulatory",
"observability"
],
"type": "string"
}
}
],
"description": "Restrict by document type. Available: rfc | pbx (Asterisk/FreeSWITCH/Kamailio/OpenSIPS) | sbc (SBCs) | cpaas (Twilio/Telnyx/...) | uc-cloud (Teams/Zoom/...) | endpoint (phones/softphones) | stir-shaken | transport (RTP/SRTP/DTLS/ICE/STUN/TURN RFCs) | regulatory | observability."
}
},
"additionalProperties": false
}Parent server
Sipflow
https://github.com/cmendes0101/sipflow-cursor-plugin
1/7 registries