Vapi · Schema

TransferDestinationSip

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
message object This is spoken to the customer before connecting them to the destination. Usage: - If this is not provided and transfer tool messages is not provided, default is "Transferring the call now". - If set
type string
sipUri string This is the SIP URI to transfer the call to.
callerId string This is the caller ID to use when transferring the call to the `sipUri`. Usage: - If not provided, the caller ID will be determined by the SIP infrastructure. - Set to '{{customer.number}}' to always
transferPlan object This configures how transfer is executed and the experience of the destination party receiving the call. Defaults to `blind-transfer`. @default `transferPlan.mode='blind-transfer'`
sipHeaders object These are custom headers to be added to SIP refer during transfer call.
description string This is the description of the destination, used by the AI to choose when and how to transfer the call.
View JSON Schema on GitHub

JSON Schema

vapi-transferdestinationsip-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/TransferDestinationSip",
  "title": "TransferDestinationSip",
  "type": "object",
  "properties": {
    "message": {
      "description": "This is spoken to the customer before connecting them to the destination.\n\nUsage:\n- If this is not provided and transfer tool messages is not provided, default is \"Transferring the call now\".\n- If set to \"\", nothing is spoken. This is useful when you want to silently transfer. This is especially useful when transferring between assistants in a squad. In this scenario, you likely also want to set `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message` for the destination assistant.\n\nThis accepts a string or a ToolMessageStart class. Latter is useful if you want to specify multiple messages for different languages through the `contents` field.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "#/components/schemas/CustomMessage"
        }
      ]
    },
    "type": {
      "type": "string",
      "enum": [
        "sip"
      ]
    },
    "sipUri": {
      "type": "string",
      "description": "This is the SIP URI to transfer the call to."
    },
    "callerId": {
      "type": "string",
      "description": "This is the caller ID to use when transferring the call to the `sipUri`.\n\nUsage:\n- If not provided, the caller ID will be determined by the SIP infrastructure.\n- Set to '{{customer.number}}' to always use the customer's number as the caller ID.\n- Set to '{{phoneNumber.number}}' to always use the phone number of the assistant as the caller ID.\n- Set to any E164 number to always use that number as the caller ID.\n\nOnly applicable when `transferPlan.sipVerb='dial'`. Not applicable for SIP REFER.",
      "maxLength": 40
    },
    "transferPlan": {
      "description": "This configures how transfer is executed and the experience of the destination party receiving the call. Defaults to `blind-transfer`.\n\n@default `transferPlan.mode='blind-transfer'`",
      "allOf": [
        {
          "$ref": "#/components/schemas/TransferPlan"
        }
      ]
    },
    "sipHeaders": {
      "type": "object",
      "description": "These are custom headers to be added to SIP refer during transfer call."
    },
    "description": {
      "type": "string",
      "description": "This is the description of the destination, used by the AI to choose when and how to transfer the call."
    }
  },
  "required": [
    "type",
    "sipUri"
  ]
}