Ground-truth review of a SIP/VoIP config or repo file
review_sip_config[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:
Detects the vendor from filename + structural signatures (loadmodule, route blocks, [transport-*] sections, <profile name=>, KEMI calls).
Extracts a structured outline: loaded modules, modparams, listen lines, route blocks, profiles, gateways, dialplan extensions.
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 withKSR.hdr.append/removeoruac_replace_*orappend_hf/remove_hfon the same header - corrupts the buffer at serialization).Returns a list of
suggestedQueriesforsearch_sip_docsso 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.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The full config blob (or a representative excerpt). UTF-8 plaintext. | |
| vendorHint | No | Skip auto-detection and force a specific vendor. Use when the heuristics return low confidence or the wrong vendor. | |
| filenameHint | No | Optional filename or path (e.g. "kamailio.cfg", "etc/asterisk/pjsip.conf", "sofia/external.xml"). Strongly improves vendor detection. |