Early access preview — some features are still being completed. Details may change prior to launch.
Developer Docs
Phone API

The Phone API

Introduction

The Phone API provides allows your extensions to listen in to the event generated by the phone when the user places and receives calls.

The Phone API will include functions to control the phone in a future API version.

Connecting to the Phone API

The extension API is available at:

window.voxtopAPI.phone

Phone API - Functions

At the moment the phone API does not provide any functions for controlling the phone.

Phone API - Events

Subscribing

As with all of the voxtopAPI events you subscribe using the onEvent function and pass a callback function to process messages.

	const unsubscribePhoneEvents = window.voxtopAPI.phone.onEvent(callback)

Unsubscribing

To unsubscribe from receiving events, simply run the function return from the onEvent function call.

unsubscribePhoneEvents();

Example Usage

	const processMessages = (event) => {
		console.log('Received phone event:', event)
	}

	const unsubscribePhoneEvents = window.voxtopAPI.phone.onEvent(processMessages)

Phone Event Messages

The following events describe phone connection, registration, and call lifecycle activity.

createdAt is formatted as an ISO 8601 UTC timestamp.

Required is based on the provided examples. Fields marked Conditional appear only for some call directions or event scenarios.

The following eventType values are emitted from the phone.

Event Type Purpose
phone.state.connected Emitted when the phone connects to the i164 network
phone.state.registered Emitted when the phone registers with the i164 network
phone.call.created Emitted when the phone makes or receives a new call
phone.call.progress Emitted when a call is ringing and awaiting answer.
phone.call.accepted Emitted when a call is answered.
phone.call.confirmed Emitted when a call is answered and ready.
phone.call.hanging-up Emitted when a call is in the process of being hung-up.
phone.call.ended Emitted when a call has ended
phone.call.hold Emitted when a call is put on hold
phone.call.unhold Emitted when a call is taken off hold
phone.call.muted Emitted when a call is muted
phone.call.unmuted Emitted when a call is unmuted
phone.call.blindTransfer.started Emitted when a blind transfer has been started for an active call
phone.call.blindTransfer.succeeded Emitted when a blind transfer has completed successfully.

phone.state.connected

Emitted when the phone connection is established.

{
  "eventId": "719fc228-b7fc-45f4-ae63-6188b6dc6f6a",
  "createdAt": "2026-07-03T14:30:54.446Z",
  "eventType": "phone.state.connected",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.state.connected.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.

phone.state.registered

Emitted when the phone device has successfully registered.

{
  "eventId": "835fb0ac-7deb-4fe2-9c4c-5431db052dc3",
  "createdAt": "2026-07-03T14:30:54.525Z",
  "eventType": "phone.state.registered",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.state.registered.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.

phone.call.created

Emitted when a new phone call is created.

{
  "eventId": "80f1f421-16ef-457d-b650-da9f0725e482",
  "createdAt": "2026-07-03T14:34:47.525Z",
  "eventType": "phone.call.created",
  "direction": "incoming",
  "callRef": "5c0481f8-538e-4ab8-9025-4b28dccba607",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "new",
  "onHold": false,
  "stt": {
    "local": false,
    "remote": false
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.created.
direction string Yes Direction of the call. Observed values are incoming and outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Conditional Unique identifier for the phone service. Present in the provided incoming call examples.
voxletInstanceUUID string Conditional Unique identifier for the Voxlet instance. Present in the provided incoming call examples.
state string Yes Current call state. Observed values for this event are new and dialled.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.progress

Emitted when a call is progressing, such as when the remote side is ringing.

{
  "eventId": "c7158bc6-f91a-4839-9e46-5386c592f581",
  "createdAt": "2026-07-03T14:31:23.726Z",
  "eventType": "phone.call.progress",
  "direction": "outgoing",
  "callRef": "4378a4ff-2ff9-49a0-a8ad-e9b64a0394d9",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "state": "progress",
  "onHold": false,
  "stt": {
    "local": false,
    "remote": false
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "123",
  "remoteDisplayName": null,
  "data": {
    "originator": "remote",
    "statusCode": 180,
    "reasonPhrase": "Ringing"
  }
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.progress.
direction string Yes Direction of the call. Observed values are incoming and outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Conditional Unique identifier for the phone service. Present in the provided incoming call examples.
voxletInstanceUUID string Conditional Unique identifier for the Voxlet instance. Present in the provided incoming call examples.
state string Yes Current call state. For this event, the observed value is progress.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.
data object Conditional Additional progress information, such as SIP-style status details.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

data object

Property Type Required Description
data.originator string Yes Party that originated the progress update. Observed value is remote.
data.statusCode number Yes Status code associated with the progress update. Example value is 180.
data.reasonPhrase string Yes Human-readable reason phrase associated with the progress update. Example value is Ringing.

phone.call.accepted

Emitted when a call has been accepted.

{
  "eventId": "35873b1a-38b5-44df-ad5b-3438ad43c261",
  "createdAt": "2026-07-03T14:34:50.954Z",
  "eventType": "phone.call.accepted",
  "direction": "incoming",
  "callRef": "5c0481f8-538e-4ab8-9025-4b28dccba607",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "accepted",
  "onHold": false,
  "stt": {
    "local": false,
    "remote": false
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.accepted.
direction string Yes Direction of the call. Observed values are incoming and outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Conditional Unique identifier for the phone service. Present in the provided incoming call examples.
voxletInstanceUUID string Conditional Unique identifier for the Voxlet instance. Present in the provided incoming call examples.
state string Yes Current call state. For this event, the observed value is accepted.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.confirmed

Emitted when a call has been confirmed and is active.

{
  "eventId": "eb675ff3-e330-4731-af09-150614a21d7f",
  "createdAt": "2026-07-03T14:34:50.988Z",
  "eventType": "phone.call.confirmed",
  "direction": "incoming",
  "callRef": "5c0481f8-538e-4ab8-9025-4b28dccba607",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "confirmed",
  "onHold": false,
  "stt": {
    "local": false,
    "remote": false
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.confirmed.
direction string Yes Direction of the call. Observed values are incoming and outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Conditional Unique identifier for the phone service. Present in the provided incoming call examples.
voxletInstanceUUID string Conditional Unique identifier for the Voxlet instance. Present in the provided incoming call examples.
state string Yes Current call state. For this event, the observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.hanging-up

Emitted when a call is in the process of being hung up.

{
  "eventId": "14ef0d68-1181-46a3-a116-9a7967dfbae5",
  "createdAt": "2026-07-03T14:34:56.164Z",
  "eventType": "phone.call.hanging-up",
  "direction": "incoming",
  "callRef": "5c0481f8-538e-4ab8-9025-4b28dccba607",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "confirmed",
  "onHold": false,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.hanging-up.
direction string Yes Direction of the call. Observed value is incoming.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Yes Unique identifier for the phone service.
voxletInstanceUUID string Yes Unique identifier for the Voxlet instance.
state string Yes Current call state at the time the hang-up is initiated. Observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.ended

Emitted when a call has ended.

{
  "eventId": "4fd1bb90-9028-4a68-9eab-dfcb79a906d9",
  "createdAt": "2026-07-03T14:34:56.171Z",
  "eventType": "phone.call.ended",
  "direction": "incoming",
  "callRef": "5c0481f8-538e-4ab8-9025-4b28dccba607",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "ended",
  "onHold": false,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max",
  "data": {
    "originator": "local",
    "cause": "Terminated",
    "statusCode": null,
    "reasonPhrase": null
  }
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.ended.
direction string Yes Direction of the call. Observed values are incoming and outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Conditional Unique identifier for the phone service. Present in the provided incoming call examples.
voxletInstanceUUID string Conditional Unique identifier for the Voxlet instance. Present in the provided incoming call examples.
state string Yes Current call state. For this event, the observed value is ended.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.
data object Yes Additional information about why the call ended.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

data object

Property Type Required Description
data.originator string Yes Party that originated the call termination. Observed values are local and remote.
data.cause string Yes Cause of the call termination. Example value is Terminated.
data.statusCode number/null Conditional Status code associated with the call termination, or null when unavailable.
data.reasonPhrase string/null Conditional Human-readable reason phrase associated with the call termination, or null when unavailable.

phone.call.hold

Emitted when a call is placed on hold.

{
  "eventId": "e98700cb-ffe1-4ed1-a617-389c11307497",
  "createdAt": "2026-07-03T14:42:35.746Z",
  "eventType": "phone.call.hold",
  "direction": "incoming",
  "callRef": "e06ce829-ce09-4ec1-850f-95081216078c",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "confirmed",
  "onHold": true,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.hold.
direction string Yes Direction of the call. Observed value is incoming.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Yes Unique identifier for the phone service.
voxletInstanceUUID string Yes Unique identifier for the Voxlet instance.
state string Yes Current call state. For this event, the observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold. For this event, the value is true.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.unhold

Emitted when a call is taken off hold.

{
  "eventId": "891fb14f-1cb2-4856-b568-0b50f5d41a9c",
  "createdAt": "2026-07-03T14:42:40.213Z",
  "eventType": "phone.call.unhold",
  "direction": "incoming",
  "callRef": "e06ce829-ce09-4ec1-850f-95081216078c",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "confirmed",
  "onHold": false,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "07XXXXXXXX",
  "remoteDisplayName": "Max"
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.unhold.
direction string Yes Direction of the call. Observed value is incoming.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Yes Unique identifier for the phone service.
voxletInstanceUUID string Yes Unique identifier for the Voxlet instance.
state string Yes Current call state. For this event, the observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold. For this event, the value is false.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.muted

Emitted when the local call audio is muted.

{
  "eventId": "db308856-3dd9-4840-a738-2ccca828c8ea",
  "createdAt": "2026-07-03T14:51:21.344Z",
  "eventType": "phone.call.muted",
  "direction": "outgoing",
  "callRef": "aa3382b8-db67-413f-bfbe-bbf03959347c",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "state": "confirmed",
  "onHold": false,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "123",
  "remoteDisplayName": null
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.muted.
direction string Yes Direction of the call. Observed value is outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
state string Yes Current call state. For this event, the observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.unmuted

Emitted when the local call audio is unmuted.

{
  "eventId": "db308856-3dd9-4840-a738-2ccca828c8ea",
  "createdAt": "2026-07-03T14:51:21.344Z",
  "eventType": "phone.call.unmuted",
  "direction": "outgoing",
  "callRef": "aa3382b8-db67-413f-bfbe-bbf03959347c",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "state": "confirmed",
  "onHold": false,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "123",
  "remoteDisplayName": null
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.unmuted.
direction string Yes Direction of the call. Observed value is outgoing.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
state string Yes Current call state. For this event, the observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

phone.call.blindTransfer.started

Emitted when a blind transfer has been started for an active call.

{
  "eventId": "8bb8cce7-e3de-4b44-af91-3c7259c1f885",
  "createdAt": "2026-07-03T15:21:55.150Z",
  "eventType": "phone.call.blindTransfer.started",
  "direction": "incoming",
  "callRef": "e257a740-a93f-44f7-b727-e89e8e6f71bb",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "confirmed",
  "onHold": true,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "0203XXXXXXX",
  "remoteDisplayName": "Max",
  "data": {
    "targetNumber": "07XXXXXXXX"
  }
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.blindTransfer.started.
direction string Yes Direction of the call. Observed value is incoming.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Yes Unique identifier for the phone service.
voxletInstanceUUID string Yes Unique identifier for the Voxlet instance.
state string Yes Current call state at the time the blind transfer is started. Observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold. For this event, the value is true.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.
data object Yes Additional blind transfer information.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

data object

Property Type Required Description
data.targetNumber string Yes Number that the call is being transferred to.

phone.call.blindTransfer.succeeded

Emitted when a blind transfer has completed successfully.

{
  "eventId": "c84db670-f5de-4ccc-9625-916af60d0820",
  "createdAt": "2026-07-03T15:21:55.211Z",
  "eventType": "phone.call.blindTransfer.succeeded",
  "direction": "incoming",
  "callRef": "e257a740-a93f-44f7-b727-e89e8e6f71bb",
  "connectionId": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "deviceRegistrationUUID": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "virtualDeviceRegistrationUUID": "e4971753-daca-4c9f-9717-53daca1c9f51",
  "phoneServiceUUID": "3e560df5-3792-4206-960d-f53792020693",
  "voxletInstanceUUID": "c5e8e1f6-50c5-48c0-a8e1-f650c5a8c08f",
  "state": "confirmed",
  "onHold": true,
  "stt": {
    "local": true,
    "remote": true
  },
  "localNumber": "8f1fa31a-2389-4412-9fa3-1a23892412ea",
  "localDisplayName": "Voxtop Desktop",
  "remoteNumber": "0203XXXXXXX",
  "remoteDisplayName": "Max",
  "data": {
    "targetNumber": "07XXXXXXXX",
    "statusCode": 202
  }
}

Properties

Property Type Required Description
eventId string Yes Unique identifier for this event message.
createdAt string Yes Time the event occurred, formatted as an ISO 8601 UTC timestamp.
eventType string Yes Name of the event. For this message, the value is phone.call.blindTransfer.succeeded.
direction string Yes Direction of the call. Observed value is incoming.
callRef string Yes Unique reference for the call. This value can be used to correlate events for the same call.
connectionId string Yes Unique identifier for the phone connection.
deviceRegistrationUUID string Yes Unique identifier for the registered phone device.
virtualDeviceRegistrationUUID string Yes Unique identifier for the virtual device registration associated with the call.
phoneServiceUUID string Yes Unique identifier for the phone service.
voxletInstanceUUID string Yes Unique identifier for the Voxlet instance.
state string Yes Current call state at the time the blind transfer succeeds. Observed value is confirmed.
onHold boolean Yes Indicates whether the call is currently on hold. For this event, the value is true.
stt object Yes Speech-to-text status for the local and remote parties.
localNumber string Yes Number or identifier for the local party.
localDisplayName string Yes Display name for the local party.
remoteNumber string Yes Number or identifier for the remote party.
remoteDisplayName string/null Yes Display name for the remote party, or null when unavailable.
data object Yes Additional blind transfer result information.

stt object

Property Type Required Description
stt.local boolean Yes Indicates whether speech-to-text is enabled or active for the local party.
stt.remote boolean Yes Indicates whether speech-to-text is enabled or active for the remote party.

data object

Property Type Required Description
data.targetNumber string Yes Number that the call was transferred to.
data.statusCode number Yes Status code returned for the blind transfer request. Example value is 202.

phone.call.blindTransfer.failed

Emitted when a blind transfer has failed.