You're viewing a demo portfolio

Join the waitlist
PRSM

review_sip_config

Active

Tool of Sipflow

declared in 0.2.0

[cost: free (pure CPU, no network) | read-only] Use this when the user asks 'review my config' or attaches a kamailio.cfg, sip.conf, pjsip.conf, FreeSWITCH XML profile, opensips.cfg, `res_fax.conf` / `udptl.conf` / `spandsp.conf` (fax-relay tuning), or a SIP-shaped source file from a repo. This tool: 1. Detects the vendor from filename + structural signatures (loadmodule, route blocks, [transport-*] sections, <profile name=>, KEMI calls). 2. Extracts a structured outline: loaded modules, modparams, listen lines, route blocks, profiles, gateways, dialplan extensions. 3. Surfaces risk flags - e.g. websocket loaded without TLS, nathelper without rtpengine, chan_sip used in modern Asterisk, AND the Kamailio/OpenSIPS lump-vs-subst race (`subst('/^From:.../...')` colliding with `KSR.hdr.append/remove` or `uac_replace_*` or `append_hf/remove_hf` on the same header - corrupts the buffer at serialization). 4. Returns a list of `suggestedQueries` for `search_sip_docs` so you can ground the actual review in vendor docs. Pair with: one or more `search_sip_docs` calls (cite returned `source_url` values verbatim instead of recalling vendor behavior from memory); `webrtc_sip_checklist` when the config is a WebRTC ↔ SIP bridge.

Parameters schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 2000000,
      "minLength": 1,
      "description": "The full config blob (or a representative excerpt). UTF-8 plaintext."
    },
    "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": "Skip auto-detection and force a specific vendor. Use when the heuristics return low confidence or the wrong vendor."
    },
    "filenameHint": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional filename or path (e.g. \"kamailio.cfg\", \"etc/asterisk/pjsip.conf\", \"sofia/external.xml\"). Strongly improves vendor detection."
    }
  },
  "additionalProperties": false
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.50.

Parent server

Sipflow

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

1/7 registries
View full server →