Create a gist now

Instantly share code, notes, and snippets.

Voxbone Recording API

Voxbone Recording API

The Recording API service uses and provides two main models: Profile and Recording.

Profile

A Profile entry specifies for a given remoteSipUri, if and how the recording should take place.

  • email - (String[255]; default: null) If set, will send an email with the recording to the address specified by the value of this field.
  • remoteSipUri - (String[255]; default: null) The remote endpoint to call when there's an incoming channel for this Profile id.
  • record - (Boolean; default: false) If enabled, record the call. Otherwise, no recording is started.
  • recordFormat - (String[12]; default: "wav") The file format to use when saving the recording. (passed to Asterisk)
  • recordBeepAtStart - (Boolean; default: true) Play a beep when the recording starts.
  • recordBeepInterval - (Integer[11]; default: 0) Play a beep at the given interval. Value is in seconds. If set to 0, no beeps will be played during the recording.
  • recordPrompt - (Enum: [none, default or custom]; default: none) Play a prompt at the beginning of the call, announcing that the call is being recorded. If set to none, then no prompt will be play. Setting to default, uses the default system prompt. Setting to custom (NOT IMPLEMENTED) will play a prompt with the sound identified by recordPromptCustomId.
  • recordPromptCustomId - (UUIDv4 / String(36)) not implemented.

API Routes

The following RESTful JSON routes are available:

Route Method Required Parameters Response Description
Handling Profiles
/profiles GET Array of Profile Retrieve a list of all profiles stored in the database
/profiles PUT Object Profile Create a new Profile
/profiles/:id GET id Profile Retrieve the Profile identified by id
/profiles/:id POST id, Object Profile Update the Profile identified by id
/profiles/:id DELETE id Delete a Profile identified by id
Handling Recordings
/recordings GET Array of Recording Retrieve a list of all recordings in the database
/recordings PUT Object Recording Create a new Recording
/recordings/:id GET id Recording Retrieve the Recording identified by id
/recordings/:id POST id, Object Recording Update the Recording identified by id
/recordings/:id DELETE id Delete a Recording identified by id
Handling Recordings for a specific Profile (identified by profileId)
/profiles/:profileId/recordings GET profileId Array of Recording Retrieve the list of Recordings generated by the Profile identified by profileId
/profiles/:profileId/recordings PUT profileId, Object Array of Recording Retrieve the list of Recordings generated by the Profile identified by profileId
/profiles/:profileId/recordings/:id GET profileId, id Recording Retrieve the Recording identified by id, which belongs to the Profile identified by profileId
/profiles/:profileId/recordings/:id POST profileId, id, Object Recording Update the Recording identified by id, which belongs to the Profile identified by profileId
/profiles/:profileId/recordings/:id DELETE profileId, id Delete the Recording identified by id, which belongs to the Profile identified by profileId
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment