?? 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 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, //被叫號碼攔截標記
// Added by xxb for 模擬電話線被叫摘機檢測新算法,2003.2.27
F_RELATIVEENGYHOOKDETECT=4, //是否啟用模擬電話線被叫摘機檢測新算法
//Added by xxb,for 一號信令R2濾波點數不可調,2003.3.7
F_RXR2FILTERTIME=5, //R2接收濾波時間
F_RECTOFILEA_CALLBACKTIME = 6, //Appended by xxb, for SsmRecToFileA回調時間可調, 2003.06.24
F_CALLERIDSTYLE=7,
F_InVoiceToBus=8, //Added by xxb,for 來話上總線 DTMF切音,2004.04.19
F_ClearInVoiceOnRcvDtmf=9, //Added by xxb,for 來話上總線 DTMF切音,2004.04.19
F_MixerResToBus=10, //added by xxb,for 混音源上總線,2004.06.02
F_HighAndLowFreqEnScale=11, //appended by cqb for 過濾語音中誤判的DTMF , 2004.11.01
F_DualAndAllFreqEnScale=12, //appended by cqb for 過濾語音中誤判的DTMF , 2004.11.01
F_EchoCancelInFsk=13, //設置Fsk收發過程中的回波開關
F_ChToRingingOnRingCnt=14 //added by cxq for 廣州同方振鈴計數閥值, 2005.10.08
};
//-----------------------------------------------------------------------
// 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
//-----------------------------------------------------------------------
// 函數調用失敗原因的常量定義,用于函數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, // appended by cxg for SS7,10.22,2001
C_ERROR_OP_FAILURE =14, //appended by xxb, for 停錄放音會出現句柄無效,2003.7.18
C_ERROR_INVALID_APPSPYCIC =15,
//+++start+++ fax error code
C_ERROR_FAX_NOFILE =16,
//+++end+++ fax error code
};
//-----------------------------------------------------------------------
// 自動撥號任務失敗的常量定義,用于函數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
ATDL_RcvEUM=23, // No.7信令:收到EUM
ATDL_RcvADI=24, // No.7信令:收到ADI
ATDL_RcvBLO=25, // No.7信令:收到BLO
ATDL_DoubleOccupy=26, // No.7信令:檢出同搶
ATDL_CircuitReset=27, // No.7信令:收到電路/群復原信號
ATDL_BlockedByRemote=28, // No.7信令:電路被對端交換機閉塞
ATDL_SS1WaitOccupyAckTimeout=40, // No.1信令:等待占用應答信號超時
ATDL_SS1RcvCAS_HANGUP=41, // No.1信令:收到后向拆線信號
ATDL_SS1RcvA4=42, // No.1信令:收到A4信號(機鍵擁塞)
ATDL_SS1RcvA5=43, // No.1信令:收到A5信號(空號)
ATDL_SS1RcvUndefinedAx=44, // No.1信令:收到未定義的后向A組信號
ATDL_SS1RcvUndefinedAxOnTxCallerId=45, // No.1信令:送主叫時收到未定義的后向A組信號
ATDL_SS1WaitAxTimeout=46, // No.1信令:等候接收后向A組信號超時
ATDL_SS1WaitAxStopTimeout=47, // No.1信令:等候后向A組信號停發超時
ATDL_SS1WaitAxTimeoutOnTxCallerId=48, // No.1信令:送主叫時等候后向A組信號超時
ATDL_SS1WaitAxStopTimeoutOnTxCallerId=49, // No.1信令:送主叫時等候后向A組信號停發超時
ATDL_SS1RcvKB2=50, // No.1信令:收到KB2信號(用戶“市忙”)
ATDL_SS1RcvKB3=51, // No.1信令:收到KB3信號(用戶“長忙”)
ATDL_SS1RcvKB4=52, // No.1信令:收到KB4信號(機鍵擁塞)
ATDL_SS1RcvKB5=53, // No.1信令:收到KB5信號(空號)
ATDL_SS1RcvUndefinedKB=54, // No.1信令:收到未定義的KB信號
ATDL_SS1WaitKBTimeout=55, // No.1信令:接收后向KB信號超時
ATDL_SS1WaitKBStopTimeout=56, // No.1信令:等候被叫方停發后向KB信號超時
ATDL_ISDNNETISBUS = 60, //ISDN:網絡忙
ATDL_ISDNEMPTYNO = 61, //ISDN:所撥的是空號.
ATDL_IllegalMessage = 65, //SS7:非法消息
ATDL_RcvREL = 66, //ISUP:收到釋放消息
ATDL_RcvCBK = 67, //TUP: Rcv CBK Dial Failure
};
//-----------------------------------------------------------------------
// 自動撥號任務執行情況的常量定義,函數SsmChkAutoDial()的返回值
//-----------------------------------------------------------------------
enum{
DIAL_STANDBY = 0, // 沒有自動撥號任務
DIAL_DIALING = 1, // 正在自動撥號
DIAL_ECHOTONE = 2, // 發送完被叫號碼后檢測到了回鈴音
DIAL_NO_DIALTONE = 3, // 沒有撥號音,自動撥號失敗。
DIAL_BUSYTONE = 4, // 被叫用戶忙,自動撥號結束
DIAL_ECHO_NOVOICE = 5, // 模擬外線通道撥號結束并收到回鈴音后出現無聲,自動撥號結束
DIAL_NOVOICE = 6, // 模擬外線通道撥號結束后在指定時間內沒有檢測到任何聲音,自動撥號結束
DIAL_VOICE = 7, // 被叫用戶摘機,自動撥號結束
DIAL_VOICEF1 = 8, // 被叫用戶摘機且收到頻率F1的聲音(模擬外線通道),自動撥號結束
DIAL_VOICEF2 = 9, // 被叫用戶摘機且收到頻率F2的聲音(模擬外線通道),自動撥號結束
DIAL_NOANSWER = 10, // 無人接聽,自動撥號失敗
DIAL_FAILURE = 11, // 自動撥號失敗
DIAL_INVALID_PHONUM = 12, // 空號,自動撥號結束
};
//-----------------------------------------------------------------------
// 通道掛起原因常量定義,函數SsmGetPendingReason()的返回值
//-----------------------------------------------------------------------
enum{
ANALOGOUT_NO_DIALTONE=0, // 模擬通道:自動撥號時沒有檢測到撥號音,自動撥號失敗。
ANALOGOUT_BUSYTONE=1, // 模擬通道:自動撥號結束后檢測到撥號音,自動撥號失敗。
ANALOGOUT_ECHO_NOVOICE=2, // 模擬通道:自動撥號結束后并檢測到回鈴后出現無。
ANALOGOUT_NOANSWER=3, // 模擬通道:自動撥號結束后檢測到回鈴信號但在指定的時間內沒有應答。
ANALOGOUT_TALKING_REMOTE_HANGUPED=4, // 模擬通道:在"通話"狀態時檢測對方掛機
ANALOGOUT_NOVOICE=5, // 模擬通道:自動撥號結束后檢測到線路上出現無聲
PEND_WaitBckStpMsg=10, // 數字中繼通道:等待應用程序設置被叫用戶狀態
SS1IN_BWD_KB5=11, // No.1信令通道:等待主叫拆線
PEND_RemoteHangupOnTalking=12, // 數字中繼通道:自動呼入進入通話后檢測到主叫用戶先掛機
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -