Stop recording after specific time in Monitor

I used different functions to record the audio, like Record(), Monitor(), MixMonitor().

While using Record() we can specify number of millisecond to record the audio. But in record there is no option to record the audio after the channel is placed in bridge and of that we have Monitor() and MixMonitor().

We have -b option in Monitor() which record unless a call is bridged to another channel.

But there is no any option to stop the record after specific amount of time.

yeah we have stopmonitor() but also which is not helpful.

So my overall desire is Record the call after bridging and stop the recording after 2 seconds and save those 2 seconds.

Why do you have this desire?

One option would be to post process to truncate the recording, but that wouldn’t be acceptable if thee were, for example, PCI DSS considerations.

save channel name at beginning of the call (UserEvent, AGI … )
then use manager to send command after a desired timeout:

Action: StopMixMonitor
ActionID:
Channel:
[MixMonitorID:]

1 Like

If the tricky part is how to trigger the StopMixMonitor after X amount of time, use a local channel and ,Set(TIMEOUT(absolute)=X)

I assume that the OP doesn’t want to stop the call. However, they don’t seem to have answered as to why it is important to stop the recording.

Using Local channel is not for stopping the call , the purpose of this is to run the instructions to stop the recording, Is how I have done it before.