linux版本中间件

DevInfoInc.h 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. #pragma once
  2. #include <string>
  3. // 线路控制操作类型
  4. typedef enum tagLINE_OP
  5. {
  6. LINE_OP_UNKNOWN = 0, // 未知操作
  7. LINE_OP_MAKE_CALL = 1, // 呼出
  8. LINE_OP_ANSWER_CALL = 2, // 应答呼叫
  9. LINE_OP_RESET = 3, // 线路重置
  10. LINE_OP_HANG_UP = 4, // 挂机
  11. LINE_OP_HOLD = 5, // 保持
  12. LINE_OP_TAKEBACK = 6, // 接回
  13. LINE_OP_TRANSFER = 7, // 转移
  14. LINE_OP_CONFERENCE = 8, // 单步会议
  15. LINE_OP_LISTEN = 9, // 监听
  16. LINE_OP_INSERT = 10, // 强插
  17. LINE_OP_INSTEAD = 11, // 代接
  18. LINE_OP_GRAB = 12, // 强截
  19. LINE_OP_FORCELOGOUT = 13, // 强制签出
  20. LINE_OP_LEAVEWORD = 14, // 留言录音
  21. LINE_OP_PLAY_VOICE = 15, // 开始放音
  22. LINE_OP_FAX = 16, // 传真
  23. LINE_OP_TURNAGENT = 17, // 转坐席
  24. LINE_OP_RECORD = 18, // 录音
  25. LINE_OP_PREDICTION_CALL = 19, // 预测外呼
  26. LINE_OP_TURNOUT = 20, // 转外线
  27. LINE_OP_TURNIVR = 21, // 转IVR
  28. LINE_OP_TRANSFER_INFO = 22, // 上层通知底层信息
  29. LINE_OP_CONSULT_CALL_BEGIN = 23, // 协商呼叫启动
  30. LINE_OP_CONSULT_CALL_CONFIRM = 24, // 协商呼叫确认
  31. LINE_OP_MUTE_BEGIN = 25, // 静音启动
  32. LINE_OP_MUTE_END = 26, // 静音结束
  33. LINE_OP_SELF_CHECK = 27, // 线路自检
  34. LINE_OP_IVRFAX_TRANSFER = 28, // IVR发起传真转移
  35. LINE_OP_AUTO_CALL = 29, // 自动外呼
  36. LINE_OP_ONDUTY_PHONE = 30 // 转值班电话
  37. } LINE_OP;
  38. // 设备资源类型常量
  39. typedef enum tagDEV_RES_TYPE
  40. {
  41. DEV_RES_TYPE_UNKNOWN = 0x00, // 未知设备
  42. DEV_RES_TYPE_EXT = 0x01, // 内线分机
  43. DEV_RES_TYPE_TRUNK = 0x02, // 外线
  44. DEV_RES_TYPE_IVR = 0x03, // IVR线路
  45. DEV_RES_TYPE_CONFERENCE = 0x04, // 会议资源
  46. DEV_RES_TYPE_FAX = 0x05, // 传真资源
  47. DEV_RES_TYPE_VOICE = 0x06, // 语音资源
  48. DEV_RES_TYPE_VOIP = 0x07, // VoIP资源
  49. DEV_RES_TYPE_DSP = 0x08, // DSP资源
  50. DEV_RES_TYPE_IPM = 0x09, // IPM资源
  51. DEV_RES_TYPE_VIDEO = 0x0A, // 视频资源
  52. DEV_RES_TYPE_MB = 0x0B // 主板
  53. } DEV_RES_TYPE;
  54. // 外线资源状态
  55. typedef enum tagTRUNK_STATE
  56. {
  57. TRUNK_STATE_DISABLED = 0x10, // 不可用
  58. TRUNK_STATE_FREE = 0x11, // 空闲
  59. TRUNK_STATE_DIALING = 0x12, // 拨号
  60. TRUNK_STATE_RING_BACK = 0x13, // 呼出振铃
  61. TRUNK_STATE_ALERTING = 0x14, // 来电振铃
  62. TRUNK_STATE_TALKING = 0x15, // 通话中
  63. TRUNK_STATE_GET_DTMF = 0x16, // 取号状态
  64. TRUNK_STATE_FAX = 0x17, // 收发传真中
  65. TRUNK_STATE_BUSY = 0x18, // 资源释放过程中(也称占用状态)
  66. TRUNK_STATE_UNKNOWN = 0x19
  67. } TRUNK_STATE;
  68. // 内线分机资源状态
  69. typedef enum tagINNER_STATE
  70. {
  71. INNER_STATE_DISABLED = 0x00, // 分机不可用
  72. INNER_STATE_FREE = 0x01, // 空闲
  73. INNER_STATE_INIT = 0x02, // 摘机等待拨号
  74. INNER_STATE_DIALING = 0x03, // 正在拨号
  75. INNER_STATE_RING_BACK = 0x04, // 呼出振铃
  76. INNER_STATE_ALERTING = 0x05, // 来电振铃
  77. INNER_STATE_TALKING = 0x06, // 通话中
  78. INNER_STATE_PLAY_BUSYTONE = 0x07, // 播放忙音中
  79. INNER_STATE_REMOVE = 0x08, // 移除IP分机
  80. INNER_STATE_HELD = 0x0100 // 通话保持中
  81. } INNER_STATE;
  82. typedef struct tagLineOpParam /* 线路控制参数信息 */
  83. {
  84. //int nParam1; // 录音时此参数为录音类型 转IVR时:0转IvrLine 1 转FaxLine
  85. std::string nParam1;
  86. int nParam2; // 外呼、转移、会议时标识被叫线路类型(参考“设备资源类型常量”); // 传真时,0:IVR自动收发传真,1:坐席收发传真
  87. int nParam3;
  88. int nParam4;
  89. int nParam5;
  90. int nParam6;
  91. int nParam7;
  92. int nParam8;
  93. int nParam9;
  94. std::string szParam1; // 主叫号码 / 留言录音结束符
  95. std::string szParam2; // 被叫号码
  96. // 班长操作: 被操作的分机号
  97. std::string szParam3; // 继续排队命令: 放音文件 /录音文件名
  98. } LineOpParam;
  99. #define HELD_STATE_MASK 0x0100
  100. #define HELD_STATE_FILTER_MASK 0x00FF
  101. #define HELD_STATE_IND_MASK 0xFF00
  102. // 呼叫失败原因
  103. typedef enum tagCallFailedCause
  104. {
  105. CALL_FAILED_CAUSE_SUCCESS = 0, // 呼叫成功
  106. CALL_FAILED_CAUSE_USER_HANGUP = 1, // 用户挂断
  107. CALL_FAILED_CAUSE_USER_BUSY = 2, // 占线
  108. CALL_FAILED_CAUSE_NO_ANSWER = 3, // 无人接听
  109. CALL_FAILED_CAUSE_NUM_INVALID = 4, // 无效号码
  110. CALL_FAILED_CAUSE_DST_OFF = 5, // 被叫关机
  111. CALL_FAILED_CAUSE_NETWORK_ERR = 6 // 网络问题
  112. } CallFailedCause;
  113. // 放音收号类型
  114. typedef enum tagPlayVoiceMode
  115. {
  116. PVM_PLAY_WAIT_DIGIT = 1, // 放音收号
  117. PVM_PLAY_ONLY = 2, // 只放音
  118. PVM_WAIT_DIGIT = 3, // 只收号
  119. PVM_STOP_PLAY = 4 // 停止放音
  120. } PlayVoiceMode;
  121. // 会议资源状态
  122. typedef enum tagMEETING_STATE
  123. {
  124. MEETING_STATE_DISABLED = 0, // 不可用
  125. MEETING_STATE_FREE = 1, // 空闲
  126. MEETING_STATE_BUSY = 2, // 占用
  127. } MEETING_STATE;
  128. // 传真资源状态
  129. typedef enum tagFAX_STATE
  130. {
  131. FAX_STATE_DISABLED = 0, // 不可用
  132. FAX_STATE_FREE = 1, // 空闲
  133. FAX_STATE_BUSY = 2, // 占用状态
  134. } FAX_STATE;
  135. // 语音资源状态
  136. typedef enum tagVOICE_STATE
  137. {
  138. VOICE_STATE_DISABLED = 0, // 不可用
  139. VOICE_STATE_FREE = 1, // 空闲
  140. VOICE_STATE_BUSY = 2, // 占用
  141. } VOICE_STATE;
  142. typedef enum tagLINE_TYPE
  143. {
  144. LINE_EXTEN = 0, // 分机线路
  145. LINE_TRUNK = 1, // 数字中继线路
  146. LINE_VOIP = 2, // VOIP线路
  147. LINE_IVR = 3, // IVR线路
  148. LINE_NULL = 4 // 未知类型
  149. } LINE_TYPE;
  150. // 录音类型
  151. typedef enum tagRECORD_TYPE
  152. {
  153. RECORD_TYPE_TRUNK = 0, // 中继录音
  154. RECORD_TYPE_EXTEN = 1 // 并线录音
  155. } RECORD_TYPE;
  156. // 录音格式
  157. typedef enum tagRECORD_FORMAT
  158. {
  159. RECORD_FORMAT_MP3 = 0,
  160. RECORD_FORMAT_WAV = 1
  161. } RECORD_FORMAT;
  162. // 设备主动操作类型
  163. typedef enum tagDEV_OP
  164. {
  165. DEV_OP_UNKNOWN = 0, // 未知操作
  166. DEV_OP_PICK_UP = 1, // 线路摘机
  167. DEV_OP_CALL_IN = 2, // 线路来电
  168. DEV_OP_CALL_OUT = 3, // 线路呼出
  169. DEV_OP_HANG_UP = 4, // 线路挂机
  170. DEV_OP_TRANSFER = 5, // 按键转移
  171. DEV_OP_INSTEAD = 6, // 按键代接
  172. DEV_OP_CONFERENCE = 7, // 按键三方
  173. } DEV_OP;
  174. typedef enum tagAUTO_CALL_TYPE
  175. {
  176. VOICE_CALL = 1, // 语音外呼
  177. AGENT_CALL = 2, // 指定坐席外呼
  178. AUTO_CALL = 3 // 系统自动分配坐席外呼
  179. }AUTO_CALL_TYPE;