中航光电的中间件仓库

CallDetailInc.h 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. /*************************************************************************
  2. 【文件名】 CallDetailInc.h
  3. 【功能模块和目的】 呼叫明细信息定义头文件
  4. 【开发者及日期】 郑石诺 2015/01/10
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. // 常量定义
  11. #define REP_PHONE_NUM_LENGTH 64
  12. #define REP_FILE_NAME_LENGTH 512
  13. // 数据库空值定义
  14. #define REP_DB_NULL _T("(NULL)")
  15. // 统计事件枚举
  16. typedef enum tagREP_EVENT_OP
  17. {
  18. REP_EVENT_UNKNOW = -1, // 未知
  19. REP_EVENT_TRUNK_CALL_IN = 1, // 中继呼入
  20. REP_EVENT_EXT_CALL_OUT = 2, // 坐席外呼
  21. REP_EVENT_EXT_CALL_IN = 3, // 坐席呼入
  22. REP_EVENT_IVR_CALL_OUT = 4, // IVR自动外呼
  23. REP_EVENT_TRANSFER = 5, // 转移
  24. REP_EVENT_CONFERENCE = 6, // 会议
  25. REP_EVENT_INSTEAD = 7, // 代接
  26. REP_EVENT_HOLD = 8, // 保持
  27. REP_EVENT_TAKE_BACK = 9, // 接回
  28. REP_EVENT_FAX_BEGIN = 10, // 收/发传真开始
  29. REP_EVENT_TURN_IVR = 11, // 转IVR
  30. REP_EVENT_HANG_UP = 12, // 挂机
  31. REP_EVENT_LEAVE_MSG = 13, // 留言
  32. REP_EVENT_WANT_AGENT = 14, // 请求坐席
  33. REP_EVENT_TURN_AGENT = 15, // 转坐席
  34. REP_EVENT_REC_BEGIN = 16, // 录音开始
  35. REP_EVENT_FAX_END = 17, // 收/发传真结束
  36. REP_EVENT_EVALUATE = 18, // 坐席评价
  37. REP_EVENT_STATE_CHANGED = 19, // 线路状态变化事件
  38. REP_EVENT_END_CALL = 20, // 呼叫结束
  39. REP_EVENT_CONSUL_RESULT = 21, // 协商呼叫结果
  40. REP_EVENT_TRANSFER_RESULT = 22, // 转移结果
  41. REP_EVENT_CONF_RESULT = 23, // 三方结果
  42. REP_EVENT_ERROR = 24, // 呼入过程异常
  43. REP_EVENT_TRANSFER_TRUNK = 25, // 转移TRUNK
  44. } REP_EVENT;
  45. // 外线呼入错误类型枚举
  46. typedef enum tagREP_ERROR_TYPE
  47. {
  48. REP_ERROR_IVR = 0,
  49. REP_ERROR_ACD = 1,
  50. REP_ERROR_IVRFLOW = 2,
  51. REP_ERROR_SYSTEM = 3,
  52. }REP_ERROR_TYPE;
  53. // EVENT 信息结构体
  54. struct T_EvtTrunkCallIn // REP_EVENT_TRUNK_CALL_IN信息
  55. {
  56. CHAR szCallerNum[REP_PHONE_NUM_LENGTH]; // 主叫号码
  57. CHAR szCalleeNum[REP_PHONE_NUM_LENGTH]; // 被叫号码
  58. };
  59. struct T_EvtExtCallOut // REP_EVENT_EXT_CALL_OUT信息
  60. {
  61. UINT nCallType; // 呼出方式(1:ocx外呼,2:话机外呼)
  62. UINT nPeerLineType; // 对端线路类型(0:内线 1:外线)
  63. UINT nCallerAgentId; // 主叫坐席工号
  64. UINT nCalleeAgentId; // 被叫坐席工号
  65. CHAR szCalleeNum[REP_PHONE_NUM_LENGTH]; // 被叫号码
  66. CHAR szCalleeHeader[10]; //号码前缀
  67. CHAR szVisitstr[50]; //回访字符串
  68. };
  69. struct T_EvtExtCallIn // REP_EVENT_EXT_CALL_IN信息
  70. {
  71. UINT nCallType; // 呼入方式(1:转坐席呼入,2:转移呼入,3:会议呼入)
  72. UINT nPeerLineType; // 对端线路类型(0:内线 1:外线)
  73. UINT nCallerAgentId; // 主叫坐席工号
  74. CHAR szCallerNum[REP_PHONE_NUM_LENGTH]; // 主叫号码
  75. UINT nCalleeAgentId; // 被叫坐席工号
  76. };
  77. struct T_EvtIvrCallOut // REP_EVENT_IVR_CALL_OUT信息
  78. {
  79. UINT nIvrLineId; // IVR线路ID
  80. CHAR szCalleeNum[REP_PHONE_NUM_LENGTH]; // 被叫号码
  81. };
  82. struct T_EvtTransfer // REP_EVENT_TRANSFER信息
  83. {
  84. BOOL bEvtResult; // 转移结果
  85. UINT nPeerLineType; // 对端线路类型(0:内线 1:外线)
  86. CHAR szCallerNum[REP_PHONE_NUM_LENGTH]; // 主叫号码
  87. UINT nCallerAgentId; // 主叫坐席工号
  88. UINT nCalleeAgentId; // 被叫坐席工号
  89. CHAR szCalleeNum[REP_PHONE_NUM_LENGTH]; // 被叫号码
  90. UINT szTrunkId; // 转移外线时的中继线路ID
  91. };
  92. struct T_EvtConference // REP_EVENT_CONFERENCE信息
  93. {
  94. BOOL bEvtResult; // 三方结果
  95. UINT nPeerLineType; // 对端线路类型(0:内线 1:外线)
  96. UINT nCallerAgentId; // 主叫坐席工号
  97. UINT nCalleeAgentId; // 被叫坐席工号
  98. CHAR szCalleeNum[REP_PHONE_NUM_LENGTH]; // 被叫号码
  99. UINT szTrunkId; // 添加外线时的中继线路ID
  100. };
  101. struct T_EvtInstead // REP_EVENT_INSTEAD信息
  102. {
  103. UINT nCallerAgentId; // 主叫坐席工号
  104. CHAR szCallerNum[REP_PHONE_NUM_LENGTH]; // 主叫号码
  105. UINT nCalleeAgentId; // 被叫坐席工号
  106. };
  107. struct T_EvtHold // REP_EVENT_HOLD信息
  108. {
  109. };
  110. struct T_EvtTakeBack // REP_EVENT_TAKE_BACK信息
  111. {
  112. };
  113. struct T_EvtTurnIvr // REP_EVENT_TURN_IVR信息
  114. {
  115. };
  116. struct T_EvtHangUp // REP_EVENT_HANG_UP信息
  117. {
  118. UINT nHangUpFlag; // 0本端挂机 1对端挂机
  119. };
  120. struct T_EvtLeaveMsg // REP_EVENT_LEAVE_MSG信息
  121. {
  122. CHAR szFileName[REP_FILE_NAME_LENGTH]; // 留言文件路径
  123. };
  124. struct T_EvtWantAgent // REP_EVENT_WANT_AGENT信息
  125. {
  126. };
  127. struct T_EvtTurnAgent // REP_EVENT_TURN_AGENT信息
  128. {
  129. UINT nAgentId; // 被分配坐席工号
  130. };
  131. struct T_EvtRecBegin // REP_EVENT_REC_BEGIN信息
  132. {
  133. CHAR szFileName[REP_FILE_NAME_LENGTH]; // 录音文件路径
  134. };
  135. struct T_EvtFaxBegin // REP_EVENT_FAX_BEGIN信息
  136. {
  137. UINT nIsAuto; // 是否自动收发(0:否 1:是)
  138. UINT nRcvOrSend; // 收/发(0:发 1:收)
  139. UINT nCallerAgentId; // 主叫坐席工号
  140. CHAR szCallerNum[REP_PHONE_NUM_LENGTH]; // 主叫号码
  141. UINT nCalleeAgentId; // 被叫坐席工号
  142. CHAR szCalleeNum[REP_PHONE_NUM_LENGTH]; // 被叫号码
  143. CHAR szFileName[REP_FILE_NAME_LENGTH]; // 传真文件路径
  144. };
  145. struct T_EvtFaxEnd // REP_EVENT_FAX_END信息
  146. {
  147. UINT nIsSucceed; // 收发传真是否成功
  148. };
  149. struct T_EvtEvaluate // REP_EVENT_EVALUATE信息
  150. {
  151. CHAR szEvaluateContent[REP_FILE_NAME_LENGTH]; // 坐席评价内容
  152. };
  153. struct T_EvtStateChanged // REP_EVENT_STATE_CHANGED信息
  154. {
  155. UINT nLineState; // 线路状态
  156. CHAR szCallerNum[REP_PHONE_NUM_LENGTH]; // 主叫号码
  157. UINT nAgentId; // 坐席工号
  158. CHAR szFileName[REP_FILE_NAME_LENGTH]; // 录音文件路径
  159. };
  160. struct T_EvtError // REP_EVENT_ERROR信息
  161. {
  162. REP_ERROR_TYPE nErrorType; // 线路状态
  163. };