| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Text;
- using System.Windows.Forms;
- namespace HySoft.Lecall.BaseAgentOcx
- {
- public partial class BaseAgentOCXCtrl : UserControl
- {
- /*
- * 版权所有:Copyright (C) 2015,河南华谊科技
- * Version: 1.0
- * 创建日期: 2015-05-08
- * 作者: 张国杰
- * 说明: CTIServer 中间件接口
- * 修改日期:
- * 修改者:
- * 修改说明:
- */
- public BaseAgentOCXCtrl()
- {
- InitializeComponent();
- }
- #region 参数
- /// <summary>
- /// CTI服务IP地址
- /// </summary>
- private string _serverIP;
- /// <summary>
- /// CTI服务连接端口
- /// </summary>
- private int _serverPort;
- /// <summary>
- /// 坐席工号
- /// </summary>
- private string _agentID;
- /// <summary>
- /// 分机电话
- /// </summary>
- private string _extPhone;
- /// <summary>
- /// 技能组ID
- /// </summary>
- private string _groupID;
- /// <summary>
- /// 坐席权限
- /// </summary>
- private string _agentRights;
- /// <summary>
- /// CTI服务状态
- /// </summary>
- private string _serverState;
- /// <summary>
- /// 坐席状态
- /// </summary>
- private string _agentState;
- #endregion
- #region 属性
- /// <summary>
- /// CTI服务IP地址
- /// </summary>
- public string ServerIP
- {
- set
- {
- _serverIP = value;
- }
- get
- {
- return _serverIP;
- }
- }
- /// <summary>
- /// CTI服务连接端口
- /// </summary>
- public int ServerPort
- {
- set
- {
- _serverPort = value;
- }
- get
- {
- return _serverPort;
- }
- }
- /// <summary>
- /// 坐席工号
- /// </summary>
- public string AgentID
- {
- set
- {
- _agentID = value;
- }
- get
- {
- return _agentID;
- }
- }
- /// <summary>
- /// 分机电话
- /// </summary>
- public string ExtPhone
- {
- set
- {
- _extPhone = value;
- }
- get
- {
- return _extPhone;
- }
- }
- /// <summary>
- /// 技能组ID
- /// </summary>
- public string GroupID
- {
- set
- {
- _groupID = value;
- }
- get
- {
- return _groupID;
- }
- }
- /// <summary>
- /// 坐席权限
- /// </summary>
- public string AgentRights
- {
- set
- {
- _agentRights = value;
- }
- get
- {
- return _agentRights;
- }
- }
- /// <summary>
- /// CTI服务状态
- /// </summary>
- public string ServerState
- {
- set
- {
- _serverState = value;
- }
- get
- {
- return _serverState;
- }
- }
- /// <summary>
- /// 坐席状态
- /// </summary>
- public string AgentState
- {
- set
- {
- _agentState = value;
- }
- get
- {
- return _agentState;
- }
- }
- #endregion
- #region 方法
- #region 公开方法
- /// <summary>
- /// 坐席登录
- /// </summary>
- /// <returns>true 登录成功 ; false 登录失败</returns>
- public virtual bool AgentLogin()
- {
- return true;
- }
- /// <summary>
- /// 坐席退出
- /// </summary>
- /// <returns>true 退出成功 ; false 退出失败</returns>
- public virtual bool AgentLogOut()
- {
- return true;
- }
- /// <summary>
- /// 坐席外呼
- /// </summary>
- /// <param name="calltype">呼叫类型</param>
- /// <param name="callerNum">主叫号码</param>
- /// <param name="calledNum">被叫号码</param>
- /// <returns>true 外呼成功 ; false 外呼失败</returns>
- public virtual bool CallOut(string calltype, string callerNum, string calledNum)
- {
- return true;
- }
- /// <summary>
- /// 重置
- /// </summary>
- /// <returns>true 重置成功 ; false 重置失败</returns>
- public virtual bool ResetAgent()
- {
- return true;
- }
- /// <summary>
- /// 置忙
- /// </summary>
- /// <returns>true 置忙成功 ; false 置忙失败</returns>
- public virtual bool SetBusy()
- {
- return true;
- }
- /// <summary>
- /// 置闲
- /// </summary>
- /// <returns>true 置闲成功 ; false 置闲失败</returns>
- public virtual bool SetFree()
- {
- return true;
- }
- /// <summary>
- /// 保持
- /// </summary>
- /// <returns>true 保持成功 ; false 保持失败</returns>
- public virtual bool Hold()
- {
- return true;
- }
- /// <summary>
- /// 接回
- /// </summary>
- /// <returns>true 接回成功 ; false 接回失败</returns>
- public virtual bool UnHold()
- {
- return true;
- }
- /// <summary>
- /// 挂机
- /// </summary>
- /// <returns>true 挂机成功 ; false 挂机失败</returns>
- public virtual bool Hangup()
- {
- return true;
- }
- /// <summary>
- /// 转移到电话
- /// </summary>
- /// <param name="phone">转移号码</param>
- /// <param name="callnumber">透传的主叫号码</param>
- /// <returns>转移结果</returns>
- public virtual bool TransferToPhone(string phone,string callnumber)
- {
- return true;
- }
- /// <summary>
- /// 咨询
- /// </summary>
- /// <param name="phone">咨询号码</param>
- /// <param name="callnumber">透传的主叫号码</param>
- /// <returns>咨询结果</returns>
- public virtual bool Consult(string phone,string callnumber)
- {
- return true;
- }
- /// <summary>
- /// 三方通话
- /// </summary>
- /// <param name="phone">会议号码</param>
- /// <param name="callnumber">透传的主叫号码</param>
- /// <returns>结果</returns>
- public virtual bool ThirdParty(string phone,string callnumber)
- {
- return true;
- }
- /// <summary>
- /// 转回IVR
- /// </summary>
- /// <param name="ivrID">IVR编号</param>
- /// <param name="dataParam">数据参数</param>
- /// <returns>结果</returns>
- public virtual bool TransferToIVR(string ivrID, string dataParam)
- {
- return true;
- }
- /// <summary>
- /// 获取CallId
- /// </summary>
- /// <param name="dataParam">数据参数</param>
- /// <returns>结果</returns>
- public virtual string GetCallID(string dataParam)
- {
- return "";
- }
- /// <summary>
- /// 获取来电振铃时的被叫号码
- /// </summary>
- /// <returns>1、外线呼座席时,返回外线所拨打的号码。2、座席呼座席时,返回与座席的分机号码。</returns>
- public virtual string GetCalleeNumber()
- {
- return "";
- }
- #endregion
- #region 监控相关
- /// <summary>
- /// 订阅数据
- /// </summary>
- /// <param name="type">订阅类型</param>
- /// 0坐席状态 1线路状态 2 空闲坐席列表 3.忙坐席列表 4.来电振铃坐席列表 5 通话坐席列表
- /// 6 外线排队数目 7 指定座席组中座席的状态 8 指定坐席组外线排队的数量 9 指定呼叫任务所占用的外线数量
- /// <param name="dataParam">数据参数</param>
- /// <returns>结果</returns>
- public virtual bool SubscribeData(string type, string dataParam)
- {
- return true;
- }
- /// <summary>
- /// 取消订阅数据
- /// </summary>
- /// <param name="type">订阅类型</param>
- /// 0坐席状态 1线路状态 2 空闲坐席列表 3.忙坐席列表 4.来电振铃坐席列表 5 通话坐席列表
- /// 6 外线排队数目 7 指定座席组中座席的状态 8 指定坐席组外线排队的数量 9 指定呼叫任务所占用的外线数量
- /// <param name="dataParam">数据参数</param>
- /// <returns>结果</returns>
- public virtual bool CancelSubscribeData(string type, string dataParam)
- {
- return true;
- }
- /// <summary>
- /// 监听
- /// </summary>
- /// 目标坐席处于通话状态
- /// <param name="agentcode">坐席工号</param>
- /// <returns>结果</returns>
- public virtual bool Listen(string agentcode)
- {
- return true;
- }
- /// <summary>
- /// 代接
- /// </summary>
- /// 目标坐席处于空闲状态
- /// <param name="agentcode">坐席工号</param>
- /// <returns>结果</returns>
- public virtual bool Instead(string agentcode)
- {
- return true;
- }
- /// <summary>
- /// 强插
- /// </summary>
- /// 目标坐席处于通话中状态
- /// <param name="agentcode">坐席工号</param>
- /// <returns>结果</returns>
- public virtual bool Insert(string agentcode)
- {
- return true;
- }
- /// <summary>
- /// 拦截
- /// </summary>
- /// 目标坐席处于通话中状态
- /// <param name="agentcode">坐席工号</param>
- /// <returns>结果</returns>
- public virtual bool Intercept(string agentcode)
- {
- return true;
- }
- /// <summary>
- /// 强拆
- /// </summary>
- /// 目标坐席处于通话中状态
- /// <param name="agentcode">坐席工号</param>
- /// <returns>结果</returns>
- public virtual bool Break(string agentcode)
- {
- return true;
- }
- /// <summary>
- /// 强制指定坐席状态
- /// </summary>
- ///
- /// <param name="agentcode">坐席工号</param>
- /// <param name="state">坐席状态</param>
- /// <returns>结果</returns>
- public virtual bool ForceAgentState(string agentcode, string state)
- {
- return true;
- }
- /// <summary>
- /// 强制指定坐席签出
- /// </summary>
- ///
- /// <param name="agentcode">坐席工号</param>
- /// <param name="reson">签出原因</param>
- /// <returns>结果</returns>
- public virtual bool ForceAgentOut(string agentcode, string reson)
- {
- return true;
- }
- #endregion
- #endregion
- #region 委托
- #region 监控相关
- /// <summary>
- /// 订阅数据改变通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="type">0 坐席状态改变 1 线路状态改变 2 空闲坐席列表 3 忙坐席列表 4 来电振铃坐席列表 5 通话坐席列表 6 外线排队电话数量 7 指定座席组中座席的状态 8 指定坐席组外线排队的数量 9 指定呼叫任务所占用的外线数</param>
- /// <param name="data1"></param>
- /// <param name="data2"></param>
- /// <param name="substr"></param>
- public delegate void Delegate_SubscribeDataChanged(object sender, string type, string data1, string data2, string substr);
- /// <summary>
- /// 监听结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Listen(object sender, bool blres, string callid,string strres);
- /// <summary>
- /// 代接结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Instead(object sender, bool blres, string callid, string strres);
- /// <summary>
- /// 强插结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Insert(object sender, bool blres, string callid, string strres);
- /// <summary>
- /// 拦截结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Intercept(object sender, bool blres, string callid, string strres);
- /// <summary>
- /// 强拆结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Break(object sender, bool blres, string callid, string strres);
- /// <summary>
- /// 强制坐席状态结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_ForceAgentState(object sender, bool blres, string callid, string strres);
- /// <summary>
- /// 强制坐席签出结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_ForceAgentOut(object sender, bool blres, string strres);
- #endregion
- /// <summary>
- /// 日志通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="type">日志类型</param>
- /// <param name="name">方法及事件名称</param>
- /// <param name="infor">日志描述</param>
- public delegate void Delegate_LogsNote(object sender, string type, string name, string infor);
- /// <summary>
- /// 坐席状态变化通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="agentState">坐席状态</param>
- public delegate void Delegate_AgentStateChangeNote(object sender, string agentState);
- /// <summary>
- /// 服务状态变化通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="serverState">服务状态</param>
- public delegate void Delegate_ServerStateChangeNote(object sender, string serverState);
- /// <summary>
- /// 当前等待坐席数量
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="count"></param>
- public delegate void Delegate_WaitCountNote(object sender, string count);
- /// <summary>
- /// 来电通知
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="callerNum">来电号码</param>
- /// <param name="callID">来电编号</param>
- /// <param name="calltype">来电类型</param>
- /// <param name="dataParam">随路数据</param>
- public delegate void Delegate_CallCommingNote(object sender, string callerNum, string callID,string calltype, string dataParam);
- /// <summary>
- /// 外呼振铃事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="callerNum">来电号码</param>
- /// <param name="callID">来电编号</param>
- /// <param name="dataParam">随路数据</param>
- public delegate void Delegate_CallOutRingNote(object sender, string callerNum, string callID, string dataParam);
- /// <summary>
- /// 录音通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="callerNum">来电号码</param>
- /// <param name="callID">来电编号</param>
- /// <param name="dataParam">随路数据</param>
- public delegate void Delegate_RecordInfoNote(object sender, string path, string callID, string dataParam);
- /// <summary>
- /// 坐席签入结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_AgentLogin(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席签出结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_AgentLogout(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席外呼结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_CallOut(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席置忙结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_SetBusy(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席置闲结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_SetFree(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席保持结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Hold(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席接回保持结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_UnHold(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席挂机结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Hangup(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席转移结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_TransferToPhone(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席咨询结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_Consult(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席三方通话结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_ThirdParty(object sender, bool blres, string strres);
- /// <summary>
- /// 坐席转回IVR结果通知事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="blres"></param>
- /// <param name="strres"></param>
- public delegate void Delegate_TransferToIVR(object sender, bool blres, string strres);
- /// <summary>
- /// 中继利用数量
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="count"></param>
- public delegate void Delegate_TrunkUseCountNote(object sender, string count);
- #endregion
- #region 事件
- /// <summary>
- /// 坐席签入结果通知事件
- /// </summary>
- public virtual event Delegate_AgentLogin EvtAgentLogin;
- /// <summary>
- /// 坐席签出结果通知事件
- /// </summary>
- public virtual event Delegate_AgentLogout EvtAgentLogout;
- /// <summary>
- /// 坐席外呼结果通知事件
- /// </summary>
- public virtual event Delegate_CallOut EvtCallOut;
- /// <summary>
- /// 坐席置忙结果通知事件
- /// </summary>
- public virtual event Delegate_SetBusy EvtSetBusy;
- /// <summary>
- /// 坐席置闲结果通知事件
- /// </summary>
- public virtual event Delegate_SetFree EvtSetFree;
- /// <summary>
- /// 坐席保持结果通知事件
- /// </summary>
- public virtual event Delegate_Hold EvtHold;
- /// <summary>
- /// 坐席接回保持结果通知事件
- /// </summary>
- public virtual event Delegate_UnHold EvtUnHold;
- /// <summary>
- /// 坐席挂机结果通知事件
- /// </summary>
- public virtual event Delegate_Hangup EvtHangup;
- /// <summary>
- /// 坐席转移结果通知事件
- /// </summary>
- public virtual event Delegate_TransferToPhone EvtTransferToPhone;
- /// <summary>
- /// 坐席咨询结果通知事件
- /// </summary>
- public virtual event Delegate_Consult EvtConsult;
- /// <summary>
- /// 坐席三方通话结果通知事件
- /// </summary>
- public virtual event Delegate_ThirdParty EvtThirdParty;
- /// <summary>
- /// 坐席转IVR结果通知事件
- /// </summary>
- public virtual event Delegate_TransferToIVR EvtTransferToIVR;
- /// <summary>
- /// 日志通知事件
- /// </summary>
- public virtual event Delegate_LogsNote EvtLogs;
- /// <summary>
- /// 坐席状态变化通知事件
- /// </summary>
- public virtual event Delegate_AgentStateChangeNote EvtAgentStateChange;
- /// <summary>
- /// 服务状态变化通知事件
- /// </summary>
- public virtual event Delegate_ServerStateChangeNote EvtServerStateChange;
- /// <summary>
- /// 获得当前坐席忙 线路中等待用户的数量
- /// </summary>
- public virtual event Delegate_WaitCountNote EvtWaitCount;
- /// <summary>
- /// 来电通知事件
- /// </summary>
- public virtual event Delegate_CallCommingNote EvtCallComming;
- /// <summary>
- /// 外呼振铃事件
- /// </summary>
- public virtual event Delegate_CallOutRingNote EvtCallOutRing;
- /// <summary>
- /// 录音通知事件
- /// </summary>
- public virtual event Delegate_RecordInfoNote EvtRecordInfo;
- /// <summary>
- /// 订阅数据改变通知事件
- /// </summary>
- public virtual event Delegate_SubscribeDataChanged EvtSubscribeDataChanged;
- /// <summary>
- /// 监听结果通知事件
- /// </summary>
- public virtual event Delegate_Listen EvtListen;
- /// <summary>
- /// 代接结果通知事件
- /// </summary>
- public virtual event Delegate_Instead EvtInstead;
- /// <summary>
- /// 强插结果通知事件
- /// </summary>
- public virtual event Delegate_Insert EvtInsert;
- /// <summary>
- /// 拦截结果通知事件
- /// </summary>
- public virtual event Delegate_Intercept EvtIntercept;
- /// <summary>
- /// 强拆结果通知事件
- /// </summary>
- public virtual event Delegate_Break EvtBreak;
- /// <summary>
- /// 强制坐席状态结果通知事件
- /// </summary>
- public virtual event Delegate_ForceAgentState EvtForceAgentState;
- /// <summary>
- /// 强制坐席签出结果通知事件
- /// </summary>
- public virtual event Delegate_ForceAgentOut EvtForceAgentOut;
- /// <summary>
- /// 中继利用数量
- /// </summary>
- public virtual event Delegate_TrunkUseCountNote EvtTrunkUseCount;
- #endregion
- }
- }
|