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

📄 shpa3api.pas

📁 三汇CTI示例程序源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  S_ISUP_WaitReset              = 122;
  S_ISUP_LocallyBlocked         = 123;
  S_ISUP_RemotelyBlocked        = 124;
  S_ISUP_WaitDialAnswer         = 125;
  S_ISUP_WaitINF                = 126;
  S_ISUP_WaitSetCallerID        = 127;
  S_DTRC_ACTIVE                 = 128;

  S_ISUP_Suspend                = 129;


  ////
  E_PROC_Recognize = 0; //0x0000	

  //ISDN
  E_CHG_ISDNStatus = 1;	//0x0001	

  //ss7
  E_RCV_Ss7Msu = 2; //0x0002	
  E_CHG_Mtp3State = 3; //0x0003	

  //fax
  E_CHG_FaxChState = 4; //0x0004	
  E_CHG_FaxPages = 5; //0x0005	
  E_PROC_FaxEnd = 6; //0x0006	

  E_CHG_PcmLinkStatus = 7; //0x0007	

  //recorder channel
  E_CHG_LineVoltage = 8;	//0x0008	


  //ss1
  E_RCV_CAS = 9;		//0x0009	
  E_RCV_R2 = 10;		//0x000A	


  //DTMF receiving
  E_PROC_WaitDTMF = 11;	//0x000B	
  E_CHG_RcvDTMF = 12;		//0x000C

  //DTMF sending
  E_PROC_SendDTMF = 13;	//0x000D	


  //
  E_PROC_SendFlash = 14;	//0x000E	


  //play
  E_PROC_PlayEnd = 15;		//0x000F	
  E_PROC_PlayFile = 16;	//0x0010	
  E_PROC_PlayFileList = 17;//0x0011	


  E_PROC_PlayMem = 18;		//0x0012	

  //record
  E_PROC_RecordEnd = 19;	//0x0013	
  E_PROC_RecordFile = 20;	//0x0014	
  E_PROC_RecordMem = 21;	//0x0015	


  //FSK sending
  E_PROC_SendFSK = 22;		//0x0016	

  //FSK receiving
  E_PROC_RcvFSK = 23;		//0x0017	


  //
  E_CHG_ChState = 24;		//0x0018	
  E_PROC_AutoDial = 25;	//0x0019	
  E_CHG_RemoteChBlock = 26;//0x001A
  E_CHG_RemotePCMBlock = 27;//0x001B
  E_SYS_ActualPickup = 28;	//0x001C	
  E_CHG_RingFlag = 29;		//0x001D	
  E_CHG_RingCount = 30;	//0x001E	
  E_CHG_CIDExBuf = 31;		//0x001F	
  E_CHG_RxPhoNumBuf = 32;	//0x0020	
  E_CHG_PolarRvrsCount = 33;//0x0021	
  E_SYS_RemotePickup = 34;	//0x0022	

  //station channel
  E_CHG_FlashCount = 35;	//0x0023	
  E_CHG_HookState = 36;	//0x0024	

  //tone analysis
  E_CHG_ToneAnalyze = 37;	//0x0025	
  E_OverallEnergy = 38;	//0x0026
  E_CHG_OvrlEnrgLevel = 39;//0x0027	
  E_CHG_BusyTone = 40;		//0x0028	
  E_CHG_BusyToneEx = 41;	//0x0029	
  E_CHG_VocFxFlag = 42;	//0x002A	
  E_CHG_ToneValue = 43;	//0x002B	
  E_CHG_RingEchoToneTime = 44;	//0x002C
  E_CHG_PeakFrq = 45;		//0x002D	
  E_SYS_BargeIn = 46;		//0x002E	
  E_SYS_NoSound = 47;		//0x002F	

  //timer
  E_SYS_TIMEOUT = 48;		//0x0030	

  //
  E_CHG_SpyState = 49;		//0x0031
  E_CHG_SpyLinkStatus = 50;//0x0032	


  E_RCV_DTR_AUDIO = 51;	//0x0033	
  E_RCV_DTR_HOOK = 52;		//0x0034	
  E_RCV_DTR_LAMP = 53;		//0x0035	
  E_RCV_DTR_FKEY = 54;		//0x0036	
  E_RCV_DTR_DKEY = 55;		//0x0037	
  E_RCV_DTR_VOX = 56;		//0x0038	
  E_RCV_DTR_DISPLAY = 57;	//0x0039	
  E_RCV_DTR_DIRECTION = 58;//0x003a	
 
  E_RCV_DTR_RING = 59;		//0x003b	


//enum{
{  ANALOG_CH = 0;
  INTER_CH  = 1;
  USER_CH   = 2;
  REC_CH    = 3;
  SS1_CH    = 4;
  FAX_CH    = 5;}
//};

//pending reason
//enum{
{  ANALOGOUT_NO_DIALTONE=0;
  ANALOGOUT_BUSYTONE=1;
  ANALOGOUT_ECHO_NOVOICE=2;
  ANALOGOUT_NOANSWER=3;
  ANALOGOUT_TALKING_REMOTE_HANGUPED=4;

  SS1IN_WAIT_SET_KB=10;
  SS1IN_BWD_KB5=11;
  SS1IN_TALKING_REMOTE_HANGUPED=12;			


  SS1OUT_TALKING_REMOTE_HANGUPED=20;			
  SS1OUT_NOANSWER=21;					
  SS1OUT_NOBWDACK=22;					
  SS1OUT_DIALING_BWD_HANGUP=23;				
  SS1OUT_BWD_A5=24;						
  SS1OUT_BWD_KB5=25;						
  SS1OUT_BWD_KB2=26;						
  SS1OUT_BWD_KB3=27;						
  SS1OUT_BWD_A4=28;						
  SS1OUT_BWD_KB4=29;							
  SS1OUT_TIMEOUT_BWD_A=30;				
  SS1OUT_TIMEOUT_BWD_A_STOP=31;			
  SS1OUT_TIMEOUT_BWD_KB=32;					
  SS1OUT_TIMEOUT_BWD_KB_STOP=33;			
  SS1OUT_TIMEOUT_CALLERID_BWD_A1=34;		
  SS1OUT_TIMEOUT_CALLERID_BWD_A1_STOP=35;	
  SS1OUT_UNDEFINED_CALLERID_BWD_A=36;		
  SS1OUT_UNDEFINED_BWD_A=37;					
  SS1OUT_UNDEFINED_BWD_KB=38;}			
//};

//enum{
{  S_CALL_STANDBY=0;
  S_CALL_PICKUPED=1;
  S_CALL_RINGING=2;
  S_CALL_TALKING=3;
  S_CALL_ANALOG_WAITDIALTONE=4;
  S_CALL_ANALOG_TXPHONUM=5;
  S_CALL_ANALOG_WAITDIALRESULT=6;
  S_CALL_PENDING=7;
  S_CALL_OFFLINE=8;

  S_CALL_WAIT_REMOTE_PICKUP=9;
  S_CALL_ANALOG_CLEAR=10;

  S_CALL_SS1_BLOCK=20;
  S_CALL_SS1_SAYIDLE=21;

  S_CALL_SS1IN_WAIT_PHONUM=30;
  S_CALL_SS1IN_WAIT_FWDSTOP=31;
  S_CALL_SS1IN_WAIT_CALLERID=32;
  S_CALL_SS1IN_WAIT_KD=33;
  S_CALL_SS1IN_WAIT_KDSTOP=34;

  S_CALL_SS1OUT_WAITBWDACK=40;
  S_CALL_SS1OUT_TXPHONENUM=41;
  S_CALL_SS1OUT_WAIT_PHONUM=42;
  S_CALL_SS1OUT_TXCALLERID=43;
  S_CALL_SS1OUT_WAIT_KB=44;}
//};

//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;
  DIAL_VOICEF2=9;
  DIAL_NOANSWER=10;
  DIAL_FAILURE=11;
  DIAL_INVALID_PHONUM=12;}
//};

type
  //
  PFAX_FILE_SCT = ^FAX_FILE_SCT;
  FAX_FILE_SCT = record
    szFileName: PChar;
    nStartPage: Integer;
    nEndPage: Integer;
    nReserve1: Integer;
    nReserve2: Integer;
  end;

  PEVENT_SET_INFO = ^EVENT_SET_INFO;
  EVENT_SET_INFO = record
    dwWorkMode: DWORD;
    lpHandlerParam: Pointer;
    dwOutCondition: DWORD;
    dwOutParamVal: DWORD;
    dwUser: DWORD;
  end;

  PMESSAGE_INFO = ^MESSAGE_INFO;
  MESSAGE_INFO = record
    wEventCode: WORD;
    nReference: Integer;
    dwParam:DWORD;
  end;

  RXDTMFHANDLER = procedure(ch:Integer; cDtmf:Char; nDTStatus:Integer; pV:Pointer); stdcall;
  PLAYMEMBLOCKHANDLER = function(ch:Integer; nEndReason:Integer; pucBuf:PByte; dwStopOffSet:DWORD; pV:Pointer):Boolean; stdcall;
  LPRECTOMEM = procedure(ch:Integer; lpData:PByte; dwDataLen:DWORD); stdcall;
  RECORDMEMBLOCKHANDLER = function(ch:Integer; nEndReason:Integer; pucBuf:PByte; dwStopOffSet:DWORD; pV:Pointer):Boolean; stdcall;
  //LPFNEVENTCALLBACK = function(wEvent:WORD; nReference:Integer; dwParam:DWORD; dwUser:DWORD):Integer; stdcall;

//
function SsmStartCti(lpSsmCfgFileName:PChar; lpIndexCfgFileName:PChar):Integer; stdcall;
function SsmCloseCti():Integer; stdcall;

function SsmGetLastErrCode():Integer; stdcall;
procedure SsmGetLastErrMsg(szErrMsgBuf:PChar); stdcall;
function SsmGetLastErrMsgA():PChar; stdcall; external 'SHP_A3.dll';

⌨️ 快捷键说明

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