[Freeswitch-users] Call Recording On Demand for Call Center Queues (mod_callcenter)

Shaun Stokes shaun.stokes at itec-support.co.uk
Fri Apr 22 19:25:34 MSD 2016


We have been troubleshooting this further, it seems that this line has no effect when using mod_callcenter:
<action application="export" data="nolocal:execute_on_answer=record_session ${rec_file}"/>

This parameter is set in callcenter.conf if we remove this the call doesn’t record:
<param name="record-template" value="=$${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.${record_ext}"/>

The file path\name from the above matches that of the call we’re trying to pause, but it seems we can’t pause the recording if this has been started by mod_callcenter, there are no errors. We can only start and pause call recording when this isn’t started using mod_callcenter by default.

Is there any way around this, maybe a different command for mod_callcenter that can be executed on the agent leg using dtmf to stop the recording, or another way we can start recording after being answered by the agent?

Thanks,
Shaun


From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Shaun Stokes
Sent: 22 April 2016 14:56
To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
Subject: [Freeswitch-users] Call Recording On Demand for Call Center Queues (mod_callcenter)

Hi,

We’re trying to setup call recording on demand for call center queues (mod_callcenter) but are experiencing tremendous trouble. Is it possible for the agent to perform pause\resume call recording on mod_callcenter calls which are recorded by default upon answer?

Here’s the important elements of our dialplan:
<condition field="${rec_file}" expression="^(.)+">
                <action application="set" inline="true" data="RECORD_APPEND=true"/>
                <anti-action application="set" inline="true" data="RECORD_APPEND=true"/>
                <anti-action application="export" inline="true" data="rec_file=$${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.${record_ext}"/>
</condition>
<condition field="destination_number" expression="^SETUP_RECORDING$">
                <action application="log" data="INFO Configuring bind_digit_action to do recording on this session..."/>
                <action application="bind_digit_action" data="features,*1,exec:execute_extension,START_RECORDING XML ${domain_name}"/>
                <action application="bind_digit_action" data="features,*0,exec:execute_extension,STOP_RECORDING XML ${domain_name}"/>
                <action application="digit_action_set_realm" data=" features"/>
</condition>
<condition field="destination_number" expression="^START_RECORDING$">
                <action application="log" data="INFO Starting recording..."/>
                <action application="record_session" data="${rec_file}"/>
</condition>
<condition field="destination_number" expression="^STOP_RECORDING$">
                <action application="log" data="INFO Stopping recording..."/>
                <action application="stop_record_session" data="${rec_file}"/>
</condition>
<condition field="destination_number" expression="^837$">
<action application="export" data="nolocal:execute_on_answer=record_session ${rec_file}"/>
<action application="set" data="cc_export_vars=rec_file"/>
<action application="set" data="bridge_pre_execute_bleg_app=execute_extension"/>
<action application="set" data="bridge_pre_execute_bleg_data=SETUP_RECORDING XML ${domain_name}"/>
<action application="callcenter" data="Test-bench at tester"/>
</condition>

Here’s the log of the call as it comes in:
SET [RECORD_APPEND]=[true]
Configuring bind_digit_action to do recording on this session...
Digit parser DPTOOLS: binding *1/features/0 callback: 0x7f37720eed10 data: 0x7f367c7dd918
Digit parser DPTOOLS: binding *0/features/0 callback: 0x7f37720eed10 data: 0x7f367c7ddab8
Digit parser DPTOOLS: Setting realm to 'features'
EXPORT (export_vars) (REMOTE ONLY) [execute_on_answer]=[record_session /usr/local/freeswitch/recordings/tester/archive/2016/Apr/22/cce7b636-088c-11e6-9458-f7ab40b1257a.mp3]

The call is then answered by the agent, we see the recording file has been created, the agent presses *0 but the call continues recording, log as follows:
SET [RECORD_APPEND]=[true]
RTP RECV DTMF *:1536
RTP RECV DTMF 0:1536
Stopping recording...
stop_record_session(/usr/local/freeswitch/recordings/tester/archive/2016/Apr/22/cce7b636-088c-11e6-9458-f7ab40b1257a.mp3)


The configuration looks as though it should work, any ideas? Is there another method we should be using?

Many Thanks,
Shaun

______________________________________________________________________
This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
______________________________________________________________________

______________________________________________________________________
This message has been checked for all known viruses by MessageLabs Virus Scanning Service.
______________________________________________________________________

______________________________________________________________________
This message has been checked for all known viruses by  MessageLabs Virus Scanning Service.
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160422/731694e2/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list