📄 shpa3api.h
字号:
// 软件授权协议
//1、 杭州三汇信息工程有限公司(以下简称本公司)拥有"本软件及所有附属产品、文件和相关文档"(以下简称本产品)的完全版权。任何单位和个人在使用前须获得本公司的授权。
//2、 本公司授权符合以下全部条件的单位和个人免费使用本产品:
//A、 本产品与通过合法销售渠道购买的本公司硬件产品配合使用时;
//B、 不私自向第三方传播本产品和本产品的任何一部分。
//3、 除符合第2条以外的其他单位和个人需要使用本产品时,必须获得本公司的书面授权。
//4、 获得授权的单位和个人不得转让其获得的授权。
//5、 使用本产品,即表明完全理解本协议的所有条款并全部接受。
#ifndef WIN32
#ifndef OS_LINUX
#ifndef __BORLANDC__
#ifndef TYPEDEF_H
#define TYPEDEF_H
typedef char CHAR;
typedef float FLOAT;
typedef int BOOL;
typedef int INT;
typedef long LONG;
typedef void VOID;
typedef void *PVOID;
typedef int *PINT;
typedef unsigned char BYTE;
typedef unsigned char UCHAR;
typedef unsigned int UINT;
typedef unsigned int DWORD;
typedef unsigned long ULONG;
typedef unsigned short USHORT;
typedef unsigned short WORD;
typedef BOOL *LPBOOL;
typedef BYTE *LPBYTE;
typedef BYTE *PBYTE;
typedef CHAR *LPSTR;
typedef CHAR *LPTSTR;
typedef const CHAR *LPCSTR;
typedef const CHAR *LPCTSTR;
typedef CHAR *PCHAR;
typedef DWORD *LPDWORD;
typedef DWORD *PDWORD;
typedef WORD *LPWORD;
typedef WORD *PWORD;
typedef UCHAR *PUCHAR;
typedef long *LPLONG;
typedef long *PLONG;
typedef long long LONGLONG;
typedef void *LPVOID;
typedef const CHAR *LPCSTR;
typedef const CHAR *LPCTSTR;
typedef const void *LPCVOID;
#endif // end of #ifndef TYPEDEF_H
#endif // end of #ifndef __BORLANDC__
#endif // end of #ifndef OS_LINUX
#ifndef WINAPI
#define WINAPI
#endif
#endif // end of #ifndef WIN32
#ifndef SHCTI_CONST
#define SHCTI_CONST
//-----------------------------------------------------------------------
// definition of channel type, which can be retrieved by invoking
// function "SsmGetFlag()" and set by invoking "SsmSetFlag()"
//-----------------------------------------------------------------------
enum
{
F_RCVDTMFSENS = 1, //接收DTMF敏感度
F_TXDTMFAMP = 2, //发送DTMF信号强度
F_RCVPHONUMHOLDUP = 3, //被叫号码拦截标记
F_RELATIVEENGYHOOKDETECT = 4, //是否启用模拟电话线被叫摘机检测新算法
F_RXR2FILTERTIME = 5, //R2接收滤波时间
F_RECTOFILEA_CALLBACKTIME = 6,
F_CALLERIDSTYLE = 7,
F_InVoiceToBus = 8,
F_ClearInVoiceOnRcvDtmf = 9,
F_MixerResToBus = 10,
F_HighAndLowFreqEnScale = 11,
F_DualAndAllFreqEnScale = 12,
F_EchoCancelInFsk = 13, //设置Fsk收发过程中的回波开关
F_ChToRingingOnRingCnt = 14,
F_ISDNNet_WaitRemotePickup = 15,
F_SetAdjustCtl = 16,
F_ClearInVoiceOnRcv450Hz = 17,
F_FSKMinGate = 18,
F_RECTOFILEA_CALLBACKTIMEA = 19,
F_CALLERIDTYPE = 20,
F_InVoiceToBusA = 21,
F_EchoCancelInFskA = 22,
F_ChToRingingOnRingCntA = 23,
F_SetAdjustCtlA = 24,
F_RCVPHONUMHOLDUPA = 25,
F_RELATIVEENGYHOOKDETECTA = 26
};
//事件编码
/*enum
{
E_PROC_Recognize = 0x0000,
E_CHG_ISDNStatus = 0x0001,
E_RCV_Ss7Msu = 0x0002,
E_CHG_Mtp3State = 0x0003,
E_CHG_FaxChState = 0x0004,
E_CHG_FaxPages = 0x0005,
E_PROC_FaxEnd = 0x0006,
E_CHG_PcmLinkStatus = 0x0007,
E_CHG_LineVoltage = 0x0008,
E_RCV_CAS = 0x0009,
E_RCV_R2 = 0x000a,
E_PROC_WaitDTMF = 0x000b,
E_CHG_RcvDTMF = 0x000c,
E_PROC_SendDTMF = 0x000d,
E_PROC_SendFlash = 0x000e,
E_PROC_PlayEnd = 0x000f,
E_PROC_PlayFile = 0x0010,
E_PROC_PlayFileList = 0x0011,
E_PROC_PlayMem = 0x0012,
E_PROC_RecordEnd = 0x0013,
E_PROC_RecordFile = 0x0014,
E_PROC_RecordMem = 0x0015,
E_PROC_SendFSK = 0x0016,
E_PROC_RcvFSK = 0x0017,
E_CHG_ChState = 0x0018,
E_PROC_AutoDial = 0x0019,
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
};
*/
//+++start+++ added by wangfeng for sc-2459, 2009.04.03
enum
{
F_SETVOICEDTMFFILTERFLAG,
};
//+++ end +++ added by wangfeng for sc-2549, 2009.04.03
//-----------------------------------------------------------------------
// definition of blocking reason, which can be retrieved by invoking
// function "SsmGetBlockReason()"
//-----------------------------------------------------------------------
enum
{
BLOCKBY_NULL,
BLOCKBY_TupRcvMGB,
BLOCKBY_TupRcvHGB,
BLOCKBY_TupRcvSGB,
BLOCKBY_TupWaitRLGTimeout,
BLOCKBY_TupBlockByApp,
};
//-----------------------------------------------------------------------
// Definition of status on blocking remote circuit or circuit groups,
// which might be used by following functions
// 1. "SsmChkBlockRemoteXXX()"
// 2. "SsmChkBlockRemoteXXX()"
//-----------------------------------------------------------------------
#define BLOCKREMOTE_Unblocked 0 // no block-signal is issued
#define BLOCKREMOTE_Blocked 1 // is in blocked state now
#define BLOCKREMOTE_WaitBlockAck 2 // waiting for acknowledgement signal after sending block-signal
#define BLOCKREMOTE_WaitUnblockAck 3 // waiting for acknowledgement signal after sending unblock-signal
//-----------------------------------------------------------------------
// Definition of local blocking status on circuit or circuit groups,
// which might be used by following functions
// "SsmQueryLocalXXXBlockState()"
//-----------------------------------------------------------------------
#define BLOCK_AppBlockCic 0x00000001 // channel is blocked by invoking SsmBlockLocalCh()
#define BLOCK_TupRcvBLO 0x00000002 // channel is blocked by received BLO
#define BLOCK_TupRcvSGB 0x00000004 // channel is blocked by received SGB
#define BLOCK_TupRcvHGB 0x00000008 // channel is blocked by received HGB
#define BLOCK_TupRcvMGB 0x00000010 // channel is blocked by received MGB
#define BLOCK_AppBlockPCM 0x00000020 // channel is blocked by invoking SsmBlockLocalPCM()
//-----------------------------------------------------------------------
// Definition of channel unavailable reason
//-----------------------------------------------------------------------
#define UNAVAILABLE_PcmSyncLos 0x00000001
#define UNAVAILABLE_Mtp3Unusuable 0x00000002
//-----------------------------------------------------------------------
// Definition of DST D-Channel Event
//-----------------------------------------------------------------------
#define DST_OFFHOOK 0x8
#define DST_ONHOOK 0xe
#define DST_LT_ON 0x1001
#define DST_LT_OFF 0x1002
#define DST_LT_FLASHING 0x1003
#define DST_DGT_PRS 0x1006
#define DST_DGT_RLS 0x1007
#define DST_MSG_CHG 0x1008
#define DST_STARTSTOP_ON 0x1009
#define DST_STARTSTOP_OFF 0x100a
#define DST_LT_FASTFLASHING 0x100b
#define DST_DOWNLOAD_STATUS 0x100c
#define DST_FINISHED_PLAY 0x100d
#define DST_FUNC_BTN_PRS 0x100e
#define DST_FUNC_BTN_RLS 0x100f
#define DST_HOLD_BTN_PRS 0x1010
#define DST_HOLD_BTN_RLS 0x1011
#define DST_RELEASE_BTN_PRS 0x1012
#define DST_RELEASE_BTN_RLS 0x1013
#define DST_TRANSFER_BTN_PRS 0x1014
#define DST_ANSWER_BTN_PRS 0x1015
#define DST_SPEAKER_BTN_PRS 0x1016
#define DST_REDIAL_BTN_PRS 0x1017
#define DST_CONF_BTN_PRS 0x1018
#define DST_RECALL_BTN_PRS 0x1019
#define DST_FEATURE_BTN_PRS 0x101a
#define DST_UP_DOWN 0x101b
#define DST_EXIT_BTN_PRS 0x101c
#define DST_HELP_BTN_PRS 0x101d
#define DST_SOFT_BTN_PRS 0x101e
#define DST_RING_ON 0x101f
#define DST_RING_OFF 0x1020
#define DST_LINE_BTN_PRS 0x1021
#define DST_MENU_BTN_PRS 0x1022
#define DST_PREVIOUS_BTN_PRS 0x1023
#define DST_NEXT_BTN_PRS 0x1024
#define DST_LT_QUICKFLASH 0x1025
#define DST_AUDIO_ON 0x1026
#define DST_AUDIO_OFF 0x1027
#define DST_DISPLAY_CLOCK 0x1028
#define DST_DISPLAY_TIMER 0x1029
#define DST_DISPLAY_CLEAR 0x102a
#define DST_CFWD 0x102b
#define DST_CFWD_CANCELED 0x102c
#define DST_AUTO_ANSWER 0x102d
#define DST_AUTO_ANSWER_CANCELED 0x102e
#define DST_SET_BUSY 0x102f
#define DST_SET_BUSY_CANCELED 0x1030
#define DST_DESTINATION_BUSY 0x1031
#define DST_REORDER 0x1032
#define DST_LT_VERY_FASTFLASHING 0x1033
#define DST_SPEAKER_BTN_RLS 0x1034
#define DST_REDIAL_BTN_RLS 0x1035
#define DST_TRANSFER_BTN_RLS 0x1036
#define DST_CONF_BTN_RLS 0x1037
#define DST_DISCONNECTED 0x1038
#define DST_CONNECTED 0x1039
#define DST_ABANDONED 0x103a
#define DST_SUSPENDED 0x103b
#define DST_RESUMED 0x103c
#define DST_HELD 0x103d
#define DST_RETRIEVED 0x103e
#define DST_REJECTED 0x103f
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -