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

📄 isupdll.h

📁 东进语音板卡开发
💻 H
📖 第 1 页 / 共 2 页
字号:
		//0x0B:优先主叫用户
		//0x0C:数据呼叫
		//0x0D:测试呼叫
		//0x0E:备用
		//0x0F:公用(投币)电话
		//0x09:可用于指明主叫用户是一个国内话务员
}CALLING_PARTY_PARAM, *LPCALLING_PARTY_PARAM;

#define DEFUALT_SET		0xFF

//////////////////////////////////////////////////////////
//设置前向呼叫指示码
//DJISUP_SetForwardCallIndicatorsParam输入参数
//////////////////////////////////////////////////////////
typedef struct _FORWARD_CALL_INDICATORS_PARAM
{
	BYTE bNationalInternationalCallIndicator;
		//国内/国际呼叫指示码
		//0x00:呼叫作为一个国内呼叫处理
		//0x01:呼叫作为一个国际呼叫处理
	BYTE bEndToEndMethodIndicator;
		//端到端方法指示码
		//0x00:端到端方法不可获得(仅可获得逐段链路转接方法)
		//0x01:传递(pass along)方法可获得
		//0x02:SCCP方法可获得
		//0x03:传递及SCCP方法可获得
	BYTE bInterworkingIndicator; 
		//互通指示码
		//0x00:不会碰到互通
		//0x01:会碰到互通
	BYTE bEndToEndInformationIndicator;
		//端到端信息指示码
		//0x00:无端到端信息可利用
		//0x01:端到端信息可利用
	BYTE bISDNUserPartIndicator;
		//ISDN用户部分指示码
		//0x00:非全程应用ISDN用户部分
		//0x01:全程应用ISDN用户部分
	BYTE bISDNUserPartPreferenceIndicator;
		//ISDN用户部分优先指示码
		//0x00:ISDN用户部分全程优先
		//0x01:非全程需要ISDN用户部分
		//0x02:全程需要ISDN用户部分
		//0x03:备用
	BYTE bISDNAccessIndicator;
		//ISDN接入指示码
		//0x00:始发端接入非ISDN
		//0x01:始发端接入ISDN
	BYTE bSCCPMethodIndicator;
		//SCCP方法指示码
		//0x00:无指示
		//0x01:无接续方法可获得
		//0x02:接续方法可获得
		//0x03:无接续及面向接续方法可获得
}FORWARD_CALL_INDICATORS_PARAM, *LPFORWARD_CALL_INDICATORS_PARAM;

//////////////////////////////////////////////////////////
//设置改发信息
//DJISUP_SetRedirectionInf输入参数
//////////////////////////////////////////////////////////
typedef struct _REDIRECTION_INFORMATION_PARAM
{
	BYTE bRedirectingIndicator;
		//改发指示码:默认为0x04
		//000:无改发
		//001:呼叫重新编路
		//010:呼叫重新编路,所有改发信息显示限制
		//011:呼叫转移
		//100:呼叫转移,所有改发信息显示限制
		//101:呼叫重新编路,改发号码显示限制
		//110:呼叫转移,改发号码显示限制
		//111:备用
	BYTE bOriginalRedirectionReason;
		//原来的改发原因:默认为0x00
		//0000:不知/不可获得
		//0001:用户忙
		//0010:无应答
		//0011:无条件
		//0100-1111:备用
	BYTE bRedirectionCounter;
		//改发计数器:默认为0x05
	BYTE bRedirectingReason;
		//原来的改发原因:默认为0x00
		//0000:不知/不可获得
		//0001:用户忙
		//0010:无应答
		//0011:无条件
		//0100:通知时偏转
		//0101:偏转立即响应
		//0110:移动用户不可达到
		//0111-1111:备用
}REDIRECTION_INFORMATION_PARAM, *LPREDIRECTION_INFORMATION_PARAM;

////////////////////////////////////////////////////////////
//设置呼叫进展消息
//DJISUP_SetEventInfParam 输入参数
//////////////////////////////////////////////////////////
typedef struct _EVENT_INFORMATION_PARAM
{
	BYTE bEventIndicator;
	//事件指示码
	//0000000:备用
	//0000001:通知
	//0000010:进行
	//0000011:带内信息或一个合适型式现可获得
	//0000100:遇忙呼叫前转
	//0000101:无应答呼叫前转
	//0000110:无条件呼叫前转
	BYTE bReserved : 1;
}EVENT_INFORMATION_PARAM, *LPEVENT_INFORMATION_PARAM;

////////////////////////////////////////////////////////////
//被叫号码信息
//DJISUP_SetCalledNumPartyParam 入参
////////////////////////////////////////////////////////////
typedef struct _CALLED_PARTY_NUMBER_PARAM
{
	BYTE bNatureOfAddressIndicator;
		//地址性质指示码
		//000000:备用
		//000001:用户号码
		//000010:不知
		//000011:国内(有效)号码
		//000100:国际号码
	BYTE bOddEvenIndicator;
		//奇/偶指示码
		//0:偶数个地址号码
		//1:奇数个地址号码
	BYTE bReserved;
	BYTE bNumberingPlanIndicator;
		//号码计划指示码
		//000:备用
		//001:ISDN(电话)号码计划(E.164)
		//010:备用
		//011:数据号码计划(X.121)
		//100:用户电报号码计划
		//101:保留用于国内应用
		//110:保留用于国内应用
		//111:备用
	BYTE InternalNetworkNumberIndicator;
		//内部网络号码指示码
		//0:编路至内部网络号码允许
		//1:编路至内部网络号码不允许(默认值)
	BYTE bAddressSignal[17];
}CALLED_PARTY_NUMBER_PARAM, *LPCALLED_PARTY_NUMBER_PARAM;


////////////////////////ISDN用户部分参数///////////////////
//发送ISDN用户部分参数
//DJISUP_SetParam(中继号,通道号,参数标识, 输入参数的指针)
//取已经收到的ISDN用户部分参数
//DJISUP_GetParam(中继号,通道号,参数标识, 输入参数的指针)
///////////////////////////////////////////////////////////
typedef enum _ISUP_PARAM
{
	ISUP_PARAM_AT	= 0x03,				//接入传送ACCESS TRANSPORT
	ISUP_PARAM_UTU	= 0x20,				//用户至用户
}ISUP_PARAM;

#define AT_LEN		100
//接入传送参数内容
typedef struct _PARAM_ACCESSTRANSPORT
{
	BYTE		bLen;	
	BYTE		bInfoUnit[AT_LEN];		//信息单元
}PARAM_ACCESSTRANSPORT;

#define UTU_LEN		100
//用户-用户信息参数内容
typedef struct _PARAM_USERTOUSERINFOR
{
	BYTE bLen;
	BYTE bUserToUserInformation[UTU_LEN];	//用户-用户信息
}PARAM_USERTOUSERINFOR;

///////////////////////////////////////////////////////////

#define EXIST_REDIRECTION_NUM	0x0001
#define EXIST_REDIRECTION_INF	0x0001

///////////////////////////////////////////////////////////

#ifdef	__cplusplus
extern "C" {
#endif

int		WINAPI DJISUP_InitSystem();
void	WINAPI DJISUP_ExitSystem();
int		WINAPI DJISUP_GetChnState(BYTE nPCM, BYTE nCHN);
void	WINAPI DJISUP_SetChnState(BYTE nPCM, BYTE nCHN, BYTE nState, int Param1 = 0, int Param2 = 0, int Param3 = 0, int Param4 = 0);
void	WINAPI DJISUP_SetChnState_ForVB(BYTE nPCM, BYTE nCHN, BYTE nState, void *Param1 = NULL, int Param2 = 0, int Param3 = 0, int Param4 = 0);
void	WINAPI DJISUP_GetCallerNum(BYTE nPCM, BYTE nCHN, char * strCallerId);
void	WINAPI DJISUP_GetCalleeNum(BYTE nPCM, BYTE nCHN, char * strCalleeId);
int		WINAPI DJISUP_GetOraCalleeNum(BYTE nPCM, BYTE nCHN, char * strOraCalleeId);
void	WINAPI DJISUP_GetEvent();
bool	WINAPI DJISUP_GetEventA(BYTE nLinkId);
int		WINAPI DJISUP_GetEventRawFrame(BYTE * pData);   //pData 从SIO开始
int		WINAPI DJISUP_SetOraCalleeNumber(int nPCM, int nCHN, char * szOraCalleeNumber = "" );
int		WINAPI DJISUP_Callout(int nPCM, int nCHN, char * szCalleeNumber, char * szCallerNumber = "", bool bCalleeSignalTerminal = false, bool bCallerSignalTerminal = false);
int		WINAPI DJISUP_GetCalloutChn(BYTE nPCM);
bool	WINAPI DJISUP_GetCalloutChnNew( BYTE* mo, BYTE* dt );//Add for dual seizure
int		WINAPI DJISUP_GetSpNo( char *sDPC );
bool	WINAPI DJISUP_GetCalloutChnMSP( BYTE nSp_No, BYTE* mo, BYTE* dt );
int		WINAPI DJISUP_GetReleaseReason(int nPCM, int nCHN);
int		WINAPI DJISUP_GetCalloutState(int nPCM, int nCHN);
int		WINAPI DJISUP_GetEventInfo(int nPCM, int nCHN);

int		WINAPI DJISUP_GetRawFrame(int nLinkId, BYTE * pData);
int		WINAPI DJISUP_GetRawFrameFromMTC(BYTE nPCM, BYTE nCHN, BYTE * pData); //pData 从消息类型开始
int		WINAPI DJISUP_GetNonIsupRawFrame(BYTE * pData);
int		WINAPI DJISUP_GetSccpRawFrame(BYTE * pData);
bool	WINAPI DJISUP_SendRawFrame(BYTE nPCM, BYTE nCHN, BYTE * pData, int nLen);
bool	WINAPI DJISUP_SendSccpRawFrame(BYTE * pData, int nLen);
bool	WINAPI DJISUP_SendSS7RawFrame(BYTE * pData, int nLen);

int		WINAPI DJISUP_SetParam(BYTE nPCM, BYTE nCHN, ISUP_PARAM ParamID, void * pParam);
int		WINAPI DJISUP_GetParam(BYTE nPCM, BYTE nCHN, ISUP_PARAM ParamID, void * pParam);

void	WINAPI DJISUP_SetRedirectionNum(BYTE nPCM, BYTE nCHN, char* pRedirectionNum);

int		WINAPI DJISUP_SetCallingParam(BYTE nPCM, BYTE nCHN, CALLING_PARTY_PARAM *pSetCallingParm);

//设置中继的同步状态,在七号网关应用中,节点使用非东进D系列板卡时使用,其它情况中不能使用此函数!
int		WINAPI DJISUP_SetPcmSyncState(BYTE nPCM, bool bSync);

int		WINAPI DJISUP_SetForwardCallIndicatorsParam(BYTE nPCM, BYTE nCHN, FORWARD_CALL_INDICATORS_PARAM *pSetForwardCallIndicatorsParam);
int		WINAPI DJISUP_GetRecvCauseValue(int nPCM, int nCHN);
int		WINAPI DJISUP_GetChargeIndicator(int nPCM, int nCHN);

int		WINAPI DJISUP_GetRedirectingNum(BYTE nPCM, BYTE nCHN, char * strRedirectingId);
int		WINAPI DJISUP_SetRedirectingNum(BYTE nPCM, BYTE nCHN, char* pRedirectingNum);

int		WINAPI DJISUP_GetRedirectionInfIndicator(BYTE nPCM, BYTE nCHN );
int		WINAPI DJISUP_GetRedirectionInfReason(BYTE nPCM, BYTE nCHN );
int		WINAPI DJISUP_SetRedirectionInf(BYTE nPCM, BYTE nCHN, REDIRECTION_INFORMATION_PARAM *pSetRedirectionInfParam );

int		WINAPI DJISUP_SetEventInfParam(BYTE nPCM, BYTE nCHN, LPEVENT_INFORMATION_PARAM pSetEventInfParam); 
int		WINAPI DJISUP_SetCalledPartyNumberParam(BYTE nPCM, BYTE nCHN, LPCALLED_PARTY_NUMBER_PARAM pParam);



//DWORD *DJISUP_GetMsgCount(BYTE nPCM, BYTE nCHN);

#ifdef	__cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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