Jack Noe Posted March 14, 2018 Report Posted March 14, 2018 Hi all. Is there anyone that set up a Barge feature to work with 2600 ? If someone can help us with this, to get it set up. What we need is: Listen in to an employee while on the phone either muted, where the employee, and the other party dont know, Or talk to the employee
Karl Stallknecht Posted March 14, 2018 Report Posted March 14, 2018 This feature is not yet available, sorry :-( KAZOO-4832
Jack Noe Posted March 14, 2018 Author Report Posted March 14, 2018 Thanks Is there anyone that built this feature, to integrate with 2600 ?
SPC-Tim Posted March 14, 2018 Report Posted March 14, 2018 So I have recently been doing some looking into Call Center Basic, and I guess the Barge feature is in there according to https://docs.2600hz.com/qubicle/doc/crossbar/qubicle_recipients/#monitor-recipient I cannot confirm if it works as I have not tried it, but the page and feature are listed in 2600hz documentation.
2600Hz Employees Mark Magnusson Posted March 15, 2018 2600Hz Employees Report Posted March 15, 2018 Eavesdrop / Whisper / Barge is currently in testing for Callcenter, it will be available with our Callcenter Pro offering. Look for news about this soon!
tomas_ Posted March 15, 2018 Report Posted March 15, 2018 We are using the eavesdrop feature, but that's in our own hosted Kazoo cluster. But I thought that all features in the open source version is available in the 2600hz hosted one? If I remember correctly we did a simple PHP script invoked via Pivot. The manager can monitor the agents by dialing a feature code followed by the extension he wants to listen to (*68*101 or *68*102 etc). We then programmed his phone to have those codes in the soft keys, so he just has to press one key to listen
FASTDEVICE Posted March 16, 2018 Report Posted March 16, 2018 @tomas_ Does the feature only work with queues and agents? I have a basic need for it to work with any device in an active call.
tomas_ Posted March 16, 2018 Report Posted March 16, 2018 25 minutes ago, FASTDEVICE said: @tomas_ Does the feature only work with queues and agents? I have a basic need for it to work with any device in an active call. No, we are using it on regular calls and devices. Not queues, but I think it would work there also.
FASTDEVICE Posted March 16, 2018 Report Posted March 16, 2018 Would you mind pointing me to the documentation? The one stated is for Qubicle.
tomas_ Posted March 16, 2018 Report Posted March 16, 2018 (edited) Sure! Here's the main part of our PHP script invoked by pivot from a feature code (*68). I hope I didn't missed something. It uses https://github.com/2600hz/kazoo-php-sdk, basically in the find_user_id_from_extension function, but it should be possible to do that with Kazoo API and curl also. <?php ### Todo: # Permissions, system for who is permitted to eavesdrop on which users # Now all users in same account is permitted to eavesdrop all require_once "kazoo-php-sdk/vendor/autoload.php"; date_default_timezone_set('Europe/Stockholm'); $date_format = 'Y-m-d H:i:s'; $logfile = "/var/log/kazoo/eavesdrop.log"; $feature_code_length = 3; # Length of feature code (*68 = 3) $account_id = $_GET['Account-ID']; $user_id = $_GET['User-ID']; $caller_user_id = $_GET['User-ID']; $request = $_GET['Request']; $extn = substr($request, $feature_code_length); # Strip feature code to get extension to eavesdrop if (!function_exists('AppendLogFile')) { function AppendLogFile($logstring){ global $logfile, $logfile_handle, $date_format; $datestring = date($date_format); if (fwrite($logfile_handle, "$datestring; $logstring\n") === FALSE) echo("** Error: Cannot write to logfile $logfile! **\n\n"); } } function get_sdk($api_key_function) { require_once "kazoo-php-sdk/vendor/autoload.php"; $options = array('base_url' => 'http://localhost:8000'); $auth_token = new \Kazoo\AuthToken\ApiKey($api_key_function); $sdk = new \Kazoo\SDK($auth_token, $options); return $sdk; exit(); } function find_user_id_from_extension($sdk, $account_id, $extn) { $users = $sdk->Account($account_id)->Users(); foreach($users as $element) { $presence_id = $element->presence_id; if ($presence_id == $extn) { return $element->id; exit; } } } if (!$logfile_handle = fopen($logfile, 'a')) { ### Open logfile die("** Error: Failed to open logfile $logfile! **"); } $sdk = get_sdk($master_api_key); $user_id = find_user_id_from_extension($sdk, $account_id, $extn); AppendLogFile("Starting eavesdrop on user_id $user_id from $caller_user_id in account $account_id."); header("content-type: application/json"); echo ('{"module":"eavesdrop","data":{"user_id":"'.$user_id.'", "approved_user_id": "'.$caller_user_id.'"}}'); Edited March 17, 2018 by tomas_ (see edit history)
FASTDEVICE Posted March 16, 2018 Report Posted March 16, 2018 I will take a look at this. Thank you very much!
Josh Robbins Posted March 17, 2018 Report Posted March 17, 2018 thanks - I will test as well. I guess it depends if the eavesdrop module is enabled on the hosted cluster...
Josh Robbins Posted March 17, 2018 Report Posted March 17, 2018 it doesn't work - I get a system message saying "no channels" and then she hangs up on me. This must be disabled on the hosted platform. Booooooo
Josh Robbins Posted March 19, 2018 Report Posted March 19, 2018 Tomas are you on hosted or running your own?
Uzair Mahmud Posted March 20, 2018 Report Posted March 20, 2018 i have the same script as tomas_ working on my self hosted cluster too. we added an extra check where script will check an eavesdrop group where we add users and only those users can listen in on other calls
Administrators mc_ Posted March 22, 2018 Administrators Report Posted March 22, 2018 On 3/17/2018 at 10:58 AM, Josh Robbins said: it doesn't work - I get a system message saying "no channels" and then she hangs up on me. This must be disabled on the hosted platform. Booooooo If you are hearing a recording it is enabled but didn't find any matching channels.
Josh Robbins Posted March 22, 2018 Report Posted March 22, 2018 yep - got it working yesterday with the help of Darren at Fast Device. It turns out it doesn't work without an approved_group_id with the listening user in part of that group. So anyone know about whisper or barge now that we got monitor working? I found something called "intercept": https://github.com/2600hz/kazoo/blob/5e877f684639fa655de973e9295abf1cb74c8957/applications/callflow/doc/intercept.md is that barge possibly?
tomas_ Posted March 22, 2018 Report Posted March 22, 2018 6 hours ago, Josh Robbins said: It turns out it doesn't work without an approved_group_id with the listening user in part of that group. So you mean it isn't enough with just approved_user_id that we have in our script above?
FASTDEVICE Posted March 22, 2018 Report Posted March 22, 2018 @tomas_ oddly enough, it didn't work on Josh's account using the user id. However, It did work on mine. Once we switched to using the group id, it worked perfectly for him. That's the right approach anyway for security reasons, but I'm uncertain why the behavior is different between reseller accounts. My only thought is he subscribes to Qubicle and I don't.
Josh Robbins Posted March 22, 2018 Report Posted March 22, 2018 anyone know what intercept is? I can't get it to do anything.
Recommended Posts