zoukankan      html  css  js  c++  java
  • 呼叫中心客户端 中 IClientOutter

    public interface IClientOutter
        {
            #region 业务类
            /// <summary>
            /// 示忙/示闲
            /// 示忙功能:实现坐席向服务器请求示忙,成功后不再处理新的业务
            /// 示闲功能:实现坐席向服务器请求示闲,成功后继续处理新业务 
            ///                坐席过在通话中,肯定是忙的状态。此函数是坐席没有通话时(电话通道未使用)
            ///                的时候, 可以报告自己的状态。如坐席人员可能暂时离开位置,这个时候不能接听电
            ///                话,则可以使用此函数告诉服务器,自己忙碌。CTI 服务器则在该坐席重新设置状态为
            ///                空闲之前,CTI 服务器不会将业务转接到该坐席
            /// 事件响应 OnEventBusy 服务器告知坐席请求的示闲或者示忙状态的成功与否
            /// </summary>
            /// <param name="user">当前用户</param>
            /// <param name="intType">1示忙,0示闲</param>
            /// <returns>1成功,0失败,-1已是忙线状态无需再示</returns>
            int RequestBusy(UserData user, int intType);
    
            /// <summary>
            /// 保持/取保持
            /// 保持功能:实现坐席通话中让对方听取等待音乐而暂时中断通话。
            /// 取保持功能:实现坐席恢复暂时中断的通话。
            /// 事件响应 EventDelegate  服务器告知坐席请求的保持或取保状态的成功与否
            /// </summary>
            /// <param name="strCurrUserID">当前用户</param>
            /// <param name="intType">1 保持;0 取保持</param>
            /// <returns>1 发送请求成功;0发送请求失败;</returns>
            int RequestKeepNo(UserData user, int intType);
    
            /// <summary>
            /// 向服务器请求其他坐席状态信息(如要进行内呼或者通话中转接给别的坐席)
            /// 只能在正常登录系统后(Initialize 返回LogonResult.Succeed)调用该函数。
            /// 事件响应 OnAgentState 函数将得到反馈结果(服务器受理成功或失败, 结果等)
            /// </summary>
            /// <param name="user"></param>
            /// <param name="TargetUser"></param>
            /// <returns>1发送请求成功;0 发送请求失败</returns>
            int RequestAgentState(UserData user, UserData TargetUser);
    
            /// <summary>
            /// 内呼方法(坐席间呼叫)
            /// 事件响应 OnEventCallUser 函数将得到反馈结果(服务器受理成功或失败, 结果等)
            /// </summary>
            /// <param name="user">内呼用户</param>
            /// <param name="TargetUser">被内呼用户</param>
            /// <returns>1发送请求成功;0 发送请求失败</returns>
            int RequestCallUser(UserData user, UserData TargetUser);
    
            /// <summary>
            /// 外呼方法(坐席进行呼出)
            /// 事件响应 OnEventCallOut 函数将得到反馈结果(服务器受理成功或失败, 结果等)
            /// </summary>
            /// <param name="user">当前用户</param>
            /// <param name="strTelArray">外呼号码</param>
            /// <returns>1发送请求成功;0 发送请求失败</returns>
            int RequestCallOut(UserData user, string strTelArray);
    
             /// <summary>
            /// 转接
            /// </summary>
            /// <param name="user">当前用户</param>
            /// <param name="TargetUser">转接对象用户</param>
            /// <returns>1发送请求成功;0 发送请求失败</returns>
            int RequestDivert(UserData user, UserData TargetUser);
    
            /// <summary>
            /// 切来电,将来电转接到自己的线路(来电排队到A坐席,A不在工位,可通过此方法将来电转接到自己的线路)
            /// 事件响应 OnEventCutCaller 函数将得到反馈结果(服务器受理成功或失败, 结果等)。
            /// </summary>
            /// <param name="user">当前用户</param>
            /// <param name="TargetUser">目标用户,当此用户为NULL时;CTI将按队列进行切</param>
            /// <returns>1 发送请求成功;0发送请求失败</returns>
            int RequestCutCaller(UserData user, UserData TargetUser);
    
            /// <summary>
            /// 呼叫转移、取消呼叫转移;将来电转接到一个目标号码(坐席下班,或者去开会时;可将来电转接到自己的手机或者其它号码)
            /// 事件响应 OnEventCallTransfer 函数将得到反馈结果(服务器受理成功或失败, 结果等)。
            /// </summary>
            /// <param name="user">当前用户</param>
            /// <param name="TargetTelNumber">目标号码(手机号、或者固话号码)</param>
            /// <param name="intType">1申请转移,0取消转移</param>
            /// <returns>1 发送请求成功;0发送请求失败</returns>
            int RequestCallTransfer(UserData user, string TargetTelNumber, int intType);
    
            #endregion
    
            #region 管理类
            /// <summary>
            /// 监听
            /// 事件响应 OnEventMonitor 函数将得到反馈结果(服务器受理成功或失败, 结果等)。
            /// </summary>
            /// <param name="strCurrUserID">当前用户</param>
            /// <param name="strTargetUserID">被监听者用户ID</param>
            /// <returns>1 发送请求成功;0发送请求失败;</returns>
            int RequestMonitor(string strCurrUserID, string strTargetUserID);
    
            #endregion
    
            #region 通知事件
            /// <summary>
            /// 服务器告知坐席请求的示闲或者示忙状态的成功与否
            /// </summary>
            event EventDelegate<int, bool> OnEventBusy;
    
            /// <summary>
            ///  服务器告知坐席请求的保持或取保状态的成功与否
            /// </summary>
            event EventDelegate<int, bool> OnEventKeepNo;
    
            /// <summary>
            /// 服务告知坐席请求的坐席状态
            /// </summary>
            event EventDelegate<UserData> OnEventAgentState;
    
            /// <summary>
            /// 内呼返回结果事件;在发送内呼请求后,可通过此事件来获取内呼结果 
            /// </summary>
            event EventDelegate<Information> OnEventCallUser;
    
            /// <summary>
            /// 外呼返回结果事件;在发送外呼请求后,可通过此事件来获取外呼结果 
            /// </summary>
            event EventDelegate<Information> OnEventCallOut;
    
            /// <summary>
            /// 转接来电
            /// </summary>
            event EventDelegate<Information> OnEventDivert;
    
            /// <summary>
            ///  切来电,将来电转接到自己的线路;在发送请求后,可通过此事件来获取结果 
            /// </summary>
            event EventDelegate<Information> OnEventCutCaller;
    
            /// <summary>
            /// 请求、取消呼叫转移事件(将来电转接到一个目标号码(坐席下班,或者去开会时;可将来电转接到自己的手机或者其它号码))
            /// </summary>
            event EventDelegate<int, bool> OnEventCallTransfer;
    
            /// <summary>
            /// 监听返回结果事件;在发送监听请求后,可通过此事件来获取监听结果 
            /// </summary>
            event EventDelegate<CallStatusEnum> OnEventMonitor;
    
            /// <summary>
            /// 来电信息信息事件,通过此事件可以获取更多的来电信息
            /// </summary>
            event EventDelegate<string, int> OnEventInComingTel;
    
            /// <summary>
            /// 摘机通知事件,坐席摘机后,进行通知
            /// </summary>
            event EventDelegate<string,int> OnEventOffHook;
    
            /// <summary>
            /// 挂机通知事件,坐席挂机后,进行通知
            /// </summary>
            event EventDelegate<string,int> OnEventHangUp;
    
            /// <summary>
            /// 来电振铃,坐席话机来电振铃,进行通知
            /// </summary>
            event EventDelegate<string,int> OnEventRinging;
    
            /// <summary>
            /// 通话中,坐席通话中,进行通知
            /// </summary>
            event EventDelegate<string,int> OnEventCalling;
    
            /// <summary>
            /// 该接口用户实现坐席CTI状态维护
            /// </summary>
            IUserOutter userOutter { get; set; }
            #endregion
    
            /// <summary>
            /// 
            /// </summary>
            Socket CurrSocket { get; set; }
    
            /// <summary>
            /// 收到服务器应答消息
            /// </summary>
            /// <param name="data"></param>
            void SystemAnswerMessage(byte[] data);
        }
    
  • 相关阅读:
    抽签问题及优化
    P1020
    p1852ants
    1,三角形
    TG3
    如何看懂一篇题解
    Unsupported major.minor version 51.0 错误解决方案
    weblogic初学笔记2-在Linux上部署项目
    一块移动硬盘怎样兼容Mac和Windows系统,并且可以在time machine上使用
    org.hibernate.HibernateException: connnection proxy not usable after transaction completion
  • 原文地址:https://www.cnblogs.com/ziyan22/p/2821808.html
Copyright © 2011-2022 走看看