Monitor Remote Agent Outbound Calls

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Monitor Remote Agent Outbound Calls

Postby egorky » Tue Jul 02, 2024 9:26 pm

Hi, Guys,

I'm using Vicidial for some time and altough is a beast in terms of features and capabilities, I sill think there are some modes of operation that are not contemplated yet. For example, I need to run an Inbound and Manual campaign but I don't need the agents to be in conference all the time just when they receive or make a call. But I still want them to be monitored from the Real Time Monitoring page and be present in all of the reports.
I have tried the classic On-hook phone which works great for inbound, but the problem is that to make the manual outbound calls, the agent needs to click the Ring Link which slows down the efficency of the agents. The next thing I tried was the remote agents feature, and is closer to what I am looking for:
Image
I have modified the vdremote.php and made it in a way that the agent can alter their status in order to take calls and also have the webphone in an iframe next as you can see in the picture. This is working fine, and the Real-Time Report shows those agents when in call. But , when the agent makes outbound calls, those are not showing in the report. I know is because they are not in a conference, but , is there a way to resolve that?

By the way, I am using the fantastic Browserphone https://github.com/InnovateAsterisk/Browser-Phone instead of Viciphone, I just modified to work with Vicidial. Keep up the good work.

VERSION: 2.14-919a
BUILD: 240617-0833
Rocky Linux 9.4 in AWS
Asterisk 18.18.1
egorky
 
Posts: 15
Joined: Thu Jun 15, 2023 2:26 am

Re: Monitor Remote Agent Outbound Calls

Postby mflorell » Tue Jul 02, 2024 9:57 pm

I'm sure it could be done with some programming changes(having manual dialed, non-conferenced agent calls show up in the Real-Time Report), but those changes might take a while, and it would require a lot of testing to make sure nothing else breaks because of it. It would also probably require a separate set of dialplan entries since a new AGI will probably be required to get the right database entries in place for the Real-Time Report.
mflorell
Site Admin
 
Posts: 18386
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Re: Monitor Remote Agent Outbound Calls

Postby egorky » Tue Jul 02, 2024 11:26 pm

Oh, so there is no way to monitor the activity of regular phones (not agents, I mean)? Maybe something like the Flash Operator Panel https://www.fop2.com/. I know that if the phone context is defaultlog the activity will be recorded so what is lacking is the monitoring of actives extensions or phones in real time.

Well, thanks a lot for your quick response, Matt. I will think about it and maybe I can adapt something to achieve it and shall report back if I make it.

mflorell wrote:I'm sure it could be done with some programming changes(having manual dialed, non-conferenced agent calls show up in the Real-Time Report), but those changes might take a while, and it would require a lot of testing to make sure nothing else breaks because of it. It would also probably require a separate set of dialplan entries since a new AGI will probably be required to get the right database entries in place for the Real-Time Report.
egorky
 
Posts: 15
Joined: Thu Jun 15, 2023 2:26 am

Re: Monitor Remote Agent Outbound Calls

Postby williamconley » Sat Jul 06, 2024 5:05 pm

If you have the agents use manual dialing within their Agent Interface rather than dialing outbound directly from their phone you can have monitoring. If you're using a web phone in the first place, they are sitting at a computer. If they are modifying a value to be available vs not available, they could just as easily be logged in but paused.

That being said: The coding necessary to view the status of a phone that is not in a vicidial session, in an old-fashioned dialout requires some odd asterisk calisthenics. It requires turning on "hints" among other things.

Oddly, I built an interface for this using X-Lite a decade ago. X-lite has a mandatory advertising panel that used to pop up when you started the soft phone app. But that ad was at a location I could hijack via DNS and substitute our inter-office extension list with (yep, hints were required) status visible so we could know who was on a call or ringing (it even shows phones as offline if they're flat-out missing/unregistered).

To accomplish this originally FOP had hints active and a constantly running script to take the hint information and store it in a text file which the FOP used as a data source.

All of which could be accomplished with Vicidial as well, since Vicidial still runs on asterisk.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: Monitor Remote Agent Outbound Calls

Postby egorky » Sun Jul 07, 2024 1:25 pm

Thanks, Wiliam,
Because what I wanted was for the agents to take and make calls (INBOUND_MAN) without constantly being on a conference, what I did was to make the agent On-Hook, so Vicidial calls them when a call arrives. For the outbound call I made a change in the agc/vicidial.php script. I added this code:
Code: Select all
<?php
echo "<script>
    document.addEventListener('DOMContentLoaded', (event) => {
        const formulario = document.getElementById('vicidial_form');
        const onHookAgent = " . json_encode($on_hook_agent) . ";

        formulario.addEventListener('keydown', (event) => {
            if (event.key === 'Enter') {
                event.preventDefault();  // Prevenir el comportamiento por defecto de la tecla ENTER
                NeWManuaLDiaLCalL('FAST','','','','','YES','YES');
                    // Ejecutar NoneInSessionCalL solo si onHookAgent es 'Y'
                if (onHookAgent === 'Y') {
                        NoneInSessionCalL();
                }
                console.log(onHookAgent);
                return false;  // Retornar false para prevenir cualquier comportamiento por defecto adicional
            }
        });
    });
</script>";
?>


I inserted it just before the last </body> around line 24.940. I know this is not upgrade proof and that I am not taking into account a lot of other possible configurations but is working fine for my needs. Now, my agents just have to enter the phone number and phone code and press ENTER (no mouse click necessary). The system will call the agent and the client at the same time without any additional action need it. Everything is monitored and reported. The only thing I have not tackled yet is the fact that the hangup button does not hangs the call to the agent only the customer's. Any ideas on this?

Regards,
egorky
 
Posts: 15
Joined: Thu Jun 15, 2023 2:26 am

Re: Monitor Remote Agent Outbound Calls

Postby williamconley » Mon Jul 15, 2024 12:33 pm

The hangup call button initiates a javascript AJAX call which sends a signal to the server to process the end of the agent present prospect's call by kicking THEM out of the meetme room. You can modify the javascript to send a fresh request that completely resets the agent's session (log out and back in again as an on-hook agent again). Either as a chain of events from the agent page OR as a new function in the php code on the server. Or both/combination, lol.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20258
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: Monitor Remote Agent Outbound Calls

Postby egorky » Fri Aug 02, 2024 11:51 am

Will do that, William, thanks again.
egorky
 
Posts: 15
Joined: Thu Jun 15, 2023 2:26 am


Return to Support

Who is online

Users browsing this forum: No registered users and 59 guests