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

📄 shpa3api.cs

📁 三汇模拟语音卡
💻 CS
📖 第 1 页 / 共 5 页
字号:
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using System.Text;

namespace shpa3api
{
	/// <summary>
	/// SsmApi的摘要说明。
	/// </summary>
	//-----------------------------------------------------------------------
	// definition of channel type, which can be retrieved by invoking
	// function "SsmGetFlag()" and set by invoking "SsmSetFlag()"
	//-----------------------------------------------------------------------
	public enum ChFlag
	{
		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()"
	//-----------------------------------------------------------------------
	public enum BlockReason
	{
		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()"
	//-----------------------------------------------------------------------
	public enum RemoteBlockStatus
	{
		BLOCKREMOTE_Unblocked = 0,	// no block-signal is issued
		BLOCKREMOTE_Blocked = 1,	// is in blocked state now
		BLOCKREMOTE_WaitBlockAck = 2,	// waiting for acknowledgement signal after sending block-signal
		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()"
	//-----------------------------------------------------------------------
	public enum LocalBlockStatus
	{
		BLOCK_AppBlockCic = 1,	// channel is blocked by invoking SsmBlockLocalCh()
		BLOCK_TupRcvBLO = 2,	// channel is blocked by received BLO
		BLOCK_TupRcvSGB = 4,	// channel is blocked by received SGB
		BLOCK_TupRcvHGB = 8,	// channel is blocked by received HGB
		BLOCK_TupRcvMGB = 16,	// channel is blocked by received MGB
		BLOCK_AppBlockPCM = 32,	// channel is blocked by invoking SsmBlockLocalPCM()
	}

	//-----------------------------------------------------------------------
	// Definition of channel unavailable reason
	//-----------------------------------------------------------------------
	public enum ReasonUnavailable
	{
		UNAVAILABLE_PcmSyncLos	= 1,	
		UNAVAILABLE_Mtp3Unusuable = 2,
	}
	//-----------------------------------------------------------------------
	// 函数调用失败原因的常量定义,用于函数SsmGetLastErrCode()返回值
	//-----------------------------------------------------------------------
	public enum ErrorReason
	{
		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()返回值
	//-----------------------------------------------------------------------
	public enum AutoDialFailureReason
	{
		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()的返回值
	//-----------------------------------------------------------------------
	public enum CheckAutoDial
	{
		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,	// 空号,自动拨号结束

⌨️ 快捷键说明

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