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

📄 tce1_32.h

📁 东进语音板卡开发
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef	_TCE1_32_H
#define	_TCE1_32_H
 
// add by H.J.N ------------
#include "windows.h"

// add next define is just for E1
#define UINT   unsigned int
// end of add --------------

#define _DEBUG_CONVER

#define PCM_TRUNK_NUM			30

#define _MFC_BUF_LEN            31
#define _CALL_BUF_LEN           31
#define _DTMF_BUF_LEN			31
#define _PMT_VOICE_BUF_LEN		31

#define _CONVERSATION_RECORD_BEGIN_VOICE_ID   20

typedef enum enumTrunkStep {
	Step_Free			= 0,	//for import and export

	Step_Used,					//1 for import
	Step_RecvCall,				//2
	Step_RecvMfc,				//3
	Step_StopMfc,				//4
	Step_RecvFail,				//5

	Step_Delay, 				//6
	Step_Wait,					//7
	Step_Connect,				//8
	Step_ForeHangOff,			//9
	Step_BackHangOff,			//10

	Step_Block, 				//11
	Step_OverTime,				//12

	Step_Disable,				//13	//disable send and receive phone

	Step_ReadyDial, 			//14	//for export
	Step_DialCall,				//15
	Step_DialMfc,				//16
	Step_DialStop,				//17
	Step_DialFail,				//18

	Step_FreeRes				//19
}TrunkStep;

typedef enum enumTrunkType{
	Type_Import = 0,
	Type_Export = 1
}TrunkType;

typedef enum enumDialStatus{
	DS_NoDial = 0,
	DS_Dialing, 	//1
	DS_Busy,		//2
	DS_Wait,		//3
	DS_Connect, 	//4
	DS_LineError,	//5
	DS_NoUser,		//6
	DS_OverTime 	//7
}DialStatus;

typedef enum enumVoiceResourcesType{
	Res_NoRes		= 0,
	Res_File		= 1,
	Res_Xms 		= 2,
}VoiceResourcesType;
typedef enum enumVoiceOperatorType{
	OP_NoOperator	= 0,
	OP_Play 		= 1,
	OP_LoopPlay 	= 2,
	OP_Record		= 3
}VoiceOperatorType;


typedef enum enumPstnErr{
	_ERR_OK 					= 0,
	_ERR_XmsAllocError			= -1,
	_ERR_MemAllocError			= -2,
	_ERR_CanNotOpenFile 		= -3,
	_ERR_NoTrunkRes 			= -4,
	_ERR_NoUserRes				= -5,
	_ERR_NoVoiceRes 			= -6,
	_ERR_InvalidID				= -7,
	_ERR_ReConnDifferChannel	= -8,
	_ERR_OperateTypeErr 		= -9,
	_ERR_InvalidTrunkStep		= -10,
	_ERR_NoConnChannel			= -11,
	_ERR_INIsetErr				= -12,
	_ERR_NullPtr				= -13,
	_ERR_NoMvipRes				= -14,
	_ERR_InvalidDTMF			= -15,
    _ERR_LastDtmfNotSendEnd     = -16,
	_ERR_OpenTCE1Device			= -17,		//	add by H.J.N
	_ERR_CheckHardware			= -18,		//	add by H.J.N
	_ERR_PromptFile				= -19,		//	add by H.J.N
	_ERR_DirectPlayXms			= -20,		//	add by H.J.N
	_ERR_FilePosition			= -21       //  add by N.C.J
}PstnErr;
struct	tagPstnParam{
	BYTE	bySysHour;
	BYTE	bySysMinute;
	BYTE	bySysSecond;

	DWORD	dwRunHours;
	BYTE	byRunMinutes;
	BYTE	byRunSeconds;

	DWORD	dwRunSeconds;

	int 	iCountINT;

	UINT	uHardWareINT;

	char *	lpClearINT;
	char *	lpVoiceBufferFlag;		// change "char far *" to "char *" by H.J.N

    BOOL    fSendDLForForeHangOff;
	BYTE	byEnableWarning;
	int 	iSpeakEnable;
	int 	iIsBeep;
	int 	iBeepCount;
	UINT	uFreq;
	BYTE	bySoundControl;
	int		iAutoApplyDtmf;


	DWORD	dwImportPhoneNum;
	DWORD	dwExportPhoneNum;
	UINT	uCurrentImportNum;
	UINT	uCurrentExportNum;
	UINT	uLastImportNum;
	UINT	uLastExportNum;

	int 	iExportNum;

	int 	iTrunkNum;
	int 	iVoiceNum;
	int 	iUserNum;
	int 	iMfcNum;
	int 	iDtmfNum;
	int		iBusMVIPNum;

	WORD	wHndPmtVoice;
	int 	iPmtVoiceNum;
	
	BOOL	bAutoKB;

	PstnErr ErrCode;                
	
	int		iConversationNum;
	int		iConversationGroupNum;
	int		iaConversationFlag[12];

    BYTE    byHangCount;
};

#define _DL_FORE_FREE			0x0b	//A
#define _DL_FORE_USED			0x03	//B
#define _DL_FORE_CONFIRM		0x03	//C
#define _DL_FORE_CONNECT		0x03	//D
#define _DL_FORE_FOREHANGOFF	0x0b	//E
#define _DL_FORE_BUSY			0x0b	//F
#define _DL_FORE_BACKHANGOFF	0x03	//C

#define _DL_BACK_FREE			0x0b	//A 0x08|0x03
#define _DL_BACK_USED			0x0b	//B
#define _DL_BACK_CONFIRM		0x0f	//C 0x0c|0x03
#define _DL_BACK_CONNECT		0x07	//D 0x04|0x03
#define _DL_BACK_BACKHANGOFF	0x0f	//C
#define _DL_BACK_FOREHANGOFF	0x0f	//F
#define _DL_BACK_BLOCK			0x0f	//F

#define MFC_BACK_A1 				16	//request next
#define MFC_BACK_A2 				17	//request from home
#define MFC_BACK_A3 				18	//change to B signal
#define MFC_BACK_A4 				19	//busy
#define MFC_BACK_A5 				20	//space No.
#define MFC_BACK_A6 				21	//request KA and caller

#define MFC_BACK_KB1				16	//user is free
#define MFC_BACK_KB2				17	//no used
#define MFC_BACK_KB3				18	//no used
#define MFC_BACK_KB4				19	//user is busy
#define MFC_BACK_KB5				20	//space No.
#define MFC_BACK_KB6				21	//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 the failure reason
#define _ERR_USED_FOREHANGOFF           1
#define _ERR_USED_OVERTIME              2
#define _ERR_RCALL_OVERTIME             3
#define _ERR_RCALL_FOREHANGOFF          4
#define _ERR_RCALL_TOO_LEN              5
#define _ERR_RMFC_FOREHANGOFF           6
#define _ERR_RMFC_OVERTIME              7
#define _ERR_RMFC_TOO_LEN               8
#define _ERR_RSTOP_FOREHANGOFF          9
#define _ERR_RSTOP_OVERTIME             10
#define _ERR_DREDY_OVERTIME             11
#define _ERR_DMFC_LINEERR               12
#define _ERR_DMFC_BACK_A_ERR1           13
#define _ERR_DMFC_BACK_A_ERR2           14
#define _ERR_DMFC_BACK_A_ERR3           15
#define _ERR_DMFC_OVERTIME              16
#define _ERR_DCALL_LINEERR              17
#define _ERR_DCALL_BACK_A_ERR1          18
#define _ERR_DCALL_BACK_A_ERR2          19
#define _ERR_DCALL_OVERTIME             20
#define _ERR_DSTOP_LINEERR              21
#define _ERR_DSTOP_NOUSER               22
#define _ERR_DSTOP_BUSY                 23
#define _ERR_DSTOP_OVERTIME             24
#define _ERR_RCALL_LONGSEND             25

#ifdef	__cplusplus
extern "C" {
#endif

//////////////////////////////////////////////////////////////////////////
//initiate the D320/D640 PCM Voice board
int 	WINAPI DJSys_EnableCard ( const char * configFile, const char * promptVoiceIdxFile );
void	WINAPI DJSys_DisableCard ( void );
void	WINAPI DJSys_PushPlay ( void );

/******************************************************************************\
 *
 *	Functions for Trunk channel
 *
\******************************************************************************/
int 	WINAPI DJTrk_GetTotalTrunkNum	( void );
int 	WINAPI DJTrk_GetPcmTrunkNum ( void );

UINT	WINAPI DJTrk_GetWaitTime		( int trunkID );
UINT	WINAPI DJTrk_GetConnectVoiceTime( int trunkID );
UINT	WINAPI DJTrk_GetConnectTime	( int trunkID );
UINT	WINAPI DJTrk_GetDtmfTime		( int trunkID );
DWORD	WINAPI DJTrk_GetTrunkConnectTime( int trunkID );

int 	WINAPI DJTrk_GetPcmID	( int trunkID );

int 	WINAPI DJTrk_GetConnectTrunkID	( int trunkID );
int 	WINAPI DJTrk_GetConnectUserID	( int trunkID );
int 	WINAPI DJTrk_GetListenUserID	( int trunkID );
int 	WINAPI DJTrk_GetListenTrunkID	( int trunkID );
int 	WINAPI DJTrk_GetTrunkPlayID 	( int trunkID );
int 	WINAPI DJTrk_GetTrunkRecordID	( int trunkID );

BOOL	WINAPI DJTrk_CheckReady		( int trunkID );
BOOL	WINAPI DJTrk_CheckConnect 	( int trunkID );
BOOL	WINAPI DJTrk_CheckWait		( int trunkID );
BOOL	WINAPI DJTrk_CheckForwardHangUp( int trunkID );
BOOL	WINAPI DJTrk_CheckTrunkIn		( int trunkID );
BOOL	WINAPI DJTrk_CheckTrunkFree	( int trunkID );
BOOL	WINAPI DJTrk_CheckTrunkEnable	( int trunkID );

BOOL	WINAPI DJTrk_BackwardHangUp	( int trunkID );
BOOL	WINAPI DJTrk_DisableTrunk		( int trunkID );
BOOL	WINAPI DJTrk_EnableTrunk		( int trunkID );

int 	WINAPI DJTrk_GetFreeTrunkIDForDial ( int pcmID );
// modify by H.J.N
BOOL	WINAPI DJTrk_StartDial	( int trunkID,
				const char * szPhoneNum,
				const char * szCallerStr	/* ,		rem by H.J.N
				BYTE	foreKD = MFC_BACK_KD3,
				BYTE	foreKA = MFC_FORE_KA1*/ );
void WINAPI DJTrk_StartDial_SetParam ( BYTE foreKD ,BYTE	foreKA );
// end of add 

BOOL	WINAPI DJTrk_AppendTelNum	( int trunkID, char phoneCode );//ADD
DialStatus WINAPI DJTrk_GetDialStatus	( int trunkID );
//BOOL	trunkCheckDialIsFail	( int trunkID );

BOOL	WINAPI DJTrk_CheckApplyDtmf	( int trunkID ); //these is a dtmf resource link to this trunk
BOOL	WINAPI DJTrk_ApplyDtmf	( int trunkID );
BOOL	WINAPI DJTrk_FreeDtmf( int trunkID );

char *	WINAPI DJTrk_GetMfcCode 		( int trunkID );
char *	WINAPI DJTrk_GetHostCode		( int trunkID );
char *	WINAPI DJTrk_GetDtmfCode		( int trunkID );
int 	WINAPI DJTrk_GetReciveMfcNum	( int trunkID );
int 	WINAPI DJTrk_GetReciveCallerNum( int trunkID );
int 	WINAPI DJTrk_GetReciveDtmfNum	( int trunkID );
char	WINAPI DJTrk_GetFirstDtmfCode	( int trunkID );
char	WINAPI DJTrk_GetLastDtmfCode	( int trunkID );
BOOL	WINAPI DJTrk_InitDtmfBuf		( int trunkID );

BOOL	WINAPI DJTrk_SetTrunkType		( int trunkID, TrunkType type );
int 	WINAPI DJTrk_GetTrunkStatus	( int trunkID );


BYTE	WINAPI DJTrk_GetTrunkKD		( int trunkID );
BYTE	WINAPI DJTrk_GetTrunkKB		( int trunkID );

BYTE	WINAPI DJTrk_GetTrunkForwardKA	( int trunkID );

BYTE	WINAPI DJTrk_GetTrunkBackwardA	( int trunkID );
BYTE	WINAPI DJTrk_GetTrunkForwardMFN( int trunkID );

BYTE	WINAPI DJTrk_GetTrunkForwardDL	( int trunkID );
BYTE	WINAPI DJTrk_GetTrunkBackwardDL( int trunkID );
//BOOL	trunkPutBackDL			( int trunkID, BYTE backDL );

BOOL	WINAPI DJTrk_WaitBackwardA3	( int trunkID );
// modify by H.J.N
BOOL	WINAPI DJTrk_SetTrunkKB			( int trunkID, BYTE backKB/*, BYTE backA=MFC_BACK_A3*/ );
void WINAPI DJTrk_SetTrunkKB_SetParam (BYTE backA);
// end of add

//add by N.C.J, 1999.07.29
BOOL  WINAPI DJTrk_InitDtmfBufNew(int trunkID);
int  WINAPI DJTrk_GetReceiveDtmfNumNew(int trunkID);
char  WINAPI DJTrk_GetDtmfCodeNew(int trunkID);
char  WINAPI DJTrk_GetDtmfHitNew(int trunkID);
//end of add

//1999.8.11
int   WINAPI DJTrk_SendDtmfStr(int trunkID,const char * pcDtmf);
bool   WINAPI DJTrk_CheckDtmfSendEnd(int trunkID);
int   WINAPI DJTrk_PlayPromptStr(int trunkID,const char * pcPromptStr);
bool   WINAPI DJTrk_CheckPlayPromptStrEnd(int trunkID);
//end of add

// modify for new_mode_dtmf, 1999.09.06
#define	TRUNK_DTMF_MODE_NORMAL	0
#define	TRUNK_DTMF_MODE_QUICK	1
#define	TRUNK_DTMF_MODE_SLOW	2

BOOL WINAPI DJTrk_SetDtmfWorkMode ( int trunkID, BYTE byDtmfMode );
//end of add

/* rem by H.J.N, no use
BOOL	trunkSendDtmf(	int trunkID, char dtmfCode );
BOOL	trunkCheckSendDtmfIsEnd( int trunkID );

UINT	trunkGetRecvDialCount	( int trunkID );

BOOL	trunkEnterConversation	( int trunkID, int groupID, BOOL conn=TRUE );
void	trunkExitConversation	( int trunkID );
int 	trunkGetConversationGroupID ( int trunkID );

int 	trunkGetFailReason		( int trunkID );
void	trunkResetFailFalg		( int trunkID );


//the follow function is for debug only.
WORD	dbgTrunkGetFlag			( int trunkID );
*/

/******************************************************************************\
 *
 *	Functions for User channel
 *
\******************************************************************************/
int WINAPI DJUser_GetTotalUserNum		( void );

void WINAPI DJUser_SetPowerON 			( int userID ); 	//default
void WINAPI DJUser_SetPowerOFF			( int userID );
BOOL WINAPI DJUser_CheckPowerStatus	( int userID ); 	//if Power is ON then return TRUE

void WINAPI DJUser_SetUserHalfPower	( int userID );
void WINAPI DJUser_SetUserFullPower	( int userID );

BOOL WINAPI DJUser_RingDetect 		( int userID );
BOOL WINAPI DJUser_StartRing			( int userID );
BOOL WINAPI DJUser_StopRing			( int userID );

BOOL WINAPI DJUser_EnableDialSound 	( int userID ); //default
BOOL WINAPI DJUser_DisableDialSound	( int userID );

BOOL WINAPI DJUser_CheckHookOFF		( int userID );

int  WINAPI DJUser_GetDialNum			( int userID );
char * WINAPI DJUser_GetDialCode 		( int userID );
char WINAPI DJUser_GetFirstDialCode	( int userID );
char WINAPI DJUser_GetLastDialCode		( int userID );
BOOL WINAPI DJUser_InitDialBuf		( int userID );

int WINAPI DJUser_GetConnectTrunkID		( int userID );
int WINAPI DJUser_GetConnectUserID		( int userID );
int WINAPI DJUser_GetListenUserID 	( int userID );
int WINAPI DJUser_GetListenTrunkID	( int userID );
int WINAPI DJUser_GetPlayChannel	( int userID );
int WINAPI DJUser_GetRecordChannel	( int userID );

⌨️ 快捷键说明

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