通过拨号代码管理您的队列登录状态

此脚本允许座席通过拨打预设代码来切换其队列登录状态。无论是登录还是登出所有分配的队列,座席都可以快速调整其可用性,而无需浏览菜单。这些脚本(强制登录和强制登出)展示了呼叫处理脚本的灵活性。您可以根据具体需求修改和优化脚本以实现更多功能。

如何设置登录所有队列的脚本

  1. 进入管理控制台 > 集成 > 呼叫脚本
  1. 从商店添加并选择”将座席设置为队列登录状态”
  1. 为脚本指定一个易于识别的名称
  1. 选择”当用户拨打拨号代码时运行此脚本”
  1. 添加拨号代码 – 例如 *44
  1. 选择”系统范围”

如何设置登出所有队列的脚本

  1. 进入管理控制台 > 集成 > 呼叫脚本
  1. 从商店添加并选择”将座席设置为队列登出状态”
  1. 为脚本指定一个易于识别的名称
  1. 选择”当用户拨打拨号代码时运行此脚本”
  1. 为此添加拨号代码 – 例如 *55
  1. 选择”系统范围”

座席如何使用

  • 登录:拨打 *44(或您选择的代码)
  • 登出:拨打 *55(或您选择的代码)

使用这些脚本的原因

  1. 简单管理:座席可以通过拨号代码即时更新其队列状态
  1. 节省时间:跳过菜单或界面实现快速更改
  1. 灵活设置:可以根据具体需求调整拨号代码和修改脚本

示例脚本

免责声明!此脚本仅供参考。如需最新版本,请从商店下载。

脚本:强制座席登录所有队列的功能

  
using System;  
using System.Threading.Tasks;  
using TCX.Configuration;  
using CallFlow;  
namespace dummy  
{  
public class LoginToAllQueues : ScriptBase  
{  
public override async Task StartAsync()  
{  
if (MyCall.Caller.DN is Extension ext  
&& MyCall.ReferredByDN is not DN)  
{//------------login extension to all queues  
ext.QueueStatus = QueueStatusType.LoggedIn;  
foreach (var qa in ext.QueueMembership)  
{  
qa.QueueStatus = QueueStatusType.LoggedIn;  
}  
ext.Save();  
MyCall.Info($"Extension {ext.Number} has been logged in to all queues");  
//-----------play system prompt when done------  
try  
{  
await MyCall.AssureMedia().ContinueWith(_ => MyCall.PlayPrompt(ext.GetPropertyValue("PROMPTSETID"), [ "LOGGED_IN" ], PlayPromptOptions.Blocked)).Unwrap();  
}  
catch(Exception ex)  
{  
}  
return true;  
}  
return false;  
}  
}  
}  

(上方代码实现了让座席登录到所有队列的功能)

脚本:强制座席登出所有队列的功能

  
using System;  
using System.Threading.Tasks;  
using TCX.Configuration;  
using CallFlow;  
namespace dummy  
{  
public class LogoutAndResetParticipation : ScriptBase  
{  
public override async Task StartAsync()  
{  
if (MyCall.Caller.DN is Extension ext && MyCall.ReferredByDN is not DN)  
{  
//----logout extension from all queues  
ext.QueueStatus = QueueStatusType.LoggedOut;  
foreach (var qa in ext.QueueMembership)  
{  
qa.QueueStatus = QueueStatusType.LoggedOut;  
}  
ext.Save();  
MyCall.Info($"Extension {ext.Number} has been logged out from all queues"); //-------play system prompt  
try  
{  
await MyCall.AssureMedia()  
.ContinueWith(_ => MyCall.PlayPrompt(ext.GetPropertyValue("PROMPTSETID"), new[] { "LOGGED_OUT" }, PlayPromptOptions.Blocked))  
.Unwrap();  
}  
catch  
{  
//nothing to do  
}  
return true;  
}  
return false;  
}  
}  
}  

(上方代码实现了让座席登出所有队列的功能)