Allan- this example below allows you to call to an extension and when finished eavesdropping on one channel press * to move to another- the extension will ask again what extension to monitor (you can uncomment the lines if you want to read back to the caller what extension they entered): <extension name="custom-eavesdrop"> <condition field="destination_number" expression="^\*8(\d{4})$"> <action application="answer"/> <!-- <action application="playback" data="$${base_dir}/sounds/en/us/callie/ivr/8000/ivr-you_entered.wav"/> --> <!-- spell out called number, like "one-two-three-four-five" --> <!-- <action application="say" data="en name_spelled iterated $1"/> --> <action application="set" data="eavesdrop_enable_dtmf=true"/> <action application="eavesdrop" data="${hash(select/${domain_name}-spymap/$1$2)}"/> <!--<action application="sleep" data="500"/>--> <action application="play_and_get_digits" data="4 4 3 5000 # $${base_dir}/sounds/en/us/callie/ivr/8000/ivr-enter_ext.wav $${base_dir}/sounds/en/us/callie/ivr/8000/ivr-invalid_extension_try_again.wav my_digits \d+"/> <action application='transfer' data='*8${my_digits} XML default'/> <action application="say" data="en name_spelled iterated $1"/> <action application="playback" data="$${base_dir}/sounds/en/us/callie/voicemail/8000/vm-not_available.wav"/> </condition> </extension> On Wed, Jun 3, 2015 at 6:21 AM, Allan Kristensen <ak@hejdu.dk> wrote:
Hello All,
Can anyone tell me if it's possible to eavesdrop from an existing channel instead of using "originate <dialstr> &eavesdrop(uuid)" method?
Let's say I have 20 agents talking to our clients and as I supervisor I want to listen to these calls and perhaps coach agents by activating the "speak with uuid" feature available in eavesdrop.
Today I need to make a new call (originate) if I want to start eavesdropping, so supervisor has to disconnect phone and make another call to jump to next agent (using the "*" DTMF is not possible and I also want to control this using ESL).
What i'm doing today using the ESL:
originate <agent dial string> &park originate <client dial string> &park uuid_bridge <agent_chan_uuid> <client_chan_uuid>
..."Agent and client talks"...
Now supervisor/coach wants to give agents some tips:
originate <supervisor dial string> &eavesdrop(<agent_chan_uuid>)
"Supervisor can now listen and talk to agent by pressing the "2" DTMF
If supervisor needs to help another agent, he/she now needs to disconnect call and do another originate, which is quite tedious. If it was somehow possible, I rather do this:
originate <supervisor dial str> &park "send api cmd to api that eavesdrop <client_chan_uuid> from <supervisor_chan_uuid>"
...and when done, quickly move to another client by issusing another command without disconnecting the call, perhaps even use the same <supervisor_chan_uuid> to listen to a recorded call.
Does it makes sense? :)
What approach would you recommend ?
Thank you...
Best Regards, Allan
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
Official FreeSWITCH Sites http://www.freeswitch.org http://confluence.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Tony Bourdeaux *Intelecenter, LLC* ph: 805-428-3031 Skype: tony.bourdeaux "This message and any attachments are solely for the intended recipient and may contain confidential or privileged information. If you are not the intended recipient, any disclosure, copying, use, or distribution of the information included in this message and any attachments is prohibited. If you have received this communication in error, please notify me by reply e-mail and immediately and permanently delete this message and any attachments."