⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctidef.h

📁 VC++开发的一个电话录音程序
💻 H
字号:


#ifndef	__CTI_DEFINE_H__	//{
#define __CTI_DEFINE_H__

typedef enum enumChannelType		//通道类型
{
	CH_DIGITAL_TRUNK = 0,	//数字中继通道
	CH_USER,				//内线坐席通道
	CH_ANALOG_TRUNK,		//模拟中继通道(市话线)通道
	CH_VOIP,				//VoIP语音压缩解压通道
	CH_VOICE,				//语音通道
	CH_CONFERENCE,			//电话会议通道
	CH_PCM,
	CH_MFC,
	CH_DTMF,
	CH_HIGH_IMPEDANCE,				//高阻监控通道(模块)
	CH_MVIP,
	CH_SPEAKER,
	CH_MAX//CH_MAX也表示空通道(模拟卡、座席卡未插模块)
}EChannelType;


#define CH_MIN				CH_DIGITAL_TRUNK

#define	CH_TRUNK			CH_DIGITAL_TRUNK

#define CH_INTERIOR_SLIC	CH_USER
#define CH_EXTERIOR_SLIC	CH_ANALOG_TRUNK

#define	CH_SLIC				CH_USER
#define	CH_ANALOG			CH_ANALOG_TRUNK

typedef enum enumCardType			//卡类型
{
	CARD_TYPE_UNKNOW	= 0,
	CARD_TYPE_PCM		= 1,		//数字中继语音卡
	CARD_TYPE_SLIC		= 2,		//坐席卡 
	CARD_TYPE_ANALOG	= 3,		//模拟语音卡 
	CARD_TYPE_FAX		= 4,		//FAX卡 
	CARD_TYPE_ROUTER	= 5,		//过机卡
	CARD_TYPE_SS7		= 6,		//七号信令卡
	CARD_TYPE_VOIP		= 7,		//IP压缩解压卡
	CARD_TYPE_MAX
}ECardType;

#define	CARD_TYPE_MIN	CARD_TYPE_PCM



typedef enum enumChannelState
{
	STATE_IDLE			= 0,	//0
	STATE_IN_CALLING,			//1
	STATE_IN_RINGING,			//2
	STATE_IN_TALK,				//3
	STATE_IN_HANGUP,			//4
	STATE_IN_RELEASE,			//5
	STATE_OUT_CALLING,			//6
	STATE_OUT_RINGING,			//7
	STATE_OUT_TALK,				//8
	STATE_OUT_HANGUP,			//9
	STATE_OUT_RELEASE,			//10
	STATE_DISABLE				//11
}EChannelState;

typedef enum enumChannelEvent
{
	EVENT_STATE				= 100,
	EVENT_CALL_IN			= 101,
	EVENT_ANSWER			= 102,
	EVENT_HANGUP			= 103,
	EVENT_CALL_FAIL			= 104,
	EVENT_CALL_OUT			= 105,
	EVENT_TIMER				= 106,
	EVENT_TUP_GATEWAY_CLOSE = 701
}EChannelEvent;


typedef enum enumHangupCause
{
	CAUSE_UNKNOW		= 0,
	CAUSE_HANGUP		= 1,		//对方挂机
	CAUSE_TIMEOUT		= 2,		//呼叫超时
	CAUSE_UNN			= 10,		//空号
	CAUSE_SLB			= 11,		//用户市话忙
	CAUSE_SEC_CGC_NNC	= 12,		//交换设备拥塞信号、电路群拥塞信号、国内网拥塞信号
	CAUSE_ADI			= 13,		//地址不全信号
	CAUSE_LOS_CFL		= 14,		//线路不工作信号、呼叫失败信号
	CAUSE_STB			= 15,		//用户长话忙
	CAUSE_SST			= 16,		//发送专用信息音信号
	CAUSE_DPN			= 17,		//不提供数字通道信号
	CAUSE_ACB			= 18,		//接入拒绝信号
}EHangupCause;




typedef enum enumExchangeType
{
	exchangeBuildDoublyConnect	= 0,	//建立双向联结
	exchangeBreakDoublyConnect	= 1,	//拆除双向联结
	exchangeBuildSinglyConnect	= 2,	//建立单向联结
	exchangeBreakSinglyConnect	= 3		//拆除单向联结
}EExchangeType;



typedef enum enumPhonicErrorCode
{
	ERR_SUCCESS					= 0,		//操作成功
	ERR_UNKNOW					= -1,		//未知原因的错误
	ERR_NO_ENOUGH_RESOURCE		= -2,
	ERR_INTI_DEVICE_FAIL		= -3,
	ERR_INVALID_FUNC			= -4,
	ERR_CANNOT_LOAD_DRIVER		= -5,
	ERR_CANNOT_OPEN_NAMED_EVENT	= -6,
	ERR_DEVICE_NOT_OPEN			= -7,
	ERR_FAX_CONVERT_NOT_INITIALED = -8,



	ERR_INVALID_CHANNEL_ID		= -11,
	ERR_INVALID_CHANNEL_TYPE	= -12,
	ERR_INVALID_CARD_TYPE		= -13,
	ERR_INVALID_CARD_ID			= -14,
	ERR_INVALID_GROUP_ID		= -15,
	ERR_INVALID_CHANNEL_STATE	= -16,

	//Voice
	ERR_CANNOT_OPEN_FILE		= -101,		//打不开文件
	ERR_INVALID_FILE_SEEK		= -102,		//文件定位(设置读写位置)错误

	ERR_INVALID_PMT_INDEX		= -113,

	//Conference
	ERR_INVALID_CONFER_SET_ID	= -201,
	ERR_NOT_EXIST_CONFER_SET	= -202,
	ERR_INVALID_CONFER_HANDLE	= -203,
	

	//VOIP
	ERR_VOIP_SEND_BUF_FULL		= -301,
	ERR_INVALID_CODER			= -302,

	ERR_FILE_FORMAT_NOT_SURPPORT = -401,
	ERR_FUNCTION_NOT_SURPPORT    = -402,
	ERR_CODER_NOT_SURPPORT       = -403

}EPhonicErrorCode;


typedef enum enumChannelCmdParameter
{
	PARAM_CODRE = 1
}EChannelCmdParameter;

typedef enum enumSignalType
{
	SIGNAL_NONE				= 0,
	SIGNAL_REMOTE_DL,					//对方直流信令改变
	SIGNAL_LOCAL_DL,					//本地直流信令改变
	SIGNAL_REMOTE_SEND,					//对方发送MFC码
	SIGNAL_REMOTE_STOP,					//对方停发
	SIGNAL_LOCAL_SEND,					//本地发送MFC码
	SIGNAL_LOCALE_STOP					//本地停发
}ESignalType;

#define _DL_FORE_IDLE					0x0b	//A
#define _DL_FORE_USED					0x03	//B
#define _DL_FORE_CONNECT				0x03	//D

#define _DL_BACK_IDLE					0x0b	//A
#define _DL_BACK_CONFIRM				0x0f	//C
#define _DL_BACK_CONNECT				0x07	//D
#define _DL_BACK_BLOCK					0x0f	//F

//The follow message is for Mfc channel
#define _MFC_BACK_A1 					0x10	//request next
#define _MFC_BACK_A2 					0x11	//request from home
#define _MFC_BACK_A3 					0x12	//change to B signal
#define _MFC_BACK_A4 					0x13	//busy
#define _MFC_BACK_A5 					0x14	//space No.
#define _MFC_BACK_A6 					0x15	//request KA and caller

#define _MFC_BACK_KB1					0x10	//user is free
#define _MFC_BACK_KB2					0x11	//no used
#define _MFC_BACK_KB3					0x12	//no used
#define _MFC_BACK_KB4					0x13	//user is busy
#define _MFC_BACK_KB5					0x14	//space No.
#define _MFC_BACK_KB6					0x15	//user is free and controled by Caller

#define _MFC_BACK_KD1					1	//long half auto call
#define _MFC_BACK_KD2					2	//long auto call
#define _MFC_BACK_KD3					3	//city phone
#define _MFC_BACK_KD4					4	//city FAX or DATA
#define _MFC_BACK_KD5					5	//half auto confirm caller number
#define _MFC_BACK_KD6					6	//test call

#define _MFC_FORE_KA1					1
#define _MFC_FORE_KA2					2
#define _MFC_FORE_KA3					3
#define _MFC_FORE_KA4					4
#define _MFC_FORE_KA5					5
#define _MFC_FORE_KA6					6
#define _MFC_FORE_KA7					7
#define _MFC_FORE_KA8					8
#define _MFC_FORE_KA9					9
#define _MFC_FORE_KA10					10

#define _MFC_FORE_KA11					11
#define _MFC_FORE_KA12					12
#define _MFC_FORE_KA13					13
#define _MFC_FORE_KA14					14
#define _MFC_FORE_KA15					15

#define	_MFC_CALLER_END					0x0f



#define	_MAX_CONFERENCE_SET				10

typedef union unionConferenceHandle
{
	DWORD	m_hConferenceHandle;
	struct
	{
		WORD	m_wConferGroupID;
        WORD	m_wConferenceSetID;
	};
}UConferenceHandle;

typedef enum enumConferAttenution
{
	ATTEN_0DB	= 0,
	ATTEN_MINUS_3DB	= 1,
	ATTEN_MINUS_6DB	= 2
}EConferAttenution;

typedef enum enumConferNoiseSuppresion
{
	NOISE_NO_SUPPRESION = 0,
	NOISE_9_DIVIDE_BY_4096 = 1,		//	9/4096
	NOISE_16_DIVIDE_BY_4096 = 2,	//	16/4096
	NOISE_32_DIVIDE_BY_4096 = 3		//	32/4096
}EConferNoiseSuppresion;

typedef enum enumUnitType		//通道类型
{
	UNIT_DIGITAL_TRUNK = 0,	//数字中继通道
	UNIT_USER,				//内线坐席通道
	UNIT_ANALOG_TRUNK,		//模拟中继通道(市话线)通道
	UNIT_VOIP,				//VoIP语音压缩解压通道
	UNIT_VOICE,				//语音通道
	UNIT_CONFERENCE,		//电话会议通道
	UNIT_PCM,
	UNIT_MFC,
	UNIT_DTMF,
	UNIT_HIGH_IMPEDANCE,	//高阻监控通道(模块)
	UNIT_MVIP,
	UNIT_DEVICE,            //设备
	UNIT_SYSTEM,            //系统
	UNIT_MAX
}EUnitType;

#define A8MSG_RECORD_FILE_MODE 0   // 设置录音模式,wParam==1清除偏移量后的所有数据

typedef enum enumAnalogSignal
{
	signalNone,               //没有信号
	signalBusy,               //忙音
	signalRingBack,           //回铃音
	signalDialTone            //拨号音
}EAnalogSignal;

#endif	//}__FIHO_DTVC_DEFINE_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -