📄 shpa3api.h
字号:
E_CHG_RemoteChBlock = 0x001a,
E_CHG_RemotePCMBlock = 0x001b,
E_SYS_ActualPickup = 0x001c,
E_CHG_RingFlag = 0x001d,
E_CHG_RingCount = 0x001e,
E_CHG_CIDExBuf = 0x001f,
E_CHG_RxPhoNumBuf = 0x0020,
E_CHG_PolarRvrsCount = 0x0021,
E_SYS_RemotePickup = 0x0022,
E_CHG_FlashCount = 0x0023,
E_CHG_HookState = 0x0024,
E_CHG_ToneAnalyze = 0x0025,
E_OverallEnergy = 0x0026,
E_CHG_OvrlEnrgLevel = 0x0027,
E_CHG_BusyTone = 0x0028,
E_CHG_BusyToneEx = 0x0029,
E_CHG_VocFxFlag = 0x002a,
E_CHG_ToneValue = 0x002b,
E_CHG_RingEchoToneTime = 0x002c,
E_CHG_PeakFrq = 0x002d,
E_SYS_BargeIn = 0x002e,
E_SYS_NoSound = 0x002f,
E_SYS_TIMEOUT = 0x0030,
E_CHG_SpyState = 0x0031,
E_CHG_SpyLinkStatus = 0x0032,
E_RCV_DTR_AUDIO = 0x0033,
E_RCV_DTR_HOOK = 0x0034,
E_RCV_DTR_LAMP = 0x0035,
E_RCV_DTR_FKEY = 0x0036,
E_RCV_DTR_DKEY = 0x0037,
E_RCV_DTR_VOX = 0x0038,
E_RCV_DTR_DISPLAY = 0x0039,
E_RCV_DTR_DIRECTION = 0x003a,
E_RCV_DTR_RING = 0x003b,
E_CHG_CICRxPhoNumBuf = 0x003c,
E_CHG_CICState = 0x003d,
E_PROC_CICAutoDial = 0x003e,
E_RCV_Ss7IsupUtuinf = 0x003f,
E_CHG_Mtp2Status = 0x0040,
E_RCV_DSTDChannel = 0x0041,
E_RCV_Ss7SpyMsu = 0X0042,
E_CHG_ToneDetector = 0x0043,
E_CHG_ToneDetectorItem = 0x0044,
E_RCV_CALLERID = 0x0045,
E_PROC_FaxDcnTag = 0x0046,
E_CHG_AMD = 0x0047,
E_RCV_Ss7IsupCpg = 0x0048,
E_CHG_CbChStatus = 0x0049,
E_REFER_Status = 0x0050,
E_CHG_SpyHangupInfo = 0x0051,
MAX_EVENT_SIZE
};
enum
{
TIMER_ONE,
TIMER_PERIODIC
};
enum
{
NO_EVENT, // 无事件方式
EVENT_POLLING, //事件轮询
EVENT_CALLBACK, //事件回调
EVENT_MESSAGE //windows消息
};
//文件放音进程指示输出参数类型.
enum
{
PLAYPERCENT,
PLAYTIME,
DATABYTESPLAYED,
DATABYTESTOPLAY
};
//内存录放音进程指示输出参数类型.
enum
{
END_HALF_BUFFER,
END_BUFFER,
MEM_OFFSET,
MEM_BYTES,
};
//文件录音进程指示输出参数类型.
enum
{
RECORD_TIME,
RECORD_BYTES
};
#pragma pack(push, 8)
typedef struct _MESSAGE_INFO
{
WORD wEventCode;
int nReference;
DWORD dwParam; //输出参数
}MESSAGE_INFO, *PMESSAGE_INFO;
typedef struct _EVENT_SET_INFO
{
DWORD dwWorkMode;
LPVOID lpHandlerParam;
DWORD dwOutCondition;
DWORD dwOutParamVal;
DWORD dwUser;
}EVENT_SET_INFO, *PEVENT_SET_INFO;
typedef struct _SSM_EVENT
{
WORD wEventCode;
int nReference;
DWORD dwParam;
DWORD dwUser;
DWORD dwSubReason; //Event sub-reason
DWORD dwXtraInfo; //Extra information
PVOID pvBuffer; //Pointer to buffer
DWORD dwBufferLength; //Length of buffer pointed by pvBuffer
DWORD dwDataLength; //Length of data in buffer pointed by pvBuffer
DWORD dwEventFlag; //Falgs of the following:
//bit 0, =1 - App created the event
// =0 - SHP_A3.DLL created the event
//bit 1, Reserved
//bit 2, =1 - data has been truncated
// =0 - data has not been truncated
DWORD dwReserved1;
LONGLONG llReserved2;
}SSM_EVENT, *PSSM_EVENT;
typedef struct tagFAX_FILE_SCT
{
char szFileName[256];
int nStartPage;
int nEndPage;
int nReserve1;
int nReserve2;
}FAX_FILE_SCT, *PFAX_FILE_SCT;
typedef struct _VERSION
{
UCHAR ucMajor;
UCHAR ucMinor;
USHORT usInternal;
USHORT usBuild;
UCHAR ucRelease;
UCHAR ucFeature;
}SSM_VERSION, *PSSM_VERSION;
#define IPM_SENDRECV 0x0000
#define IPM_RECVONLY 0x0001
#define IPM_SENDONLY 0x0002
struct MediaParam
{
int mode;
char localIP[50];
int localPort;
char remoteIP[50];
int remotePort;
int sendCodecType;
int dtmfpayload;
};
#pragma pack(pop)
//ISUP用户部分参数常量定义,函数SsmSetIsupFlag中nType类型
enum
{
ISUP_CallerParam = 1,//主叫号码参数
ISUP_PhoNumParam = 2,//被叫号码参数
ISUP_PhoNumREL = 3, //带号码改发信息的REL
ISUP_IAM_TMR = 4,
ISUP_REL_DENY_SetToOther = 100,//呼叫被拒设置为其它情况
DefaultIAM_OriginalCalleeParam = 101,
};
#pragma pack(push, 1)
typedef struct tag_ISUP_RIREL
{
WORD wRIMsg;
WORD wRIPhoNumPara;
WORD wPhoNumLen;
UCHAR ucRIPhoNum[20];
}ISUP_RIREL, *PISUP_RIREL;
#pragma pack(pop)
typedef struct
{
WORD port;
unsigned int addr;
} StunAddress4;
typedef enum
{
StunTypeUnknown=0,
StunTypeOpen,
StunTypeConeNat,
StunTypeRestrictedNat,
StunTypePortRestrictedNat,
StunTypeSymNat,
StunTypeSymFirewall,
StunTypeBlocked,
StunTypeFailure
} NatType;
#define TYPE_MESSAGE_CONTACT 0x0001 // 获取Contact字段内容
#define TYPE_SET_IP_IPADDR 1
#endif //SHCTI_CONST
#ifndef WINAPI
#define WINAPI
#endif
#ifndef CALLBACK
#define CALLBACK
#endif
#ifndef SHCTI_CALLBACK
#define SHCTI_CALLBACK
typedef void (WINAPI *RXDTMFHANDLER)(int ch, char cDtmf, int nDTStatus, PVOID pV);
typedef BOOL (WINAPI *RECORDMEMBLOCKHANDLER)(int ch, int nEndReason, PUCHAR pucBuf, DWORD dwStopOffset, PVOID pV);
typedef BOOL (WINAPI *PLAYMEMBLOCKHANDLER)(int ch, int nEndReason, PUCHAR pucBuf, DWORD dwStopOffset, PVOID pV);
typedef void (CALLBACK *LPRECTOMEM)(int ch, LPBYTE lpData, DWORD dwDataLen);
typedef void (CALLBACK *LPRECTOMEMB)(int ch, LPBYTE lpData, DWORD dwDataLen, PVOID pV);
typedef int (CALLBACK *LPFNEVENTCALLBACK)(WORD wEvent, int nReference, DWORD dwParam, DWORD dwUser);
typedef int (CALLBACK *LPFNEVENTCALLBACKA)(PSSM_EVENT pEvent);
typedef BOOL (CALLBACK *LPFNDSTRECRAWDATA)(int nCh, DWORD dwLen, PUCHAR pucdata, WORD wDataDiscardedTimes, WORD wWriteToFileFailedTimes);
typedef BOOL (CALLBACK *LPFNDSTRECBITFLOW)(int nCh, DWORD dwLen, PUCHAR pucdata, WORD wDataDiscardedTimes, WORD wWriteToFileFailedTimes);
#endif
#ifdef __cplusplus
extern "C"
{
#endif
#ifndef TcNo7_EXPORTS
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@ INITIALIZATION OPERATION @@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
int WINAPI SsmStartCti(LPCSTR lpSsmCfgFileName, LPCSTR lpIndexCfgFileName);
int WINAPI SsmCloseCti();
void WINAPI SsmGetLastErrMsg(LPSTR szErrMsgBuf);
char *WINAPI SsmGetLastErrMsgA(void);
int WINAPI SsmGetLastErrCode();
int WINAPI SsmGetMaxUsableBoard();
int WINAPI SsmGetMaxCfgBoard();
int WINAPI SsmGetRxDtmfBufSize();
int WINAPI SsmGetAccreditId(int nBId);
int WINAPI SsmGetMaxCh(void);
int WINAPI SsmGetChType(int ch);
int WINAPI SsmSetMaxIdxSeg(WORD wMaxIdxSeg);
int WINAPI SsmLoadIndexData(int nSegNo, LPCSTR pAlias, int nCodec, LPCSTR pVocFile, long lStartPos, long lLen);
int WINAPI SsmFreeIndexData(int nSegNo);
int WINAPI SsmGetTotalIndexSeg();
int WINAPI SsmPauseCard();
int WINAPI SsmRestartCard();
int WINAPI SsmGetAccreditIdEx(int nBId);
int WINAPI SsmGetBoardModel(int nBId);
void WINAPI SsmSetDV(BOOL bEnable);
BOOL WINAPI SsmGetDV(void);
DWORD WINAPI SsmGetPciSerialNo(int nBId);
DWORD WINAPI SsmGetIntCount();
int WINAPI SsmSetListenMode(int nMode);
int WINAPI SsmStartBoard(int nBId);
int WINAPI SsmStopBoard(int nBId);
int WINAPI SsmGetChHdInfo(int ch, int * pnBId, int * pnBCh);
int WINAPI SsmGetAppChId(int * AppchId, int BrdId, int BrdChId);
int WINAPI StartTimer(int ch, WORD ClockType);
DWORD WINAPI ElapseTime(int ch, WORD ClockType);
int WINAPI SsmSetLogOutput(int nAPIDbg, int nEventStart, int nEventEnd, int nChStart, int nChEnd, DWORD dwReserve);
//+++START+++added by gaoliang for sc-2643 改进当前日志输出情况/2009/05/14
int WINAPI SsmSetLogEnable(int nLogType,int nLogEnable,int nLogCreateMode);
int WINAPI SsmSetLogAttribute(int nLogCreatePeriod,int nLogMaxKeep,int nLogMaxPeriod,LPCSTR pLogFilePath);
int WINAPI SsmSetApiLogRange(int nChStart, int nChEnd, int nEventStart, int nEventEnd);
int WINAPI SsmGetLogAttribute(PINT pLogCreatePeriod,PINT pLogMaxKeep,PINT pLogMaxPeriod,LPSTR pLogFilePath);
//+++END+++added by gaoliang for sc-2643 改进当前日志输出情况/2009/05/14
int WINAPI SsmLoadChIndexData(int ch, int nSegNo, LPCSTR pAlias, int nCodec, LPCSTR pVocFile, long lStartPos, long lLen);
int WINAPI SsmFreeChIndexData(int ch, int nSegNo);
int WINAPI SsmGetDllVersion(PSSM_VERSION pDLLVersion);
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ PLAY OPERATION @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
int WINAPI SsmSetPlayVolume(int ch, int nVolume);
int WINAPI SsmSetDtmfStopPlay(int ch, BOOL bDspf);
int WINAPI SsmGetDtmfStopPlayFlag(int ch);
int WINAPI SsmSetBargeinStopPlay(int ch, BOOL bBispf);
int WINAPI SsmGetBargeinStop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -