[Freeswitch-users] Transfer A-Leg in a callcenter queue bridged to an agent to another queue
Mimiko
vbvbrj at gmail.com
Mon Sep 30 15:04:53 MSD 2013
On 30.09.2013 10:33, Cal Leeming [Simplicity Media Ltd] wrote:
> Can you please try the following on your dialplan;
> https://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_record_session#Continue_recording_on_transfer
> <action application="set" data="recording_follow_transfer=false"/>
>
> Apparently setting that to false will stop the call recording after a
> transfer - which is the behavior I think you are looking for.
>
> Please let me know if I have misinterpreted your problem.
Well this will stop recording on a transfer. Only is that I need the
recording to continue on transfer to any extension from callcenter
application, except to extensions associated with another queue in
callcenter. Ie, record_follow_transfer=true is the default on the whole
FS system. Only in case of transfer from one queue to another queue
record must not follow transfer.
I obtained this behavior explicitly stopping recording when transferred
to any extension associated with a callcenter application. So the
dialplan contains this:
<extension name="cc1">
<condition field="destination_number" expression="^777$" break="on-false">
<action application="set" data="default_language=ro"/>
<action application="answer"/>
</condition>
<condition field="${cc_record_filename}" expression="^$" break="never">
<anti-action application="stop_record_session"
data="${cc_record_filename}"/>
</condition>
<condition field="${cc_member_uuid}" expression="^$" break="never">
<anti-action application="set" data="cc_base_score=300"/>
<!-- play a message before entering the queue. -->
<action application="playback" data="phrase:cc_intro"/>
<!-- hangup after successful bridge to agent -->
<action application="set" data="hangup_after_bridge=true"/>
<!-- queue caller -->
<action application="set" data="RECORD_STEREO=true"/>
<action application="set" data="record_sample_rate=8000"/>
</condition>
<condition>
<action application="bind_meta_app" data="1 b s
execute_extension::redir_from_cc XML features_local"/>
<action application="callcenter" data="cc1"/>
<!-- if no agent was reached and using max-wait-time - send to
general voicemail -->
<action application="set" data="playback_terminators=#"/>
<action application="playback" data="phrase:no_agents_leave_message"/>
<action application="set" data="skip_greeting=true"/>
<action application="set" data="skip_instructions=true"/>
<action application="voicemail" data="default ${domain_name} cc1"/>
<action application="hangup"/>
</condition>
</extension>
<extension name="cc2">
<condition field="destination_number" expression="^888$" break="on-false">
<action application="set" data="default_language=ro"/>
<action application="answer"/>
</condition>
<condition field="${cc_record_filename}" expression="^$" break="never">
<anti-action application="stop_record_session"
data="${cc_record_filename}"/>
</condition>
<condition field="${cc_member_uuid}" expression="^$" break="never">
<anti-action application="set" data="cc_base_score=300"/>
<!-- play a message before entering the queue. -->
<action application="playback" data="phrase:cc_intro"/>
<!-- hangup after successful bridge to agent -->
<action application="set" data="hangup_after_bridge=true"/>
<!-- queue caller -->
<action application="set" data="RECORD_STEREO=true"/>
<action application="set" data="record_sample_rate=8000"/>
</condition>
<condition>
<action application="bind_meta_app" data="1 b s
execute_extension::redir_from_cc XML features_local"/>
<action application="callcenter" data="cc2"/>
<action application="transfer" data="cc1 XML default"/>
</condition>
</extension>
features_local contains:
<extension name="redir_from_cc">
<condition field="destination_number" expression="^redir_from_cc$">
<action application="answer"/>
<action application="read" data="11 11
'tone_stream://%(10000,0,350,440)' digits 5000 #"/>
<action application="execute_extension" data="is_transfer_from_cc XML
features_local"/>
</condition>
</extension>
<extension name="is_transfer_from_cc">
<condition field="destination_number" expression="^is_transfer_from_cc$"/>
<condition field="${digits}" expression="^(\d+)$">
<action application="transfer" data="-bleg ${digits} XML default"/>
<anti-action application="eval" data="cancel transfer"/>
</condition>
</extension>
--
Mimiko desu.
Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users
mailing list