jambonz / jambonz-webapp

A simple provisioning web app for jambonz
MIT License
5 stars 21 forks source link

Record call feature #251

Closed davehorton closed 11 months ago

davehorton commented 1 year ago

I would like to add the option of recording calls as a feature that a user can provision via the webapp. There shall be an env variable which can disable this feature completely if set. If this variable is not set, the following requirements apply:

Account Edit view There shall be a checkbox labeled "Enable call recording for this account". If checked, the following controls shall become visible

Application Edit view IF call recording is enabled for the account AND the account "record all calls" setting is false, then have a checkbox titled "Record all calls to this application". If set, then we will record calls made to this specific application.

Recent Calls When retrieving recent call data, we should have an additional property containing the bucket and name of the call recording for this call, if one exists. (Note that we need to save the bucket and file name with the call data, because a user may at some point want to change the account recording setting to a new bucket, but we should still be able to retrieve audio files from the older bucket).

If there IS a recording for a call then to the right of "Download pcap" there should be an audio control allowing the user to play back the recording from the browser. Ideally, I would like this to be shown as an audio strip similar to below if we can find some code or a library to do that.

image

There should be controls to play, pause, resume and if possible to drag the current audio pointer to some place in the audio and play it.

Finally, there should the ability to download the audio to an mp3 or wav file.