Planning and Implementing Sound Recording (2.2/2.4 and later)
Context
Sound recording is available in two variants; the free-to-download option which is delivered as part of the regular product release, and the optional AVR feature which is a subscription option for supported customers only.
Standard voice recording includes
- the ability to set a system-wide recording default
- the ability to override the system default at the extension or call-group level
- the ability to record "Inbound", "Outbound", or ALL calls
- One-touch recording (OTR) for those extensions which require it. OTR will record a call from the point at which the record key is pressed by the user.
Basic Call Recording
Basic recording is set by choosing the recording type you want (none, inbound, outbound, both or OTR) at either the global, call group or extension level. The hierarchy is inverted so that setting a value other than 'default' in the extension will override a setting in the Globals panel. If you wish to use OTR (One touch record) then you must also set
automon in headers=>features.conf.
[general]
parkext=>*5
parkpos=>701-702
context=>parkedcalls
parkingtime=>300
transferdigittimeout=>8
courtesytone=beep
pickupexten=*8
[featuremap]
blindxfer=>##
automon=>*7atxfer=*2
In the above example, automon has been set to be invoked when a SIP terminal sends the DTMF sequence *7 during a call. SARK/Sail will allow OTR only for inbound calls. It does this by setting the correct feature sequence in the generated dial statement.
Basic call recordings will be saved into the directory
/var/spool/asterisk/monitor.
Advanced Call Recording
Advanced voce recording (AVR) includes (in addition to the above)
- High-speed/high-volume recording direct to RAM with lazy offload to secondary storage such as NAS and NFS. This feature has been developed primarily for call centres.
- Ability to include the queue extension name in the recorded file name. As far as we know, this feature is unique within Asterisk queue recording solutions. Asterisk itself does not reflect the actual agent/extension details in the recorded filename. SARK AVR does.
- One-Touch Retrospective Recording (OTRR). Unlike OTR (see above), which records from the point the record key is pressed, OTRR records the entire conversation, irrespective of when the record key is pressed.
- Call recording Pause/Resume upon agent keypress. This allows agents to "duck" sensitive customer information on-demand.
SARK Advanced Call Rcording uses a "three-stage" capture mechanism as shownn in the image below..
All Asterisk call-recordings are delivered into
/var/spool/asterisk/monitor. This is the Asterisk default recording directory and you should not change it.
The
Sox sound manipulation program is invoked at the end of the call to merge and move the final recording into the 'MONITORSTAGE' directory. The recording will wait here to be picked up and examined by the AVR finisher. The AVR finisher task will check each recording to see if it was captured from a call-queue. If it wasn't then it will simply be moved to the 'MONITOROUT' directory. Otherwise, the daemon will attempt to discover which agent or queue-extension, was involved in the call and, if found, will rename the recording to reflect the agent/queue which took the call. As far as we know, no other Asterisk based system has this feature, although it is frequently requested on the various Asterisk bulletin boards.
AVR Parameters
The following parameters MUST be set for call recording to work correctly (this applies to both regular and advanced)...
- Global MONITORSTAGE - the fully qualified name of the staging directory on your SARK box. The default is /home/selintra/monstage
- Global MONITOROUT - the fully qualified name of the finished-recording directory on your SARK box. This can be any regular local directory. The default is /home/selintra/monout
The following parameters MAY be set by the customer but they will default to reasonable settings for most installations. They determine how SARK will sarch the Asterisk queue logs looking for matches and where the final recordings will be saved.
- RECQDITHER (default 2)
- RECQSEARCHLIM (default 200)
- RECFINALDEST = {dataset location}
- RECRSYNCPARMS = {regular rsync parameters}
AVR allows you to rsync your recordings to the URI specified in RECFINALDEST. This means that you can use NAS type devices or other remote media to store your recordings. The rsync will be kicked off by SARK as an hourly cron job.You may request the AVR RPM from your SARK distributor or reseller. The rpm can be installed locally by the customer or remotely by the SARK distributor/reseller.
Finally, with AVR, OTRR (one-touch retrospective recording) becomes available as an option on the recording preferences dropdown, as does record pause and resume. OTRR will record the entire conversation regardless of when the record key was pressed. These three features are controlled by additional values you include in headers=>features.conf as follows
[general]
parkext=>*5
parkpos=>701-702
context=>parkedcalls
parkingtime=>300
transferdigittimeout=>8
courtesytone=beep
pickupexten=*8
[featuremap]
blindxfer=>##
automon=>*7
atxfer=*2
[applicationmap]
clear=>*1,callee,Macro,clear ; use *1 to signal OTRR
pause=>*9,callee,Macro,pause ; use *9 to signal record pause
resume=>*6,callee,Macro,resume ; use *6 to signal record resume