I have the “In-Call Asterisk Toggle Call Recording” feature code *1 enabled.
I would like to prevent a specific user from being able to toggle recordings on/off with this feature code, so I have set to “Disable” the “On Demand Recording” option under the extension. Still, when I test it, the feature code works allowing the extension to toggle call recordings. All other recording options for the extension are set to “Don’t Care”.
I’m unable to repro this on a current 15 system. If the on demand option is disabled for the extension, you can confirm it from the asterisk console:
CLI> database show ampuser 6006/recording/ondemand
/AMPUSER/6006/recording/ondemand : disabled
And when I attempt to use the in call code, I see this on the console and hear the ‘access denied’ recording:
-- Executing [s@macro-one-touch-record:1] Set("PJSIP/6006-000000d4", "ONETOUCH_REC_SCRIPT_STATUS=") in new stack
-- Executing [s@macro-one-touch-record:2] System("PJSIP/6006-000000d4", "/var/lib/asterisk/bin/one_touch_record.php "PJSIP/6006-000000d4"") in new stack
-- Executing [s@macro-one-touch-record:3] NoOp("PJSIP/6006-000000d4", "ONETOUCH_REC_SCRIPT_STATUS: [DENIED-ASTDB]") in new stack
-- Executing [s@macro-one-touch-record:4] NoOp("PJSIP/6006-000000d4", "REC_STATUS: [RECORDING]") in new stack
-- Executing [s@macro-one-touch-record:5] GotoIf("PJSIP/6006-000000d4", "1?denied") in new stack
-- Goto (macro-one-touch-record,s,11)
-- Executing [s@macro-one-touch-record:11] ExecIf("PJSIP/6006-000000d4", "1?Playback(access-denied)") in new stack
-- <PJSIP/6006-000000d4> Playing 'access-denied.g722' (language 'en')
I think the short answer here is that this feature has not been tested with device and user and is one of the things that is not supported. I tried to find an open ticket for this, but not seeing one.
Is anyone here aware of the status of one touch record with device and user mode, or are able to replicate this?
I also use Sangoma Connect with that same extension 3981, and here it does work. I get the “access denied” recording. This is just not working when using Zulu softphone.
The on demand feature code permission is not working for Zulu. When the feature code is invoked, there is some logging beyond what shows on the Asterisk console, in /var/log/asterisk/freepbx_dbug
The dialing channel (in this case Zulu) is identified as PJSIP/XXXXX and the script attempts to find a matching entry in the AstDB to find the associated user. Once the user is identified, then the setting for one touch record permission can be read from AstDB. The problem is this is how a Zulu extension is identified in the AstDB:
CLI> database show DEVICE 906006/dial
/DEVICE/906006/dial : Local/906006@zulu-call
The dial string does not match the PJSIP/XXXXX format like a normal hard phone:
CLI> database show DEVICE 6006/dial
/DEVICE/6006/dial : PJSIP/6006
Or a Sangoma Phone Desktop Client
CLI> database show DEVICE 986006/dial
/DEVICE/986006/dial : PJSIP/986006
Ticket is here, but it may be better (certainly faster) to migrate your users to Sangoma Phone Desktop in lieu of using Zulu.
I really appreciate you taking the time to check this. Great explanation.
I will test with Sangoma Phone for desktop to confirm this works. I thought it was still on Beta.
Yes, I just confirmed that if using the Sangoma Connect softphone for desktop instead of Zulu works as intended. So I guess I will just start transitioning since Zulu may be obsolete soon?