Lint a raw SIP request for RFC compliance
lint_sip_request[cost: free (pure CPU, no network) | read-only, no persistence]
Run RFC 3261 / RFC 3325 / RFC 8224 / RFC 8225 / CTIA BCID compliance checks on a single raw SIP request (typically an INVITE) and return a list of findings.
Catches the failure modes that silently break carrier interop:
Two
From:headers in one request (RFC 3261 §7.3 / §20.20).Missing CRLF between consecutive header lines (RFC 3261 §7.3).
;tag=(or any other) parameter on P-Asserted-Identity / P-Preferred-Identity (RFC 3325 §9.1).PASSporT
orig.tnnot matching the From caller TN (RFC 8224 §5).PASSporT
dest.tnnot matching the To callee TN (RFC 8224 §5).Non-canonical TN inside a PASSporT claim (RFC 8225 §5.2.1).
Branded display name in From with no
ppt=rcdIdentity header (CTIA BCID §5).
Use FIRST when chasing 422 / 400 Bad Request / 484 Invalid FROM on a single INVITE - these usually have a structural cause this tool catches mechanically.
Pair with: parse_sip_message for purely structural checks on any SIP message (responses included); validate_stir_shaken_identity for the cryptographic verdict on Identity headers; search_sip_docs({ sourceType: 'stir-shaken', ... }) to ground the explanation in RFC text.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Raw SIP request text. Should start with the request line (e.g. `INVITE sip:...@... SIP/2.0`). Headers must be CRLF or LF separated. |