www.pudn.com > lucent_softphone.rar > tlibrary.h


/*  
 * $Id: tlibrary.h,v 2.38 1999/09/15 19:50:40 epi Exp $ 
 */ 
 
#ifndef _TLIBRARY_H 
#define _TLIBRARY_H 
 
#ifdef BACKUP_SYNC 
#ifndef WIN32 
#include  
#include  
#include  
#ifdef _AIX 
#include  
#endif 
#else 
#include  
#include  
#include  
#include  
#endif 
#endif 
 
#include "cmntypes.h" 
#include "gkvlist.h" 
 
#define T_PROTOCOL_VERSION "tserver protocol 4.2" 
 
#define T_MASK_LENGTH 64 
 
#define ISCC_TRACKING_NUMBER "_ISCC_TRACKING_NUMBER_"   
 
typedef int TServer; 
typedef char *TDirectoryNumber; 
typedef char *TAgentID; 
typedef char *TAgentPassword; 
typedef unsigned long TCallID; 
typedef unsigned long TFile; 
typedef unsigned long TTime; 
typedef unsigned char TMask[T_MASK_LENGTH]; 
typedef unsigned int TReferenceID; 
 
typedef enum { 
  SyncMode, 
  AsyncMode 
} TOpenMode; 
 
typedef enum { 
  RoleUnknown, 
  RoleOrigination, 
  RoleDestination, 
  RoleConferenceMember, 
  RoleNewParty, 
  RoleAddedBy, 
  RoleDeletedBy, 
  RoleTransferredBy, 
  RoleDeletedParty, 
  RoleConferencedBy, 
  RoleObserver 
} TDNRole; 
 
typedef enum { 
  CallStateOk, 
  CallStateTransferred, 
  CallStateConferenced, 
  CallStateGeneralError, 
  CallStateSystemError, 
  CallStateRemoteRelease, 
  CallStateBusy, 
  CallStateNoAnswer, 
  CallStateSitDetected, 
  CallStateAnsweringMachineDetected, 
  CallStateAllTrunksBusy, 
  CallStateSitInvalidnum, 
  CallStateSitVacant, 
  CallStateSitIntercept, 
  CallStateSitUnknown, 
  CallStateSitNocircuit, 
  CallStateSitReorder, 
  CallStateFaxDetected, 
  CallStateQueueFull, 
  CallStateCleared, 
  CallStateOverflowed, 
  CallStateAbandoned, 
  CallStateRedirected, 
  CallStateForwarded, 
  CallStateConsult, 
  CallStatePickedup, 
  CallStateDropped, 
  CallStateDroppednoanswer, 
  CallStateUnknown, 
  CallStateCovered, /* 5/5/98 */ 
  CallStateConverseOn, 
  CallStateBridged, 
 
  CallStateDeafened = 49, /* added 9/15/99 by epi */ 
  CallStateHeld     = 50  /* (see common/gcti.h)  */ 
 
} TCallState; 
 
typedef enum { 
  AddressTypeUnknown, 
  AddressTypeDN, 
  AddressTypePosition, 
  AddressTypeQueue, 
  AddressTypeRouteDN, 
  AddressTypeTrunk, 
  AddressTypeVoiceChannel, 
  AddressTypeDataChannel, 
  AddressTypeAnnouncement, 
  AddressTypeASAI, 
  AddressTypeACDGroup, 
  AddressTypeVSP, 
  AddressTypeRouteQueue, /* RouteDN + Queue    */ 
  AddressTypeAgentID,    /* not a real address */ 
  AddressTypeOther = 99  /* other/unspecified  */ 
} TAddressType; 
 
typedef enum { 
  ModeShare, 
  ModePrivate, 
  ModeMonitor 
} TRegisterMode; 
 
typedef enum { 
  RegisterDefault, 
  RegisterForce, 
  RegisterLocal 
} TControlMode; 
 
typedef enum { 
  CallTypeUnknown, 
  CallTypeInternal, 
  CallTypeInbound, 
  CallTypeOutbound, 
  CallTypeConsult 
} TCallType; 
 
typedef enum { 
  AgentWorkModeUnknown, 
  AgentManualIn, 
  AgentAutoIn, 
  AgentAfterCallWork, 
  AgentAuxWork, 
  AgentNoCallDisconnect 
} TAgentWorkMode; 
 
enum _TRouteType { 
  RouteTypeUnknown, 
  RouteTypeDefault, 
  RouteTypeLabel, 
  RouteTypeOverwriteDNIS, 
  RouteTypeDDD, 
  RouteTypeIDDD, 
  RouteTypeDirect, 
  RouteTypeReject, 
  RouteTypeAnnouncement, 
  RouteTypePostFeature, 
  RouteTypeDirectAgent, 
  RouteTypePriority, 
  RouteTypeDirectPriority, 
 
  RouteTypeAgentID, /* OtherDN = AgentID; added 8/10/99 */ 
 
  RouteTypeIDMAX 
}; 
typedef enum _TRouteType TRouteType; 
 
typedef enum { 
  XRouteTypeRoute, 
  XRouteTypeDirect, 
  XRouteTypeDirectWToken 
} TXRouteType; 
 
typedef enum { 
  MakeCallRegular, 
  MakeCallDirectAgent, 
  MakeCallSupervisorAssist, 
  MakeCallPriority, 
  MakeCallDirectPriority 
} TMakeCallType; 
 
typedef enum { 
  AddressStatusIdle, 
  AddressStatusOrigination, 
  AddressStatusDialing, 
  AddressStatusTalking, 
  AddressStatusRinging, 
  AddressStatusHeld, 
  AddressStatusTreatment, 
  AddressStatusLockedOut, 
  AddressStatusMaintenance, 
  AddressStatusAvailable, 
  AddressStatusVacant 
} AddressStatusInfoType; 
 
typedef enum { 
  MsgWaitingActivated, 
  MsgWaitingDeactivated, 
  ExecMsgWaitingActivated, 
  ExecMsgWaitingDeactivated, 
  MsgWaitingNotAllowed 
} MsgWaitingInfoType; 
 
typedef enum { 
  ForwardModeNone, 
  ForwardModeUnconditional, 
  ForwardModeOnBusy, 
  ForwardModeOnNoAnswer, 
  ForwardModeOnBusyAndNoAnswer, 
  ForwardModeSendAllCalls 
} TForwardMode; 
 
typedef enum { 
  AssociatedToThisSession, 
  AssociatedToAnotherSession, 
  NotAssociated, 
  AssociationNotAllowed 
} AssociationInfoType; 
 
typedef enum { 
  AddressInfoAddressStatus, 
  AddressInfoMessageWaitingStatus, 
  AddressInfoAssociationStatus, 
  AddressInfoCallForwardingStatus, 
  AddressInfoAgentStatus, 
  AddressInfoNumberOfAgentsInQueue, 
  AddressInfoNumberOfAvailableAgentsInQueue, 
  AddressInfoNumberOfCallsInQueue, 
  AddressInfoAddressType, 
  AddressInfoCallsQuery, 
  AddressInfoSendAllCallsStatus, 
  AddressInfoQueueLoginAudit, 
  AddressInfoNumberOfIdleClassifiers,  /* obsolete, use TSwitchQuery instead */ 
  AddressInfoNumberOfClassifiersInUse, /* obsolete, use TSwitchQuery instead */ 
  AddressInfoNumberOfIdleTrunks, 
  AddressInfoNumberOfTrunksInUse, 
  AddressInfoDatabaseValue, 
  AddressInfoDNStatus, 
  AddressInfoQueueStatus 
} TAddressInfoType; 
 
typedef enum { 
  CallInfoPartiesQuery, 
  CallInfoStatusQuery 
} TCallInfoType; 
 
typedef enum { 
  SwitchInfoDateTime       = 1, 
  SwitchInfoClassifierStat = 2 
} TSwitchInfoType; 
 
 
typedef enum { 
  LocationInfoAllLocations, 
  LocationInfoLocationData, 
  LocationInfoMonitorLocation, 
  LocationInfoCancelMonitorLocation, 
  LocationInfoMonitorAllLocations, 
  LocationInfoCancellMonitorAllLocations, 
  LocationInfoLocationMonitorCanceled, 
  LocationInfoAllLocationsMonitorCanceled 
} TLocationInfoType; 
 
 
typedef union { 
  AssociationInfoType AssociationStatus; 
  AddressStatusInfoType AddressStatus; 
  MsgWaitingInfoType MsgWaitingStatus; 
  TForwardMode CallForwardingStatus; 
  TAgentWorkMode AgentStatus; 
  int NumberOfAgentsInQueue; 
  int NumberOfAvailableAgentsInQueue; 
  int NumberOfCallsInQueue; 
  TAddressType AddressType; 
  TForwardMode SendAllCallsStatus; 
  int NumberOfIdleClassifiers;  /* obsolete */ 
  int NumberOfClassifiersInUse; /* obsolete */ 
  int NumberOfIdleTrunks; 
  int NumberOfTrunksInUse; 
  int NumberOfListElements; /* value passed in AttributeExtensions */ 
} TAddressInfoStatus; 
 
typedef enum { 
  ServerRolePrimary, 
  ServerRoleBackup 
} TServerRole; 
 
typedef enum { 
  MergeForTransfer, 
  MergeForConference 
} TMergeType; 
 
typedef enum { 
  AgentTypeAgent, 
  AgentTypeSupervisor 
} TAgentType; 
 
typedef enum { 
  Uninterruptable = 1, 
  Interruptable = 2 
} TInterruptFlag; 
 
typedef enum { 
  Clear = 1, 
  NotClear = 2 
} TClearFlag; 
 
typedef struct { 
  char 	*HomeLocation; 
  TDirectoryNumber OrigDN; 
} TRemoteParty; 
 
typedef struct { 
  TRemoteParty FirstTransfer; 
  TRemoteParty LastTransfer; 
} TCallHistoryInfo; 
 
typedef enum { 
  CreateCallInfo, 
  SetCallInfo, 
  DeleteCallInfo, 
  AddParty, 
  DeleteParty, 
  CallInfoUpdate 
} TSetOpType; 
 
typedef struct { 
  unsigned long seconds; 
  unsigned long useconds; 
} TTimeStamp; 
 
enum _TTreatmentType { 
  TreatmentUnknown, 
  TreatmentIVR, 
  TreatmentMusic, 
  TreatmentRingBack, 
  TreatmentSilence, 
  TreatmentBusy, 
  TreatmentCollectDigits, 
  TreatmentPlayAnnouncement, 
  TreatmentPlayAnnouncementAndDigits, 
  TreatmentVerifyDigits, 
  TreatmentRecordUserAnnouncement, 
  TreatmentDeleteUserAnnouncement, 
  TreatmentCancelCall, 
  TreatmentPlayApplication, 
  TreatmentSetDefaultRoute, 
  TreatmentTextToSpeech, 
  TreatmentTextToSpeechAndDigits, 
 
  TreatmentFastBusy, /* added for DMS-100 */ 
  TreatmentRAN,      /* Sep 21, 1998      */ 
 
  TreatmentIDMAX 
}; 
 
typedef enum _TTreatmentType TTreatmentType; 
 
enum TMessageType { 
  RequestRegisterClient, 
  RequestQueryServer, 
  RequestQueryAddress, 
  RequestRegisterAddress, 
  RequestUnregisterAddress, 
  RequestRegisterAll, 
  RequestUnregisterAll, 
  RequestSetInputMask, 
  RequestAgentLogin, 
  RequestAgentLogout, 
  RequestAgentReady, 
  RequestAgentNotReady, 
  RequestSetDNDOn, 
  RequestSetDNDOff, 
  RequestMakeCall, 
  RequestMakePredictiveCall, 
  RequestAnswerCall, 
  RequestReleaseCall, 
  RequestHoldCall, 
  RequestRetrieveCall, 
  RequestInitiateConference, 
  RequestCompleteConference, 
  RequestDeleteFromConference, 
  RequestInitiateTransfer, 
  RequestMuteTransfer, 
  RequestSingleStepTransfer, 
  RequestCompleteTransfer, 
  RequestMergeCalls, 
  RequestAlternateCall, 
  RequestReconnectCall, 
  RequestAttachUserData, 
  RequestUpdateUserData, 
  RequestDeleteUserData, 
  RequestDeletePair, 
  RequestCallForwardSet, 
  RequestCallForwardCancel, 
  RequestRouteCall, 
  RequestGiveMusicTreatment, 
  RequestGiveSilenceTreatment, 
  RequestGiveRingBackTreatment, 
  RequestLoginMailBox, 
  RequestLogoutMailBox, 
  RequestOpenVoiceFile, 
  RequestCloseVoiceFile, 
  RequestPlayVoiceFile, 
  RequestCollectDigits, 
  RequestSetMessageWaitingOn, 
  RequestSetMessageWaitingOff, 
  RequestDistributeUserEvent, 
  RequestDistributeEvent, 
 
  EventServerConnected, 
  EventServerDisconnected, 
  EventError, 
  EventRegistered, 
  EventUnregistered, 
  EventRegisteredAll, 
  EventUnregisteredAll, 
  EventQueued, 
  EventDiverted, 
  EventAbandoned, 
  EventRinging, 
  EventDialing, 
  EventNetworkReached, 
  EventDestinationBusy, 
  EventEstablished, 
  EventReleased, 
  EventHeld, 
  EventRetrieved, 
  EventPartyChanged, 
  EventPartyAdded, 
  EventPartyDeleted, 
  EventRouteRequest, 
  EventRouteUsed, 
  EventAgentLogin, 
  EventAgentLogout, 
  EventAgentReady, 
  EventAgentNotReady, 
  EventDNDOn, 
  EventDNDOff, 
  EventMailBoxLogin, 
  EventMailBoxLogout, 
  EventVoiceFileOpened, 
  EventVoiceFileClosed, 
  EventVoiceFileEndPlay, 
  EventDigitsCollected, 
  EventAttachedDataChanged, 
  EventOffHook, 
  EventOnHook, 
  EventForwardSet, 
  EventForwardCancel, 
  EventMessageWaitingOn, 
  EventMessageWaitingOff, 
  EventAddressInfo, 
  EventServerInfo, 
  EventLinkDisconnected, 
  EventLinkConnected, 
  EventUserEvent, 
 
  RequestSendDTMF, 
  EventDTMFSent, 
 
  EventResourceAllocated, 
  EventResourceFreed, 
 
  EventRemoteConnectionSuccess, 
  EventRemoteConnectionFailed, 
 
  RequestRedirectCall, 
  RequestListenDisconnect, 
  RequestListenReconnect, 
  EventListenDisconnected, 
  EventListenReconnected, 
  RequestQueryCall, 
  EventPartyInfo, 
  RequestClearCall, 
 
  RequestSetCallInfo, 
  EventCallInfoChanged, 
 
  RequestApplyTreatment, 
  EventTreatmentApplied, 
  EventTreatmentNotApplied, 
  EventTreatmentEnd, 
 
  EventHardwareError, 
  EventAgentAfterCallWork, 
  EventTreatmentRequired, 
 
  RequestSingleStepConference, 
  RequestQuerySwitch, 
  EventSwitchInfo, 
 
  RequestGetAccessNumber, 
  RequestCancelReqGetAccessNumber, 
  EventAnswerAccessNumber, 
  EventReqGetAccessNumberCanceled, 
 
  RequestReserveAgent, 
  EventAgentReserved, 
  RequestReserveAgentAndGetAccessNumber, 
 
  RequestAgentSetIdleReason, 
  EventAgentIdleReasonSet, 
 
  EventRestoreConnection, 
  EventPrimaryChanged, 
  RequestLostBackupConnection, 
  RequestSetDNInfo, 
 
  RequestQueryLocation, 
  EventLocationInfo, 
 
  EventACK, 
 
  MessageIDMAX 
};  
 
enum TAttribute { 
  AttributeProtocolVersion, 
  AttributeErrorMessage, 
  AttributeReferenceID, 
  AttributeCallID, 
  AttributeNodeID, 
  AttributeNetworkCallID, 
  AttributeNetworkNodeID, 
  AttributeTransferredNetworkCallID, 
  AttributeTransferredNetworkNodeID, 
  AttributeConnID, 
  AttributePreviousConnID, 
  AttributeTransferConnID, 
  AttributeConferenceConnID, 
  AttributeCallState, 
  AttributeAgentID, 
  AttributeAgentStateReasonUnused, 
  AttributeAgentWorkMode, 
  AttributeReason, 
  AttributeDNIS, 
  AttributeANI, 
  AttributeThisDN, 
  AttributeThisQueue, 
  AttributeThisTrunk, 
  AttributeThisDNRole, 
  AttributeOtherDN, 
  AttributeOtherQueue, 
  AttributeOtherTrunk, 
  AttributeOtherDNRole, 
  AttributeThirdPartyDN, 
  AttributeThirdPartyQueue, 
  AttributeThirdPartyTrunk, 
  AttributeThirdPartyDNRole, 
  AttributeMusicPath, 
  AttributeVoiceFileName, 
  AttributeFileHandle, 
  AttributeUserID, 
  AttributePassword, 
  AttributeVoiceSegment, 
  AttributeVoiceIFlag, 
  AttributeVoiceCFlag, 
  AttributeNumberOfDigits, 
  AttributeTerminateDigits, 
  AttributeTimeout, 
  AttributeCollectedDigits, 
  AttributeLastDigit, 
  AttributeInputMask, 
  AttributeErrorCode, 
  AttributeAddressType, 
  AttributeAddressMode, 
  AttributeRegisterMode, 
  AttributeControlMode, 
  AttributeUserData, 
  AttributeDataKey, 
  AttributeExtensions, 
  AttributeCallType, 
  AttributeCallingLineName, 
  AttributeAddressInfoType, 
  AttributeAddressInfoStatus, 
  AttributeUserEvent, 
  AttributeCommunicationDN, 
  AttributeRouteType, 
  AttributeServerVersion, 
  AttributeServerRole, 
  AttributeServerCapabilityMask, 
  AttributeApplicationName, 
  AttributeApplicationPassword, 
  AttributeMergeType, 
  AttributeForwardMode, 
  AttributeDTMFDigits, 
  AttributeLocation, 
 
  AttributeRemoteLocation, 
  AttributeRemoteConnID, 
  AttributeRemoteDN, 
 
  AttributeMakeCallType, 
  AttributeCallInfoType, 
 
  AttributeHomeLocation, 
  AttributeCustomerID, 
 
  AttributeFirstTransferHomeLocation, 
  AttributeFirstTransferOrigDN, 
  AttributeLastTransferHomeLocation, 
  AttributeLastTransferOrigDN, 
 
  AttributeSetOperation, 
  AttributeNewConnID, 
 
  AttributeTreatmentType, 
  AttributeTreatmentParms, 
 
  AttributeCLID, 
 
  AttributeTimeinSecs, 
  AttributeTimeinuSecs, 
 
  AttributeSwitchInfoType, 
   
  AttributeXRouteType, 
  AttributeAccessNumber, 
  AttributeXReferenceID,   
 
  AttributePlace, 
  AttributePriority, 
 
  AttributeAgentIdleReason, 
 
  AttributeRegistrationCode, 
  AttributeDNSyncInfo, 
 
  AttributeMediaType, /* TMediaType enumeration */ 
 
  AttributeLocationInfoType, 
 
  AttributeIDMAX 
}; 
 
enum TSockInfoReason{ 
  TSocketCreated, 
  TSocketDeleted, 
  TSocketChanged 
}; 
 
typedef struct { 
  int socket; 
  int sync_id; 
  int reason; 
  void *ptr; 
 
} TSockInfo; 
 
typedef enum { 
  TMediaVoice      =   0,  /* Voice (PSTN) call   */ 
  TMediaVoIP       =   1,  /* Voice over IP       */ 
  TMediaEMail      =   2, 
  TMediaVMail      =   3,  /* Voice Mail          */ 
  TMediaSMail      =   4,  /* Scanned Mail        */ 
  TMediaChat       =   5, 
  TMediaVideo      =   6, 
  TMediaCobrowsing =   7, 
  TMediaWhiteboard =   8, 
  TMediaAppSharing =   9,  /* Application Sharing */ 
  TMediaWebForm    =  10, 
  TMediaWorkItem   =  11,  /* work item (generic) */ 
 
  TMediaCustom0    = 100   /*<- all values above this one are */ 
}                          /* reserved for custom media types */ 
TMediaType; 
 
/*---------------------------------------------------------------------------*/ 
 
typedef struct { 
  enum TMessageType	Event; 
  TServer		Server; 
  int			ReferenceID; 
 
  char			*HomeLocation; 
  char			*CustomerID; 
 
  TConnectionID		ConnID; 
  TConnectionID		PreviousConnID; 
  TCallID		CallID; 
  int			NodeID; 
  TCallID		NetworkCallID; 
  int			NetworkNodeID; 
 
  TCallHistoryInfo	CallHistory; 
 
  TCallType		CallType; 
  TCallState		CallState; 
 
  TAgentID		AgentID; 
  TAgentWorkMode	WorkMode; 
 
  long			ErrorCode; 
  char			*ErrorMessage; 
 
  TFile			FileHandle; 
  char			*CollectedDigits; 
  char			LastCollectedDigit; 
 
  TDirectoryNumber	ThisDN; 
  TDirectoryNumber	ThisQueue; 
  unsigned long		ThisTrunk; 
  TDNRole		ThisDNRole; 
  TDirectoryNumber	OtherDN; 
  TDirectoryNumber	OtherQueue; 
  unsigned long		OtherTrunk; 
  TDNRole		OtherDNRole; 
  TDirectoryNumber	ThirdPartyDN;      
  TDirectoryNumber	ThirdPartyQueue; 
  unsigned long		ThirdPartyTrunk; 
  TDNRole		ThirdPartyDNRole; 
 
  TDirectoryNumber	DNIS; 
  TDirectoryNumber	ANI; 
  char			*CallingLineName; 
  TDirectoryNumber	CLID; 
 
  TAddressInfoType	InfoType; 
  TAddressInfoStatus	InfoStatus; 
 
  TTreatmentType	TreatmentType; 
  TRouteType            RouteType; 
 
  char			*ServerVersion; 
  TServerRole		ServerRole; 
  TMask			Capabilities; 
 
  TKVList		*UserData; 
  TKVList		*Reasons; 
 
  TKVList		*Extensions; 
 
  TTimeStamp		Time; 
 
  void 			*RawData; 
 
  TDirectoryNumber	AccessNumber; 
  TXRouteType		XRouteType; 
  TReferenceID		XReferenceID; 
  TKVList               *TreatmentParameters; 
 
  char                  *Place; 
  int                    Timeout; 
  TMediaType            MediaType; /* added 7/15/99 ER#9462 */ 
 
  TLocationInfoType	LocationInfo; 
} TEvent; 
 
#define TMaskSetAll(M)		memset((M), 0xff, T_MASK_LENGTH) 
#define TMaskClearAll(M)	memset((M), 0, T_MASK_LENGTH) 
#define TMaskSet(E, M)		((M)[(E) / 8] |= (1 << ((E) % 8))) 
#define TMaskClear(E, M)	((M)[(E) / 8] &= ~(1 << ((E) % 8))) 
#define TMaskIsSet(E, M)	((M)[(E) / 8] & (1 << ((E) % 8))) 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
void TDispatch( 
	TServer server 
); 
 
TServer TOpenServer( 
	char *server_name, 
	void (*dispatch_function)(TEvent *event), 
	char *application_name, 
	char *application_password, 
	TOpenMode open_mode 
); 
 
TServer TOpenServerEx( 
	char *server_host_name, 
	int server_port, 
	void (*dispatch_function)(TEvent *event), 
	char *application_name, 
	char *application_password, 
	TOpenMode open_mode 
); 
 
int TCloseServer( 
	TServer server 
); 
 
int TScanServer( 
	TServer server, 
	int timeout 
); 
 
int TSetInputMask( 
	TServer server, 
	TMask mask 
); 
 
int TGetReferenceID(void); 
int TSetReferenceID( 
	int reference_id_for_next_req 
); 
int TSetRefIDLimit( 
        int new_limit 
); 
 
int TRegisterAddress( 
	TServer server, 
	TDirectoryNumber dn, 
	TRegisterMode mode, 
	TControlMode ctrmode, 
	TAddressType type, 
	TKVList *extensions 
); 
 
int TUnregisterAddress( 
	TServer server, 
	TDirectoryNumber dn, 
	TControlMode ctrmode, 
	TKVList *extensions 
); 
 
int TRegisterAll( 
	TServer server, 
	TKVList *extensions 
); 
 
int TUnregisterAll( 
	TServer server, 
	TKVList *extensions 
); 
 
int TMakeCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TDirectoryNumber destination, 
	char *location, 
	TMakeCallType call_type, 
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TMakePredictiveCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TDirectoryNumber destination, 
	int ring_timeout, 
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAnswerCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TRedirectCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TDirectoryNumber destination, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TReleaseCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TClearCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int THoldCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TRetrieveCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAlternateCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID held_conn_id, 
	TConnectionID current_conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TReconnectCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID held_conn_id, 
	TConnectionID current_conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TInitiateTransfer( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber destination, 
	char *location, 
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TMuteTransfer( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber destination, 
	char *location, 
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TSingleStepTransfer( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber destination, 
	char *location, 
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TCompleteTransfer( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID held_conn_id, 
	TConnectionID current_conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TInitiateConference( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber destination, 
	char *location, 
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TSingleStepConference( 
        TServer server,  
        TDirectoryNumber dn, 
        TConnectionID conn_id,  
        TDirectoryNumber destination, 
        char *location,  
        TKVList *user_data,  
        TKVList *reasons, 
        TKVList *extensions 
); 
 
int TCompleteConference( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID held_conn_id, 
	TConnectionID current_conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TDeleteFromConference( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber dn_to_drop, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TListenDisconnect( 
	TServer server, 
	TDirectoryNumber dn, 
	TDirectoryNumber listener_dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TListenReconnect( 
	TServer server, 
	TDirectoryNumber dn, 
	TDirectoryNumber listener_dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TMergeCalls( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID held_conn_id, 
	TConnectionID current_conn_id, 
	TMergeType merge_type, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAgentLogin( 
	TServer server, 
	TDirectoryNumber queue, 
	TDirectoryNumber dn, 
	TAgentType agent_type, 
	TAgentID agent_id, 
	TAgentPassword passwd, 
	TAgentWorkMode workmode, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAgentLogout( 
	TServer server, 
	TDirectoryNumber queue, 
	TDirectoryNumber dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAgentSetReady( 
	TServer server, 
	TDirectoryNumber queue, 
	TDirectoryNumber dn, 
	TAgentWorkMode workmode, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAgentSetNotReady( 
	TServer server, 
	TDirectoryNumber queue, 
	TDirectoryNumber dn, 
	TAgentWorkMode workmode, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAgentSetIdleReason( 
	TServer server, 
	TDirectoryNumber queue, 
	TDirectoryNumber dn, 
	char *idle_reason, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TSetDNDOn( 
	TServer server, 
	TDirectoryNumber dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TSetDNDOff( 
	TServer server, 
	TDirectoryNumber dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TCallSetForward( 
	TServer server, 
	TDirectoryNumber dn, 
	TDirectoryNumber destination, 
	TForwardMode forward_mode, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TCallCancelForward( 
	TServer server, 
	TDirectoryNumber dn, 
	TForwardMode forward_mode, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TSetMessageWaitingOn( 
	TServer server, 
	TDirectoryNumber dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TSetMessageWaitingOff( 
	TServer server, 
	TDirectoryNumber dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TRouteCall( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber destination, 
	char *location, 
	TRouteType route_type, 
	TDirectoryNumber dnis, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TGetAccessNumber( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber destination, 
	char *location, 
	TXRouteType xroute_type,      
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TCancelReqGetAccessNumber( 
        TServer server, 
	TReferenceID xref_id 
); 
 
int TGiveMusicTreatment( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TDirectoryNumber music_dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TGiveSilenceTreatment( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TGiveRingBackTreatment( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TLoginMailBox( 
	TServer server, 
	TDirectoryNumber dn, 
	char *mbox_number, 
	char *mbox_passwd, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TLogoutMailBox( 
	TServer server, 
	TDirectoryNumber dn, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TOpenVoiceFile( 
	TServer server, 
	TDirectoryNumber dn, 
	char *file_name, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TCloseVoiceFile( 
	TServer server, 
	TDirectoryNumber dn, 
	TFile file_handle, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TPlayVoice( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TFile file_handle, 
	char *segments, 
	TInterruptFlag iflag, 
	TClearFlag cflag, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TCollectDigits( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	int num_digits, 
	char *term_digits, 
	TClearFlag cflag, 
	TTime timeout, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TQueryAddress( 
	TServer server, 
	TDirectoryNumber queue, 
	TDirectoryNumber dn, 
	TAddressType addr_type, 
	TAddressInfoType info_type, 
	TKVList *extensions 
); 
 
int TQueryCall( 
	TServer server, 
	TDirectoryNumber dn, /* reserved for access control */ 
	TConnectionID conn_id, 
	TCallInfoType info_type, 
	TKVList *extensions 
); 
 
int TQuerySwitch( 
	TServer server, 
	TSwitchInfoType info_type, 
	TKVList *extensions 
); 
 
int TQueryServer( 
	TServer server, 
	TKVList *extensions 
); 
 
int TQueryLocation( 
	TServer server, 
	char *location, 
	TLocationInfoType info_type, 
	TKVList *extensions 
); 
 
int TSendDTMF( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	char *digits, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TAttachUserData( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *user_data 
); 
 
int TDeleteUserData( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	char *key 
); 
 
int TDeleteAllUserData( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id 
); 
 
int TUpdateUserData( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TKVList *user_data 
); 
 
TEvent *TCopyEvent( 
	TEvent *event 
); 
 
void TFreeEvent( 
	TEvent *event 
); 
 
int TSendUserEvent( 
	TServer server, 
	TDirectoryNumber dn, 
	TEvent *event 
); 
 
int TSendEvent( 
	TServer server, 
	TEvent *event 
); 
 
int TSetCallAttributes( 
	TServer server, 
	TSetOpType    op, 
	TConnectionID conn_id, 
	TConnectionID new_conn_id, 
	TDirectoryNumber origination, 
	TDirectoryNumber destination, 
	TKVList *extensions 
); 
 
int TApplyTreatment( 
	TServer server, 
	TDirectoryNumber dn, 
	TConnectionID conn_id, 
	TTreatmentType treatment, 
	TKVList *parameters, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
int TReserveAgent( 
        TServer server, 
        TDirectoryNumber agent_dn, 
	TAgentID agent_id, 
        char *agent_place, 
        int duration, 
        int priority, 
	TKVList *reasons, 
	TKVList *extensions 
); 
         
int TReserveAgentAndGetAccessNumber( 
	TServer server, 
	TDirectoryNumber agent_dn, 
	TAgentID agent_id, 
        char *agent_place, 
        int duration, 
        int priority, 
	TConnectionID conn_id, 
	TXRouteType xroute_type,      
	TKVList *user_data, 
	TKVList *reasons, 
	TKVList *extensions 
); 
 
#ifdef BACKUP_SYNC 
 
int TSyncSetSelectMask(  
	int sync_id,  
	fd_set *pfd 
); 
 
int TSyncIsSet(  
	int sync_id,  
	fd_set *pfd 
); 
 
void TSyncClear(  
        int sync_id,  
	fd_set *pfd 
); 
 
void TSetSocketChangeCallback(  
        void (*client_callback)(TSockInfo *p) 
); 
 
void TSetReconnectParams( 
	int attempts,  
	int timeout 
); 
 
#endif 
 
#ifdef __cplusplus 
} 
#endif 
 
#endif /* _TLIBRARY_H */