Machine Detection

Detect answering machines on outbound calls with synchronous or asynchronous detection modes.

Important: Not a Separate Endpoint

Machine detection is NOT a separate API endpoint. It is configured as parameters when making a call usingPOST https://api.vobiz.ai/api/v1/Account/{auth_id}/Call/. This page documents the machine detection parameters and callback format.

Machine detection allows you to identify when an answering machine picks up your outbound call instead of a human. You can configure Vobiz to either hang up automatically or continue the call when a machine is detected.

Note: Machine detection is only supported on outbound calls initiated via the Make Call API. Set the machine_detection parameter to enable this feature.

How It Works

Synchronous Machine Detection

When you set machine_detection=true ormachine_detection=hangup when making a call, Vobiz analyzes the audio after the call is answered to determine if a machine answered.

Machine Detection Parameters

NameTypeDescription
machine_detection
stringSet to "true" to continue the call or "hangup" to automatically hang up when a machine is detected.
machine_detection_time
integerTime in milliseconds to analyze audio. Default: 5000. Range: 2000–10000.
machine_detection_maximum_speech_length
integerMaximum speech duration in milliseconds. Default: 5000. Range: 1000–6000.
machine_detection_initial_silence
integerMaximum silence after answer in milliseconds. Default: 4500. Range: 2000–10000.
machine_detection_maximum_words
integerMaximum number of sentences. Default: 3. Range: 2–10.
machine_detection_initial_greeting
integerMaximum greeting length in milliseconds. Default: 1500. Range: 1000–5000.

Asynchronous Machine Detection

You can take action on detecting an answering machine during a call by setting themachine_detection_url parameter when firing an outbound call API. Vobiz will detect an answering machine in the background and invoke the machine_detection_url with detection results.

Request Parameters

NameTypeDescription
machine_detection_url
stringCallback URL invoked when machine detection completes. Vobiz sends detection results to this URL.
machine_detection_method
stringHTTP method used to invoke machine_detection_url. Default: POST.

Benefit: Asynchronous detection allows your application to handle the call immediately while detection happens in the background, providing better user experience.

Parameters Sent to machine_detection_url

When machine detection completes, Vobiz sends these parameters to your machine_detection_url:

NameTypeDescription
From
stringThe from number used to initiate the call.
Machine
booleanSet to true if a machine is detected.
To
stringThe destination of the call.
RequestUUID
stringAn identifier that can uniquely identify a call.
ALegRequestUUID
stringIdentifies the first leg of the call in case there are multiple legs.
CallUUID
stringThe identifier used to identify the call.
IfMachine
stringThis parameter can be either "continue" or "hangup" depending on the machine_detection parameter set while initiating the call.
Direction
stringThe direction of the call. This will be "outbound" since we support machine detection only on outbound calls.
ALegUUID
stringA unique identifier for the A leg of the call.
Event
stringThe event that triggered this notification. This will have the value "MachineDetection".
CallStatus
stringThe status of the call. This will have the value "in-progress".

Example Callback Response

JSON Sent to machine_detection_url
{
  "From": "+12025550000",
  "Machine": true,
  "To": "+12025551111",
  "RequestUUID": "9834029e-58b6-11e1-b8b7-a5bd0e4e126f",
  "ALegRequestUUID": "9834029e-58b6-11e1-b8b7-a5bd0e4e126f",
  "CallUUID": "97ceeb52-58b6-11e1-86da-77300b68f8bb",
  "IfMachine": "continue",
  "Direction": "outbound",
  "ALegUUID": "97ceeb52-58b6-11e1-86da-77300b68f8bb",
  "Event": "MachineDetection",
  "CallStatus": "in-progress"
}