升龙物业 老版本 ocx IPO, 加密狗 转值班电话

G_AgentDef.h 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. /*************************************************************************
  2. 【文件名】 G_AgentDef.h
  3. 【功能模块和目的】 OCX端全局变量声明
  4. 【开发者及日期】 郑石诺 2015.05.22
  5. 【版本】 V1.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. // 封装ACD服务器,用于简单扩展
  10. typedef struct tagAcdServer
  11. {
  12. int m_nAcdServerId; // ACD服务器的标志索引:用于区分主备
  13. CString m_sAcdServerName; // ACD服务器的名称
  14. CString m_sAcdServerIpAddr; // ACD服务器的IP地址
  15. int m_nAcdServerPort; // ACD服务器的端口号
  16. }stAcdServer;
  17. // 定义映射结构,建立全局映射表
  18. typedef struct tagMapTable
  19. {
  20. int codeId;
  21. CString codeInfo;
  22. }stMapTable;
  23. // 座席状态的映射表
  24. static const stMapTable AgentStatusMapTable[] =
  25. {
  26. // 分机关联状态
  27. {AGENT_STATE_UNKNOWN, "未知座席状态"},
  28. {AGENT_STATE_LOGING, "登录中"},
  29. {AGENT_STATE_FREE, "空闲"},
  30. {AGENT_STATE_BUSY, "通话中"},
  31. {AGENT_STATE_POST_PROCESSING, "话后处理中"},
  32. {AGENT_STATE_REPOSE, "小休"},
  33. {AGENT_STATE_REQUESTED, "被请求"},
  34. {AGENT_STATE_LOGOUT, "注销"}
  35. };
  36. // 线路状态的映射表
  37. static const stMapTable LineStatusMapTable[] =
  38. {
  39. {INNER_STATE_DISABLED, "内线-分机不可用"},
  40. {INNER_STATE_FREE, "内线-空闲"},
  41. {INNER_STATE_INIT, "内线-摘机等待拨号"},
  42. {INNER_STATE_DIALING, "内线-正在拨号"},
  43. {INNER_STATE_RING_BACK, "内线-呼出振铃"},
  44. {INNER_STATE_ALERTING, "内线-来电振铃"},
  45. {INNER_STATE_TALKING, "内线-通话中"},
  46. {INNER_STATE_PLAY_BUSYTONE, "内线-播放忙音中"},
  47. {INNER_STATE_HELD, "内线-通话保持中"},
  48. {INNER_STATE_REMOVE, "内线-话机移除"},
  49. {INNER_STATE_HELD+INNER_STATE_FREE,"内线-保持/空闲"},
  50. {INNER_STATE_HELD+INNER_STATE_INIT,"内线-保持/摘机等待拨号"},
  51. {INNER_STATE_HELD+INNER_STATE_DIALING,"内线-保持/正在拨号"},
  52. {INNER_STATE_HELD+INNER_STATE_RING_BACK,"内线-保持/呼出振铃"},
  53. {INNER_STATE_HELD+INNER_STATE_TALKING,"内线-保持/通话中"}
  54. };
  55. // 连接ACD服务器状态的映射表
  56. static const stMapTable LinkStatusMapTable[] =
  57. {
  58. {PDU_LINK_STATE_UNKNOWN, "连接ACD服务器未知"},
  59. {PDU_LINK_STATE_SUCCESSED, "请求连接ACD服务器成功"},
  60. {PDU_LINK_STATE_FAILED, "请求连接ACD服务器失败"},
  61. {PDU_LINK_STATE_REG_OK, "注册ACD服务器成功"},
  62. {PDU_LINK_STATE_REG_FAILED, "注册ACD服务器失败"},
  63. {PDU_LINK_STATE_DISCONNECTED, "与ACD服务器连接断开"}
  64. };
  65. // 错误码的映射表
  66. typedef enum tagErrorCode
  67. {
  68. NO_ERR = 0, // 无错误
  69. NONE_ERR = 9000, // 无错误
  70. ERR_NO_AGENT_CLIENT, // 座席客户端不存在
  71. ERR_NO_AGENT_OPERATE, // 座席操作类不存在
  72. ERR_NO_AGENT_SOCKET, // 与服务器连接断开
  73. ERR_AGENT_INFO_INVALID, // 座席签入相关信息无效
  74. ERR_CREATE_SOCKET, // 创建MFC的socket套接字失败
  75. ERR_CLOSE_SOCKET, // 关闭MFC的socket套接字失败
  76. ERR_SEND_MSG, // Socket通讯类发送消息失败
  77. ERR_NO_CTI, // CTI未启动
  78. ERR_NO_ACD, // ACD未启动
  79. ERR_NO_IP, // IP地址错误
  80. ERR_NO_EXT, // 分机号不存在
  81. ERR_BIND_EXT, // 分机号已绑定
  82. ERR_BIND_AGENT, // 坐席号已绑定
  83. ERR_PACKAGE_CMD, // 命令打包错误
  84. ERR_IVR_FILE_PATH, // 错误的IVR文件路径:空或者错误
  85. ERR_FAX_FILE_PATH, // 错误的传真文件路径
  86. ERR_FAX_RECV_FILE_PATH, // 错误的传真接收文件路径
  87. ERR_SAY_BUSY, // ACD不能置该座席为忙
  88. ERR_SAY_FREE, // ACD不能置该座席为闲
  89. ERR_RESET_AGENT, // CTI重置该座席失败
  90. ERR_MAKE_CALL, // CTI执行外呼失败
  91. ERR_ANSWER_CALL, // CTI执行应答失败
  92. ERR_DROP_CALL, // CTI执行挂机失败
  93. ERR_HOLD, // CTI执行保持失败
  94. ERR_UN_HOLD, // CTI执行接回失败
  95. ERR_TRANSFER, // CTI执行转移失败
  96. ERR_CANCEL_TRANSFER, // CTI执行取消转移失败
  97. ERR_CANCEL_THREETALK, // CTI执行取消三方失败
  98. ERR_CANCEL, // CTI执行取消失败
  99. ERR_CONSULTATION_CALL, // CTI执行协商呼叫失败
  100. ERR_CONFIRM_TRANSFER, // CTI执行确认转移失败
  101. ERR_THREE_TALK, // CTI执行加三方通话失败
  102. ERR_LISTEN_AGENT, // CTI执行监听座席失败
  103. ERR_INSERT_AGENT, // CTI执行强插座席失败
  104. ERR_INSTEAD, // CTI执行代接座席失败
  105. ERR_CUT_AGENT, // CTI执行强拆座席失败
  106. ERR_INTERCEPT_AGENT, // CTI执行强截座席失败
  107. ERR_FORCE_LOGOUT_AGENT, // 强制签出
  108. ERR_FORCE_CONTROL_AGENT, // CTI执行强制控制座席失败
  109. ERR_TRANSFER_TO_IVR, // CTI执行转移到IVR失败
  110. ERR_MAKECALL_BY_SELF, // 自己呼自己
  111. ERR_TARGET_NUMBER_TOO_LONG, // 目标号码太长
  112. ERR_IVR_FILE_PATH_TOO_LONG, // ivr文件路径太长
  113. ERR_FAX_FILE_PATH_TOO_LONG, // fax文件路径太长
  114. ERR_NO_AGENT_EVENT_MANAGER, // 座席事件管理类为NULL
  115. ERR_NO_AGENT_LOG, // 座席日志类为NULL
  116. ERR_PREVIEW_MAKECALL, // CTI平台暂不支持 预览外拨
  117. ERR_BEGIN_MUTE, // 开始静音失败
  118. ERR_END_MUTE, // 结束静音失败
  119. ERR_STOP_RECORD, // CTI停止录音失败
  120. ERR_SEND_FAX, // CTI发送传真失败
  121. ERR_RECV_FAX, // CTI接收传真失败
  122. ERR_CREATE_TIMER, // 创建定时器失败
  123. ERR_SUB_AGENT, // 订阅坐席失败
  124. ERR_CANCEL_SUB_AGENT, // 取消订阅坐席失败
  125. ERR_DESTNUM_SPACIL, // 包含特殊字符
  126. ERR_LOGIN_AGIN, // 重复签入
  127. ERR_AUTH_FAILED // 授权验证失败
  128. }ErrorCode;
  129. static const stMapTable ErrorCodeMapTable[] =
  130. {
  131. {NO_ERR, ""},
  132. {NONE_ERR, ""},
  133. {ERR_NO_AGENT_CLIENT, "座席客户端为NULL"},
  134. {ERR_NO_AGENT_OPERATE, "座席操作类为NULL"},
  135. {ERR_NO_AGENT_SOCKET, "座席与ACD连接断开"},
  136. {ERR_AGENT_INFO_INVALID, "座席签入相关信息无效"},
  137. {ERR_CREATE_SOCKET, "创建MFC的socket套接字失败"},
  138. {ERR_CLOSE_SOCKET, "关闭MFC的socket套接字失败"},
  139. {ERR_SEND_MSG, "Socket通讯类发送消息失败"},
  140. //签入时业务性错误
  141. {ERR_NO_CTI, "CTI未启动"},
  142. {ERR_NO_ACD, "ACD未启动"},
  143. {ERR_NO_IP, "IP地址错误"},
  144. {ERR_NO_EXT, "分机号不存在"},
  145. {ERR_BIND_EXT, "分机号已绑定"},
  146. {ERR_BIND_AGENT, "坐席号已绑定"},
  147. {ERR_PACKAGE_CMD, "命令打包错误"},
  148. {ERR_IVR_FILE_PATH, "错误的IVR文件路径:空或者错误"},
  149. {ERR_FAX_FILE_PATH, "错误的传真文件路径"},
  150. {ERR_FAX_RECV_FILE_PATH, "错误的传真接收文件路径"},
  151. {ERR_SAY_BUSY, "ACD不能置该座席为忙"},
  152. {ERR_SAY_FREE, "ACD不能置该座席为闲"},
  153. {ERR_RESET_AGENT, "CTI重置该座席失败"},
  154. {ERR_MAKE_CALL, "CTI执行外呼失败"},
  155. {ERR_ANSWER_CALL, "CTI执行应答失败"},
  156. {ERR_DROP_CALL, "CTI执行挂机失败"},
  157. {ERR_HOLD, "CTI执行保持失败"},
  158. {ERR_UN_HOLD, "CTI执行接回失败"},
  159. {ERR_TRANSFER, "CTI执行转移失败"},
  160. {ERR_CANCEL_TRANSFER, "CTI执行取消转移失败"},
  161. {ERR_CANCEL_THREETALK, "CTI执行取消三方失败"},
  162. {ERR_CANCEL, "CTI执行取消失败"},
  163. {ERR_CONSULTATION_CALL, "CTI执行协商呼叫失败"},
  164. {ERR_CONFIRM_TRANSFER, "CTI执行确认转移失败"},
  165. {ERR_THREE_TALK, "CTI执行加三方通话失败"},
  166. {ERR_LISTEN_AGENT, "CTI执行监听座席失败"},
  167. {ERR_INSERT_AGENT, "CTI执行强插座席失败"},
  168. {ERR_INSTEAD, "CTI执行代接座席失败"},
  169. {ERR_CUT_AGENT, "CTI执行强拆座席失败"},
  170. {ERR_INTERCEPT_AGENT, "CTI执行强截座席失败"},
  171. {ERR_FORCE_LOGOUT_AGENT, "CTI执行强制签出座席失败"},
  172. {ERR_FORCE_CONTROL_AGENT, "CTI执行强制控制座席失败"},
  173. {ERR_TRANSFER_TO_IVR, "CTI执行转移到IVR失败"},
  174. {ERR_MAKECALL_BY_SELF, "目标号码是自己"},
  175. {ERR_TARGET_NUMBER_TOO_LONG,"目标号码太长"},
  176. {ERR_IVR_FILE_PATH_TOO_LONG,"ivr文件路径太长"},
  177. {ERR_FAX_FILE_PATH_TOO_LONG,"fax文件路径太长"},
  178. {ERR_NO_AGENT_EVENT_MANAGER,"座席事件管理类为NULL"},
  179. {ERR_NO_AGENT_LOG, "座席日志类为NULL"},
  180. {ERR_PREVIEW_MAKECALL, "鼎晟CTI平台暂不支持 预览外拨"},
  181. {ERR_BEGIN_MUTE, "开始静音失败"},
  182. {ERR_END_MUTE, "取消静音失败"},
  183. {ERR_STOP_RECORD, "CTI停止录音失败"},
  184. {ERR_SEND_FAX, "CTI发送传真失败"},
  185. {ERR_RECV_FAX, "CTI接收传真失败"},
  186. {ERR_CREATE_TIMER, "创建定时器失败"},
  187. {ERR_SUB_AGENT, "订阅坐席失败"},
  188. {ERR_CANCEL_SUB_AGENT, "取消订阅坐席失败"},
  189. {ERR_DESTNUM_SPACIL, "操作号码中包含特殊字符"},
  190. {ERR_LOGIN_AGIN, "重复签入"},
  191. {ERR_AUTH_FAILED, "授权验证失败"}
  192. };