{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://jambonz.org/schema/verbs/sip:request",
  "minVersion": "0.9.6",
  "title": "SIP Request",
  "description": "Sends a SIP request within the current dialog. Used to send INFO, NOTIFY, or other SIP methods to the remote party during an active call.",
  "type": "object",
  "properties": {
    "verb": {
      "const": "sip:request"
    },
    "id": {
      "type": "string",
      "description": "An optional unique identifier for this verb instance."
    },
    "method": {
      "type": "string",
      "description": "The SIP method to send.",
      "examples": [
        "INFO",
        "NOTIFY",
        "MESSAGE"
      ]
    },
    "body": {
      "type": "string",
      "description": "The body of the SIP request."
    },
    "headers": {
      "type": "object",
      "description": "Custom SIP headers to include in the request.",
      "additionalProperties": {
        "oneOf": [{ "type": "string" }, { "type": "number" }]
      }
    },
    "actionHook": {
      "$ref": "../components/actionHook",
      "description": "A webhook invoked when the response to the SIP request is received."
    }
  },
  "required": [
    "method"
  ],
  "examples": [
    {
      "verb": "sip:request",
      "method": "INFO",
      "body": "Signal=1\nDuration=250",
      "headers": {
        "Content-Type": "application/dtmf-relay"
      }
    }
  ]
}
