📄 shpa3api.h
字号:
// 软件授权协议
//1、 杭州三汇信息工程有限公司(以下简称本公司)拥有"本软件及所有附属产品、文件和相关文档"(以下简称本产品)的完全版权。任何单位和个人在使用前须获得本公司的授权。
//2、 本公司授权符合以下全部条件的单位和个人免费使用本产品:
//A、 本产品与通过合法销售渠道购买的本公司硬件产品配合使用时;
//B、 不私自向第三方传播本产品和本产品的任何一部分。
//3、 除符合第2条以外的其他单位和个人需要使用本产品时,必须获得本公司的书面授权。
//4、 获得授权的单位和个人不得转让其获得的授权。
//5、 使用本产品,即表明完全理解本协议的所有条款并全部接受。
#ifndef WIN32
#ifndef OS_LINUX
#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 unsigned char BYTE;
typedef unsigned char UCHAR;
typedef unsigned int UINT;
typedef unsigned long 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 CHAR *PCHAR;
typedef DWORD *LPDWORD;
typedef DWORD *PDWORD;
typedef WORD *LPWORD;
typedef WORD *PWORD;
typedef UCHAR *PUCHAR;
typedef void *PVOID;
typedef long *LPLONG;
typedef long *PLONG;
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 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_ClearInVoiceOnRcv450Hz=16
};
//-----------------------------------------------------------------------
// definition of channel type, which can be retrieved by invoking
// function "SsmGetChType()"
//-----------------------------------------------------------------------
/*
enum{
ANALOG_CH=0,
INTER_CH=1,
USER_CH=2,
REC_CH=3,
SS1_CH=4,
FAX_CH=5,
TUP_CH=6,
ISDN_USER_CH=7,
ISDN_NET_CH = 8,
SOFTFAX_CH = 9,
MAGNET_CH = 10
};
*/
//-----------------------------------------------------------------------
// 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_MSG_CHG 0x1008
#define DST_LT_FASTFLASHING 0x100b
#define DST_FUNC_BTN_PRS 0x100e
#define DST_FUNC_BTN_RLS 0x100f
#define DST_SOFT_BTN_PRS 0x101e
#define DST_RING_ON 0x101f
#define DST_RING_OFF 0x1020
#define DST_LT_QUICKFLASH 0x1025
#define DST_DISPLAY_CLOCK 0x1028
#define DST_DISPLAY_CLEAR 0x102a
#define DST_LT_VERY_FASTFLASHING 0x1033
#define DST_AUDIO_CHG 0x104a
#define DST_DGT_RLS 0x1007
#define DST_TRANSFER_BTN_PRS 0x1014
#define DST_REDIAL_BTN_PRS 0x1017
#define DST_CONF_BTN_PRS 0x1018
#define DST_HOLD_BTN_PRS 0x1010
#define DST_RECALL_BTN_PRS 0x1019
#define DST_FEATURE_BTN_PRS 0x101a
#define DST_ANSWER_BTN_PRS 0x1015
#define DST_SPEAKER_BTN_PRS 0x1016
#define DST_RING_LT_OFF 0x10B8
#define DST_CONFERENCE_LT_OFF 0x10E0
#define DST_FEATURE_LT_OFF 0x1068
#define DST_ANSWER_LT_OFF 0x10C0
#define DST_SPEAKER_LT_OFF 0x1070
#define DST_MIC_LT_OFF 0x1078
#define DST_RING_LT_FLASHING 0x10BA
#define DST_CONFERENCE_LT_FLASHING 0x10E2
#define DST_FEATURE_LT_FLASHING 0x106A
#define DST_ANSWER_LT_FLASHING 0x10C2
#define DST_SPEAKER_LT_FLASHING 0x1072
#define DST_MIC_LT_FLASHING 0x107A
#define DST_RING_LT_FASTFLASHING 0x10BB
#define DST_CONFERENCE_LT_FASTFLASHING 0x10E3
#define DST_FEATURE_LT_FASTFLASHING 0x106B
#define DST_ANSWER_LT_FASTFLASHING 0x10C3
#define DST_SPEAKER_LT_FASTFLASHING 0x1073
#define DST_MIC_LT_FASTFLASHING 0x107B
#define DST_RING_LT_VERY_FASTFLASHING 0x10BC
#define DST_CONFERENCE_LT_VERY_FASTFLASHING 0x10E4
#define DST_FEATURE_LT_VERY_FASTFLASHING 0x106C
#define DST_ANSWER_LT_VERY_FASTFLASHING 0x10C4
#define DST_SPEAKER_LT_VERY_FASTFLASHING 0x1074
#define DST_MIC_LT_VERY_FASTFLASHING 0x107C
#define DST_RING_LT_ON 0x10B9
#define DST_CONFERENCE_LT_ON 0x10E1
#define DST_FEATURE_LT_ON 0x1069
#define DST_ANSWER_LT_ON 0x10C1
#define DST_SPEAKER_LT_ON 0x1071
#define DST_MIC_LT_ON 0x1079
#define DST_SHIFT_BTN_PRS 0x1055
#define DST_CTRL_BTN_PRS 0x110e
#define DST_RELEASE_BTN_PRS 0x1012
#define DST_EXIT_BTN_PRS 0x101c
#define DST_MENU_BTN_PRS 0x1022
#define DST_PREVIOUS_BTN_PRS 0x1023
#define DST_NEXT_BTN_PRS 0x1024
#define DST_ABANDONED 0x103a
#define DST_FUNC_LT_ON DST_LT_ON
#define DST_FUNC_LT_OFF DST_LT_OFF
#define DST_FUNC_LT_FASTFLASHING DST_LT_FASTFLASHING
#define DST_FUNC_LT_FLASHING DST_LT_FLASHING
#define DST_FUNC_LT_VERY_FASTFLASHING DST_LT_VERY_FASTFLASHING
#define DST_FUNC_LT_QUICKFLASH DST_LT_QUICKFLASH
#define DST_DGT_RLS 0x1007
#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_SPEAKER_BTN_PRS 0x1016
#define DST_DISPLAY_TIMER 0x1029
#define DST_CFWD 0x102b
#define DST_CFWD_CANCELED 0x102c
#define DST_AUTO_ANSWER_CANCELED 0x102e
#define DST_AUTO_ANSWER 0x102d
#define DST_SET_BUSY 0x102f
#define DST_SET_BUSY_CANCELED 0x1030
#define DST_SPEAKER_BTN_RLS 0x1034
#define DST_DISPLAY_MSG 0x104b
//-----------------------------------------------------------------------
// 函数调用失败原因的常量定义,用于函数SsmGetLastErrCode()返回值
//-----------------------------------------------------------------------
enum{
C_ERROR_INIT_FAILURE =0,
C_ERROR_SSMAPI_UNOPENED =1,
C_ERROR_INVALID_APPCH =2,
C_ERROR_UNSUPPORTED_OP =3,
C_ERROR_INDEX_UNOPENED =4,
C_ERROR_INVALID_BUSCH =5,
C_ERROR_OP_UNOPENED =6,
C_ERROR_INVALID_FORMAT =7,
C_ERROR_INVALID_PARAMETER =8,
C_ERROR_FILEOP_FAILURE =9,
C_ERROR_MEMORY_FAILURE =10,
C_ERROR_RESOURCE_USEUP =11,
C_ERROR_SYSTEM =12,
C_ERROR_IdleChNotFound =13,
C_ERROR_OP_FAILURE =14,
C_ERROR_INVALID_APPSPYCIC =15,
C_ERROR_FAX_NOFILE =16,
};
//-----------------------------------------------------------------------
// 自动拨号任务失败的常量定义,用于函数SsmGetAutoDialFailureReason()返回值
//-----------------------------------------------------------------------
enum{
ATDL_NULL=0, // 没有呼出任务
ATDL_Cancel=1, // 应用程序主动取消
ATDL_WaitDialAnsTimeout=2, // 等待被叫应答超时
ATDL_WaitRemotePickupTimeout=3, // 等待被叫摘机超时
ATDL_PcmSyncLos=4, // PCM链路基本祯失步超过100ms
ATDL_Mtp3Unusable=10, // No.7信令:信令不可用
ATDL_RcvSSB=11, // No.7信令:收到SSB
ATDL_RcvSLB=12, // No.7信令:收到SLB
ATDL_RcvSTB=13, // No.7信令:收到STB
ATDL_RcvUNN=14, // No.7信令:收到UNN
ATDL_RcvSEC=15, // No.7信令:收到SEC
ATDL_RcvCGC=16, // No.7信令:收到CGC
ATDL_RcvNNC=17, // No.7信令:收到NNC
ATDL_RcvCFL=18, // No.7信令:收到CFL
ATDL_RcvLOS=19, // No.7信令:收到LOS
ATDL_RcvSST=20, // No.7信令:收到SST
ATDL_RcvACB=21, // No.7信令:收到ACB
ATDL_RcvDPN=22, // No.7信令:收到DPN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -