Problem
In calls with transfers, the recording was treated as a single continuous file attached to multiple CDR history rows, including rows where the user was not involved.
Also, manually stopping the recording from the phone island did not call StopMixMonitor: the audio file kept growing in silence instead of being closed.
Fix
- astproxy: added
recordingControlAvailable field on the conversation object; set to false when recording is forced by FreePBX or On Demand Recording is disabled. The real StopMixMonitor is now called on stop. Recording of the first leg of a transferred call is stopped before the transfer.
- nethcti-server: CDR query now uses
linkedid + filename + involved extensions to bind the recording only to the correct history rows. start_record and stop_record return 403 instead of 500 when recording control is unavailable.
- nethvoice-cti / phone-island: removed mute/unmute logic, replaced with real start/stop. The record button is hidden when
recordingControlAvailable is false.
PRs
Problem
In calls with transfers, the recording was treated as a single continuous file attached to multiple CDR history rows, including rows where the user was not involved.
Also, manually stopping the recording from the phone island did not call
StopMixMonitor: the audio file kept growing in silence instead of being closed.Fix
recordingControlAvailablefield on the conversation object; set tofalsewhen recording is forced by FreePBX orOn Demand Recordingis disabled. The realStopMixMonitoris now called on stop. Recording of the first leg of a transferred call is stopped before the transfer.linkedid+ filename + involved extensions to bind the recording only to the correct history rows.start_recordandstop_recordreturn 403 instead of 500 when recording control is unavailable.recordingControlAvailableisfalse.PRs