detect_sip_stack
ActiveTool of Sipflow
[cost: free (pure CPU, no network) | read-only] Identify the SIP product behind a piece of input. Works on both: - a SIP trace (User-Agent / Server headers from PCAP/sngrep/syslog), and - a vendor config blob (kamailio.cfg, sip.conf, pjsip.conf, FreeSWITCH XML, opensips.cfg) detected via structural signatures (loadmodule, route blocks, [transport-*] sections, <profile name=>, etc.). Returns a vendor slug (e.g. "kamailio", "freeswitch", "asterisk", "twilio", "cisco-cube") aligned with the `vendor` filter on `search_sip_docs`, so you can pipe the output of this tool directly into a follow-up doc search. Pair with: `search_sip_docs(vendor=<slug>, ...)` for grounded vendor docs; `review_sip_config` when the input is a config and you also want extracted modules + risk flags; `troubleshoot_response_code(vendorHint=<slug>, ...)` when chasing a status code.
Parameters schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"kind": {
"enum": [
"auto",
"trace",
"config"
],
"type": "string",
"default": "auto",
"description": "What the input is. \"trace\" looks at SIP headers only, \"config\" runs vendor-config heuristics, \"auto\" tries trace first then falls back to config detection."
},
"text": {
"type": "string",
"maxLength": 2000000,
"minLength": 1,
"description": "Raw SIP trace text OR a vendor config blob."
},
"filenameHint": {
"type": "string",
"maxLength": 200,
"description": "Optional filename (e.g. \"kamailio.cfg\", \"pjsip.conf\"). Strongly improves config-mode detection when supplied."
}
},
"additionalProperties": false
}Parent server
Sipflow
https://github.com/cmendes0101/sipflow-cursor-plugin
1/7 registries