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

📄 csta.h

📁 csta协议的开发
💻 H
📖 第 1 页 / 共 2 页
字号:
/***********************************************************/
/* Copyright (C) 1993 AT&T Bell Labs.  All rights reserved.*/
/***********************************************************/
/*
 *  csta.h    CSTA Events Defines
 *
 *  Header File Dependencies
 *   	cstadefs.h, acs.h
 *
 */

#ifndef	CSTA_H
#define	CSTA_H

/* platform-dependent definitions */
#include "tsplatfm.h"

/* structure definitions for CSTA messages */
#include "cstadefs.h"

#include "AlcPriV2.h"
/* This is the version for the CSTA API that should be used in
 * the call to acsOpenStream().
 */
#define CSTA_API_VERSION        "TS2"	/* Current version number of CSTA API */


/* defines for CSTA event classes */

#define	CSTAREQUEST			3
#define	CSTAUNSOLICITED		4
#define	CSTACONFIRMATION	5
#define	CSTAEVENTREPORT		6


#define CSTA_MAX_GET_DEVICE	20	/* Maximum number of devices
								 * a CSTAGetDevice call can
								 * return 
								 */

typedef struct 
{
	InvokeID_t	invokeID;
	union 
	{
		CSTARouteRequestEvent_t		routeRequest;
		CSTARouteRequestExtEvent_t	routeRequestExt;
		CSTAReRouteRequest_t		reRouteRequest;
		CSTAEscapeSvcReqEvent_t		escapeSvcRequest;
		CSTAEscapeSvcReqEvent_t2	escapeSvcRequest2;
		CSTASysStatReqEvent_t		sysStatRequest;
	} u;
} CSTARequestEvent;

typedef struct
{
	union
	{
		CSTARouteRegisterAbortEvent_t   registerAbort;
		CSTARouteUsedEvent_t			routeUsed;
		CSTARouteUsedExtEvent_t			routeUsedExt;
		CSTARouteEndEvent_t				routeEnd;
		CSTAPrivateEvent_t				privateEvent;
		CSTASysStatEvent_t				sysStat;
		CSTASysStatEndedEvent_t			sysStatEnded;
	}u;
} CSTAEventReport;

typedef struct 
{
	CSTAMonitorCrossRefID_t		monitorCrossRefId;
	union 
	{
		CSTACallClearedEvent_t			callCleared;
		CSTAConferencedEvent_t			conferenced;
		CSTAConnectionClearedEvent_t	connectionCleared;
		CSTADeliveredEvent_t			delivered;
		CSTADeliveredEvent_t2			delivered2;
		CSTADivertedEvent_t				diverted;
		CSTAEstablishedEvent_t			established;
		CSTAEstablishedEvent_t2			established2;
		CSTAFailedEvent_t				failed;
		CSTAHeldEvent_t					held;
		CSTANetworkReachedEvent_t		networkReached;
		CSTAOriginatedEvent_t			originated;
		CSTAQueuedEvent_t				queued;
		CSTAQueuedEvent_t2				queued2;
		CSTARetrievedEvent_t			retrieved;
		CSTAServiceInitiatedEvent_t		serviceInitiated;
		CSTATransferredEvent_t			transferred;
		CSTACallInformationEvent_t		callInformation;
		CSTADoNotDisturbEvent_t			doNotDisturb;
		CSTAForwardingEvent_t			forwarding;
		CSTAMessageWaitingEvent_t		messageWaiting;
		CSTALoggedOnEvent_t				loggedOn;
		CSTALoggedOnEvent_t2			loggedOn2;
		CSTALoggedOffEvent_t			loggedOff;
		CSTALoggedOffEvent_t2			loggedOff2;
		CSTANotReadyEvent_t				notReady;
		CSTANotReadyEvent_t2			notReady2;
		CSTAReadyEvent_t				ready;
		CSTAReadyEvent_t2				ready2;
		CSTAWorkNotReadyEvent_t			workNotReady;
		CSTAWorkReadyEvent_t			workReady;
		CSTABackInServiceEvent_t		backInService;
		CSTAOutOfServiceEvent_t			outOfService;
		CSTAPrivateStatusEvent_t		privateStatus;
		CSTAMonitorEndedEvent_t  		monitorEnded;
		CSTARecordEvent_t				record;
		CSTAStopEvent_t					stop;

	} u;

} CSTAUnsolicitedEvent;

typedef struct 
{
	InvokeID_t	invokeID;
	union 
	{
		CSTAAlternateCallConfEvent_t		alternateCall;
		CSTAAnswerCallConfEvent_t			answerCall;
//Added for New Ecma2 services
		CSTAAssociateDataConfEvent_t        associateData;
//End added
		CSTACallCompletionConfEvent_t		callCompletion;
		CSTAClearCallConfEvent_t			clearCall;
		CSTAClearConnectionConfEvent_t    	clearConnection;
		CSTAConferenceCallConfEvent_t		conferenceCall;
		CSTAConsultationCallConfEvent_t		consultationCall;
		CSTADeflectCallConfEvent_t			deflectCall;
		CSTAParkCallConfEvent_t				parkCall;
		CSTAPickupCallConfEvent_t			pickupCall;
		CSTAGroupPickupCallConfEvent_t		groupPickupCall;
		CSTAHoldCallConfEvent_t				holdCall;
		CSTAMakeCallConfEvent_t				makeCall;
		CSTAMakePredictiveCallConfEvent_t 	makePredictiveCall;
		CSTAQueryMwiConfEvent_t				queryMwi;
		CSTAQueryDndConfEvent_t				queryDnd;
		CSTAQueryFwdConfEvent_t				queryFwd;
		CSTAQueryAgentStateConfEvent_t		queryAgentState;
		CSTAQueryLastNumberConfEvent_t		queryLastNumber;
		CSTAQueryDeviceInfoConfEvent_t		queryDeviceInfo;
		CSTAReconnectCallConfEvent_t		reconnectCall;
		CSTARetrieveCallConfEvent_t			retrieveCall;
		CSTASetMwiConfEvent_t				setMwi;
		CSTASetDndConfEvent_t				setDnd;
		CSTASetFwdConfEvent_t				setFwd;
		CSTASetAgentStateConfEvent_t		setAgentState;
		CSTATransferCallConfEvent_t			transferCall;
		CSTAUniversalFailureConfEvent_t		universalFailure;
		CSTAMonitorConfEvent_t				monitorStart;
		CSTAChangeMonitorFilterConfEvent_t	changeMonitorFilter;
		CSTAMonitorStopConfEvent_t			monitorStop;
		CSTASnapshotDeviceConfEvent_t		snapshotDevice;
		CSTASnapshotCallConfEvent_t			snapshotCall;
		CSTARouteRegisterReqConfEvent_t		routeRegister;
		CSTARouteRegisterCancelConfEvent_t	routeCancel;
		CSTAEscapeSvcConfEvent_t			escapeService;
		CSTAivrConfEvent_t					ivrStatus;
		CSTASysStatReqConfEvent_t			sysStatReq;
		CSTASysStatStartConfEvent_t			sysStatStart;
		CSTASysStatStopConfEvent_t			sysStatStop;
		CSTAChangeSysStatFilterConfEvent_t	changeSysStatFilter;
		CSTAGetAPICapsConfEvent_t			getAPICaps;
		CSTAGetDeviceListConfEvent_t		getDeviceList;
		CSTAQueryCallMonitorConfEvent_t		queryCallMonitor;
		// Added for New Ecma2 services
		CSTASingleStepConfConfEvent_t		singleStepConf;
		CSTASendDTMFTonesConfEvent_t		sendDTMFTones;
		CSTARecordMessageConfEvent_t		recordMessage;
		CSTAStopCallConfEvent_t				stop;
		// End Added		
	} u;
} CSTAConfirmationEvent;

#define CSTA_MAX_HEAP	1024


typedef struct 
{
	ACSEventHeader_t	eventHeader;
	union 
	{
		ACSUnsolicitedEvent		acsUnsolicited;
		ACSConfirmationEvent	acsConfirmation;
		CSTARequestEvent		cstaRequest;
		CSTAUnsolicitedEvent	cstaUnsolicited;
		CSTAConfirmationEvent	cstaConfirmation;
		CSTAEventReport			cstaEventReport;
	} event;
	char	heap[CSTA_MAX_HEAP];
} CSTAEvent_t;


/* function prototypes */

#ifdef __cplusplus
extern "C"
{
#endif  

/* Basic Call Control Services */

TSAPI
cstaAlternateCall (	ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					ConnectionID_t	FAR	*activeCall,
					ConnectionID_t	FAR	*otherCall,
					PrivateData_t	FAR	*privateData);


TSAPI
cstaAnswerCall (ACSHandle_t			acsHandle,
				InvokeID_t			invokeID,
				ConnectionID_t	FAR	*alertingCall,
				PrivateData_t	FAR	*privateData);


TSAPI
cstaCallCompletion (ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					Feature_t			feature,
					ConnectionID_t	FAR	*call,
					PrivateData_t	FAR	*privateData);


TSAPI
cstaClearCall (	ACSHandle_t			acsHandle,
				InvokeID_t			invokeID,
				ConnectionID_t	FAR	*call,
				PrivateData_t	FAR	*privateData);


TSAPI
cstaClearConnection (	ACSHandle_t			acsHandle,
						InvokeID_t			invokeID,
						ConnectionID_t	FAR	*call,
						PrivateData_t	FAR	*privateData);
// Added for new Ecma2 services
TSAPI
cstaClearConnection2 (	ACSHandle_t			acsHandle,
						InvokeID_t			invokeID,
						ConnectionID_t	FAR	*call,
						PrivateData_t	FAR	*privateData);
// End added
TSAPI
cstaConferenceCall (ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					ConnectionID_t	FAR	*heldCall,
					ConnectionID_t	FAR	*activeCall,
					PrivateData_t	FAR	*privateData);


TSAPI
cstaConsultationCall (	ACSHandle_t			acsHandle,
						InvokeID_t			invokeID,
						ConnectionID_t	FAR	*activeCall,
						DeviceID_t		FAR	*calledDevice,
						PrivateData_t	FAR	*privateData);

TSAPI
cstaConsultationCall2 (	ACSHandle_t			acsHandle,
						InvokeID_t			invokeID,
						ConnectionID_t	FAR	*activeCall,
					    CalledDeviceID_t FAR *consultedDevice,
						DeviceProfile_t	 FAR *deviceProfile,
						AccountInfo_t	 FAR *accountCode,
						AuthCode_t		 FAR *authCode,
						CorrelatorData_t FAR *correlatorData,
						PrivateData_t	FAR	*privateData);


TSAPI
cstaDeflectCall (	ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					ConnectionID_t	FAR	*deflectCall,
					DeviceID_t		FAR	*calledDevice,
					PrivateData_t	FAR	*privateData);
TSAPI
cstaDeflectCall2 (	ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					ConnectionID_t	FAR	*deflectCall,
					DeviceID_t		FAR	*calledDevice,
					PrivateData_t	FAR	*privateData);

TSAPI 
cstaParkCall (	ACSHandle_t			acsHandle,
				InvokeID_t			invokeID,
				ConnectionID_t	FAR	*callToPark,
				SubjectDeviceID_t FAR	*parkToDevice,
				DeviceProfile_t	FAR *	parkTodeviceProfile,
				CorrelatorData_t FAR *correlatorData,
				PrivateData_t	FAR	*privateData);

TSAPI
cstaGroupPickupCall (	ACSHandle_t			acsHandle,
						InvokeID_t			invokeID,
						ConnectionID_t	FAR	*deflectCall,
						DeviceID_t		FAR	*pickupDevice,
						PrivateData_t	FAR	*privateData);


TSAPI
cstaHoldCall (	ACSHandle_t			acsHandle,
				InvokeID_t			invokeID,
				ConnectionID_t	FAR	*activeCall,
				Boolean				reservation,
				PrivateData_t	FAR	*privateData);


TSAPI
cstaMakeCall (	ACSHandle_t			acsHandle,
				InvokeID_t			invokeID,
				DeviceID_t		FAR	*callingDevice,
				DeviceID_t		FAR	*calledDevice,
				PrivateData_t	FAR	*privateData);
// Added 19 May 98 for Auto originate in private data
TSAPI
cstaMakeCall2 (	ACSHandle_t			acsHandle,
				InvokeID_t			invokeID,
				DeviceID_t		FAR	*callingDevice,
				DeviceID_t		FAR	*calledDevice,
				CorrelatorData_t FAR *correlatorData,
				PrivateData_t	FAR	*privateData);
// End added

TSAPI
cstaMakePredictiveCall (ACSHandle_t				acsHandle,
						InvokeID_t				invokeID,
						DeviceID_t			FAR	*callingDevice,
						DeviceID_t			FAR	*calledDevice,
						AllocationState_t		allocationState,
						PrivateData_t		FAR	*privateData);


TSAPI
cstaPickupCall (	ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					ConnectionID_t	FAR	*deflectCall,
					DeviceID_t		FAR	*calledDevice,
					PrivateData_t	FAR	*privateData);


TSAPI
cstaReconnectCall (	ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,
					ConnectionID_t	FAR	*activeCall,
					ConnectionID_t	FAR	*heldCall,
					PrivateData_t	FAR	*privateData);


TSAPI
cstaRetrieveCall (	ACSHandle_t			acsHandle,
					InvokeID_t			invokeID,

⌨️ 快捷键说明

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