remote-agents
35 posts.
Why the Zoiper WebPhone no longer works in modern browsers
The Zoiper WebPhone relied on NPAPI, which Chrome and Edge dropped in 2016. Here is what broke, which browsers still ran it, and what to use instead.
Read postHow to find the call ID ra_call_control needs
The ra_call_control API needs a call ID in its value field. Here is where that ID comes from and how to read it off a live remote-agent call.
Read postHow to test a Remote Agent's External Extension before going live
Before flipping a Remote Agent to ACTIVE, dial its External Extension from the server. This one test catches most forwarding failures.
Read postHow to fix an external-phone agent whose phone never rings
An external-phone agent logs in but the phone never rings. The fix is almost always one wrong field on the phone record.
Read postWhen to use ViciPhone instead of the Zoiper WebPhone
ViciPhone and the Zoiper WebPhone both put a phone in the browser, but only one still works. Here is the practical choice for a new VICIdial setup.
Read postHow to troubleshoot a Remote Agent that isn't getting calls
A Remote Agent set up correctly but receiving no calls usually fails one of four checks. Walk them in order to find the gap.
Read postHow to set up the ViciPhone WebRTC softphone
ViciPhone is a free WebRTC softphone built for VICIdial. Here are the steps to get it working: Asterisk version, certs, and a conf file template per phone.
Read postWhat the Zoiper WebPhone integration is
VICIdial ships hooks for the Zoiper WebPhone, a browser-embedded phone licensed per domain. Here is what the integration does and how it was wired in.
Read postWhat ViciPhone needs: Asterisk 13+ and real SSL certs
ViciPhone has two hard requirements before it will register: Asterisk 13 or higher on every server and authentic SSL certs everywhere agents log in.
Read postWhat latency does to remote-agent audio quality
How one-way delay, jitter, and packet loss degrade remote-agent call audio, and the simple measurements that tell you which one is hurting you.
Read postHow to log in and go ACTIVE on vdremote.php
To go active on vdremote.php, open the URL on your server, sign in as a level-4 VICIdial user, change Status to ACTIVE, and click SUBMIT. Allow up to a minute for the change to take effect.
Read postThe three stages of ra_call_control explained
ra_call_control has three stage values — HANGUP, EXTENSIONTRANSFER, and INGROUPTRANSFER — each requiring different extra parameters and producing different outcomes for the call.
Read postHow to transfer a remote-agent call to a phone number via the API
Use ra_call_control with stage=EXTENSIONTRANSFER and a phone_number parameter to blind-transfer a VICIdial remote-agent call to any number reachable through the server's default dialplan context.
Read postWhy a Remote Agent user needs level 4 or higher
VICIdial remote agents must have user level 4 or higher to log in through the vdremote.php web page; lower-level users can still receive forwarded calls but cannot access the web login.
Read postWhat the vdremote.php remote login page is for
vdremote.php is a lightweight web page where remote agents flip their status ACTIVE or INACTIVE and see incoming call info without the full VICIdial agent screen.
Read postHow to set up a Remote Agent to take inbound, outbound, or blended calls
A VICIdial Remote Agent can handle inbound calls, outbound calls, or both at once depending on the Campaign and inbound group fields you fill in when creating the record.
Read postHow to run a VICIdial agent on a home phone
Create an EXTERNAL phone entry in VICIdial so an agent can log in from a home phone and take calls without a SIP softphone.
Read postHow to add a cellphone Phones entry for monitoring
Create an External-type Phones entry in VICIdial that lets the system dial your cellphone when you trigger live monitoring from the Real-Time Report.
Read postHow the LISTEN column in the Real-Time Report works
The LISTEN column in VICIdial's Real-Time Report lets you blind-monitor any active agent through a phone of your choice — here is what makes it appear and what it does.
Read postWhat the ra_call_control API does
ra_call_control is an agent API function that lets an external app hang up or transfer a call a remote agent is currently handling, and optionally log a disposition.
Read postHow to live-monitor agents from your mobile phone
Walk through the full setup to blind-monitor any agent through your cellphone using VICIdial's Real-Time Report and a dedicated Phones entry.
Read postWhat happens when a direct-agent call has no one to answer
When no agent answers a direct-to-agent call before the AGENTDIRECT drop timeout, VICIdial fires the User Unavailable Action — most often sending the call to voicemail.
Read postHow to transfer a remote-agent call into an in-group via the API
Use ra_call_control with stage=INGROUPTRANSFER and an ingroup_choices parameter to send a VICIdial remote-agent call into a queue in-group from an external application.
Read postWhat the AGENTDIRECT in-group does
AGENTDIRECT is a special VICIdial in-group that holds a direct-to-agent call in queue until the agent answers or the drop timeout fires.
Read postHow to set the dialplan number for an external-phone agent
The dialplan number on a VICIdial external phone record must be the full number exactly as dialed from your phone system — including any outside-line prefix like a leading 9.
Read postWhat the AGENT DID route does
The AGENT DID route tells VICIdial to send an inbound call directly to one specific user rather than a queue, call menu, or general in-group.
Read postWhen to use ---ALL--- in the RA Extensions User Start field
The ---ALL--- token in VICIdial's RA Extensions User Start field applies a DID extension override to every call, regardless of which remote agent receives it.
Read postHow to disposition remote-agent calls from vdremote.php
When a call arrives on vdremote.php, the screen shows caller ID and call details. After the call ends, the agent picks a disposition code from a dropdown and submits it to close the record.
Read postHow to point a DID at a specific logged-in agent
Route an inbound DID directly to one VICIdial agent by setting DID Route to AGENT, picking the User Agent, and assigning an AGENTDIRECT in-group.
Read postWhy an external-phone agent needs the right Local GMT setting
The Local GMT field on a VICIdial external phone record sets the agent's timezone offset and does not adjust automatically for Daylight Saving Time — a wrong value skews call-time logic.
Read postWhat the external phone type in VICIdial does
The external phone type tells VICIdial that the agent's audio device is an off-platform phone the dialer must call out to, not a SIP endpoint that registers on the server.
Read postWhen to use DEFAULTINGROUP in an in-group transfer
DEFAULTINGROUP is a reserved ingroup_choices value that routes the call back to the in-group or campaign that originally sent it to the remote agent, without your app needing to know that name.
Read postHow to hang up a remote-agent call with ra_call_control
To hang up a call a remote agent is on, send a ra_call_control request to agc/api.php with stage=HANGUP, the call ID in value, and the agent username in agent_user.
Read postWhat the EXTERNAL client protocol setting means
Setting client protocol to EXTERNAL tells VICIdial the device will not register as a SIP client, so the system dials out to the agent's phone number instead of waiting for a registration.
Read postHow to use a cell phone as your agent line
You can connect a VICIdial agent using a mobile phone by creating an EXTERNAL phone entry with the cell number as the dialplan number — no SIP app needed.
Read post