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@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.
______________________________________________________________________