Online call recording: record file is stored at the wrong location

Description

As an end-user
Given I am authorized to start online call recording (*3)
Given I am talking with someone on the phone
When I press *3 to start online call recording
When I hangup
Then the call recording is available in /var/spool/asterisk/monitor/

Expected:
Then the call recording is available in /var/lib/wazo/sounds/tenants/<my_tenant_uuid>/monitor/

Technical details:

Asterisk CLI :

First-glance investigation shows that this would need patching Asterisk.

Other possibilities: see if dialplan variables MONITOR_FILENAME or MIXMONITOR_FILENAME could be used to modify the recording filename.

Asterisk source code:

  • bridge_builtin_features.c line 368: filename auto-XXX.wav

  • app_mixmonitor.c line 1020: use AST_MONITOR_DIR as directory

Variables:

  • TOUCH_MIXMONITOR_OUTPUT: set by Asterisk after ending MixMonitor

  • TOUCH_MIXMONITOR_PREFIX: changes the auto prefix

  • TOUCH_MIXMONITOR: changes the callerid-calleeid suffix

  • There is no variable to control the path of the file

Documentation here is wrong:

There is no equivalent for TOUCH_MONITOR_PREFIX. "auto" is always how the filename begins.

  • TOUCH_MIXMONITOR_PREFIX works correctly

TODO:

  • change upstream doc

  • record into tenant filename: OK

  • check online recording permission: OK

    • don’t fail if no user id

    • SIP and SCCP

  • toggle recording with same key: OK

  • pause recording: WONT DO

  • don’t enable recording twice: OK

    • enabled for all calls + enable online record

    • enable online record twice: OK

    • enable online record from both parties: WONT DO

  • DTMF configurable from global settings: OK

  • Function key working: OK CANT TEST

Zendesk Ticket IDs

None

Activity

Done

Details

Priority

Assignee

Reporter

Approvers

Pascal Cadotte

Fix versions

Sprint

Zendesk Support

Created November 2, 2020 at 4:46 PM
Updated December 21, 2020 at 1:49 PM
Resolved December 16, 2020 at 1:39 PM