| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- /*************************************************************************
- 【文件名】 DevInfoInc.h
- 【功能模块和目的】 设备基本信息定义头文件
- 【开发者及日期】 郑石诺 2015/01/09
- 【版本】 V1.0.0
- 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
- 【更改记录】
- *************************************************************************/
- #pragma once
- #define DEL_EXT_DETAIL 0x10000000 // 删除坐席明细
- #define DEVICE_STATE_ENABLE 1
- #define DEVICE_STATE_DISABLE 0
- #define LINE_ID_INVALID 0
- #define BUF_LEN_SIP_ACCOUNT 50
- #define BUF_LEN_SIP_PWD 30
- #define BUF_LEN_SIP_PROXY 50
- #define BUF_LEN_CALLER 24
- #define BUF_LEN_PREFIX 8
- #define INVALID_ID_SIP_ACCOUNT -1
- #define INVALID_ID_TRUNK_ITEM -1
- #define INVALID_ID_DT_SPAN -1
- #define CONST_DEF_SIP_REG_TRUE _T("true")
- #define CONST_DEF_SIP_REG_FALSE _T("false")
- #define CONST_TRUNK_MATCH_PRIORITY_HIGHEST 4
- #define CONST_TRUNK_MATCH_PRIORITY_HIGHER 3
- #define CONST_TRUNK_MATCH_PRIORITY_HIGH 2
- #define CONST_TRUNK_MATCH_PRIORITY_NORMAL 1
- #define CONST_STR_TRUNK_MATCH_PRIORITY_HIGHEST _T("4")
- #define CONST_STR_TRUNK_MATCH_PRIORITY_HIGHER _T("3")
- #define CONST_STR_TRUNK_MATCH_PRIORITY_HIGH _T("2")
- #define CONST_STR_TRUNK_MATCH_PRIORITY_NORMAL _T("1")
- // IPO线路类型
- #define CONST_IPO_LINE_TYPE_DT _T("DT")
- #define CONST_IPO_LINE_TYPE_ANA _T("ANA")
- #define CONST_IPO_LINE_TYPE_H323 _T("H323")
- #define CONST_IPO_LINE_TYPE_SIP _T("SIP")
- #define CONST_IPO_LINE_TYPE_EXT _T("EXT")
- #define CONST_IPO_LINE_TYPE_IVR _T("IVR")
- #define CONST_IPO_LINE_TYPE_FAX _T("FAX")
- #define CONST_IPO_DTC_SEED 10000
- // 设备类型
- typedef enum tagDEV_TYPE
- {
- DEV_TYPE_IPO = 0,
- DEV_TYPE_EHANGCOM = 1,
- DEV_TYPE_FS = 2
- } DEV_TYPE;
- // 设备资源类型常量
- typedef enum tagDEV_RES_TYPE
- {
- DEV_RES_TYPE_UNKNOWN = 0x00, // 未知设备
- DEV_RES_TYPE_EXT = 0x01, // 内线分机
- DEV_RES_TYPE_TRUNK = 0x02, // 外线
- DEV_RES_TYPE_IVR = 0x03, // IVR线路
- DEV_RES_TYPE_CONFERENCE = 0x04, // 会议资源
- DEV_RES_TYPE_FAX = 0x05, // 传真资源
- DEV_RES_TYPE_VOICE = 0x06, // 语音资源
- DEV_RES_TYPE_VOIP = 0x07, // VoIP资源
- DEV_RES_TYPE_DSP = 0x08, // DSP资源
- DEV_RES_TYPE_IPM = 0x09, // IPM资源
- DEV_RES_TYPE_VIDEO = 0x0A, // 视频资源
- DEV_RES_TYPE_MB = 0x0B // 主板
- } DEV_RES_TYPE;
- // 外线资源状态
- typedef enum tagTRUNK_STATE
- {
- TRUNK_STATE_DISABLED = 0x10, // 不可用
- TRUNK_STATE_FREE = 0x11, // 空闲
- TRUNK_STATE_DIALING = 0x12, // 拨号
- TRUNK_STATE_RING_BACK = 0x13, // 呼出振铃
- TRUNK_STATE_ALERTING = 0x14, // 来电振铃
- TRUNK_STATE_TALKING = 0x15, // 通话中
- TRUNK_STATE_GET_DTMF = 0x16, // 取号状态
- TRUNK_STATE_FAX = 0x17, // 收发传真中
- TRUNK_STATE_BUSY = 0x18, // 资源释放过程中(也称占用状态)
- TRUNK_STATE_UNKNOWN = 0x19
- } TRUNK_STATE;
-
- // 内线分机资源状态
- typedef enum tagINNER_STATE
- {
- INNER_STATE_DISABLED = 0x00, // 分机不可用
- INNER_STATE_FREE = 0x01, // 空闲
- INNER_STATE_INIT = 0x02, // 摘机等待拨号
- INNER_STATE_DIALING = 0x03, // 正在拨号
- INNER_STATE_RING_BACK = 0x04, // 呼出振铃
- INNER_STATE_ALERTING = 0x05, // 来电振铃
- INNER_STATE_TALKING = 0x06, // 通话中
- INNER_STATE_PLAY_BUSYTONE = 0x07, // 播放忙音中
- INNER_STATE_REMOVE = 0x08, // 移除IP分机
- INNER_STATE_HELD = 0x0100 // 通话保持中
- } INNER_STATE;
- // VOIP线路资源状态
- typedef enum tagVOIP_STATE
- {
- VOIP_EXT_STATE_DISABLED = INNER_STATE_DISABLED, // 内线模式下分机不可用
- VOIP_EXT_STATE_FREE = INNER_STATE_FREE, // 内线模式下空闲
- VOIP_EXT_STATE_INIT = INNER_STATE_INIT, // 内线模式下摘机等待拨号
- VOIP_EXT_STATE_DIALING = INNER_STATE_DIALING, // 内线模式下正在拨号
- VOIP_EXT_STATE_RING_BACK = INNER_STATE_RING_BACK, // 内线模式下呼出振铃
- VOIP_EXT_STATE_ALERTING = INNER_STATE_ALERTING, // 内线模式下来电振铃
- VOIP_EXT_STATE_TALKING = INNER_STATE_TALKING, // 内线模式下通话中
- VOIP_TRUNK_STATE_DISABLED = TRUNK_STATE_DISABLED, // 外线模式下不可用
- VOIP_TRUNK_STATE_FREE = TRUNK_STATE_FREE, // 外线模式下空闲
- VOIP_TRUNK_STATE_DIALING = TRUNK_STATE_DIALING, // 外线模式下拨号
- VOIP_TRUNK_STATE_RING_BACK = TRUNK_STATE_RING_BACK, // 外线模式下呼出振铃
- VOIP_TRUNK_STATE_ALERTING = TRUNK_STATE_ALERTING, // 外线模式下来电振铃
- VOIP_TRUNK_STATE_TALKING = TRUNK_STATE_TALKING, // 外线模式下通话中
- VOIP_TRUNK_STATE_UNKNOWN = TRUNK_STATE_UNKNOWN // 外线模式下未知状态
- } VOIP_STATE;
- #define HELD_STATE_MASK 0x0100
- #define HELD_STATE_FILTER_MASK 0x00FF
- #define HELD_STATE_IND_MASK 0xFF00
- // 呼叫失败原因
- typedef enum tagCallFailedCause
- {
- CALL_FAILED_CAUSE_SUCCESS = 0, // 呼叫成功
- CALL_FAILED_CAUSE_USER_HANGUP = 1, // 用户挂断
- CALL_FAILED_CAUSE_USER_BUSY = 2, // 占线
- CALL_FAILED_CAUSE_NO_ANSWER = 3, // 无人接听
- CALL_FAILED_CAUSE_NUM_INVALID = 4, // 无效号码
- CALL_FAILED_CAUSE_DST_OFF = 5, // 被叫关机
- CALL_FAILED_CAUSE_NETWORK_ERR = 6 // 网络问题
- } CallFailedCause;
- // 放音收号类型
- typedef enum tagPlayVoiceMode
- {
- PVM_PLAY_WAIT_DIGIT = 1, // 放音收号
- PVM_PLAY_ONLY = 2, // 只放音
- PVM_WAIT_DIGIT = 3, // 只收号
- PVM_STOP_PLAY = 4 // 停止放音
- } PlayVoiceMode;
- // 会议资源状态
- typedef enum tagMEETING_STATE
- {
- MEETING_STATE_DISABLED = 0, // 不可用
- MEETING_STATE_FREE = 1, // 空闲
- MEETING_STATE_BUSY = 2, // 占用
- } MEETING_STATE;
-
- // 传真资源状态
- typedef enum tagFAX_STATE
- {
- FAX_STATE_DISABLED = 0, // 不可用
- FAX_STATE_FREE = 1, // 空闲
- FAX_STATE_BUSY = 2, // 占用状态
- } FAX_STATE;
- // 语音资源状态
- typedef enum tagVOICE_STATE
- {
- VOICE_STATE_DISABLED = 0, // 不可用
- VOICE_STATE_FREE = 1, // 空闲
- VOICE_STATE_BUSY = 2, // 占用
- } VOICE_STATE;
- typedef enum tagLINE_TYPE
- {
- LINE_EXTEN = 0, // 分机线路
- LINE_TRUNK = 1, // 数字中继线路
- LINE_VOIP = 2, // VOIP线路
- LINE_IVR = 3, // IVR线路
- LINE_NULL = 4 // 未知类型
- } LINE_TYPE;
- // 录音类型
- typedef enum tagRECORD_TYPE
- {
- RECORD_TYPE_TRUNK = 0, // 中继录音
- RECORD_TYPE_EXTEN = 1 // 并线录音
- } RECORD_TYPE;
- // 录音格式
- typedef enum tagRECORD_FORMAT
- {
- RECORD_FORMAT_MP3 = 0,
- RECORD_FORMAT_WAV = 1
- } RECORD_FORMAT;
- // SIP账号
- typedef struct tagSIP_ACCOUNT
- {
- int Id;
- TCHAR Account[BUF_LEN_SIP_ACCOUNT];
- TCHAR AuthAccount[BUF_LEN_SIP_ACCOUNT];
- TCHAR Password[BUF_LEN_SIP_PWD];
- TCHAR Proxy[BUF_LEN_SIP_PROXY];
- int ProxyPort;
- bool IsReg;
- int RegInterval;
- bool IsDynamicGw;
- } SIP_ACCOUNT;
- // 中继项
- typedef struct tagTRUNK_ITEM
- {
- int Id;
- int Node;
- int Board;
- int Span;
- int SipAccountId;
- } TRUNK_ITEM;
- // 中继匹配
- typedef struct tagTRUNK_MATCH
- {
- int Id;
- TCHAR Prefix[BUF_LEN_PREFIX];
- TCHAR Caller[BUF_LEN_CALLER];
- int TrunkItemId;
- int Priority;
- } TRUNK_MATCH;
|