📄 cas.h
字号:
/*
| Structure containing information about a specific Ctbus resource
*/
typedef struct _TB640_CAS_CTBUS_INFO
{
/* Stream resource information */
TBX_UINT8 un8Trunk;
TBX_UINT8 un8Timeslot;
TB640_RESOURCE_HANDLE hCtbusResource;
TBX_UINT8 un8CtbusStream;
TBX_UINT8 un8CtbusTimeslot;
} TB640_CAS_CTBUS_INFO, *PTB640_CAS_CTBUS_INFO;
/*
| Structure containing information about a specific trunk resource
*/
typedef struct _TB640_CAS_TRUNK_RESOURCE_INFO
{
/* Information about the trunk resource itself */
TBX_SEM TrunkResSem;
TBX_UINT8 un8Trunk;
TBX_UINT8 un8Timeslot;
TB640_RESOURCE_HANDLE hTrunkResource;
TB640_CAS_CALL_HANDLE hCall;
TB640_CONNECTION_HANDLE hConnection;
TB640_CAS_TRUNK_RESOURCE_STATS Statistics;
TBX_UINT32 un32HistoryReadIdx;
TBX_UINT32 un32HistoryWriteIdx;
TB640_CAS_HISTORY_ENTRY aHistoryEntry [TB640_CAS_NB_HISTORY_FOR_TIMESLOT];
TB640_CAS_CTBUS_INFO CtbusInfo;
} TB640_CAS_TRUNK_RESOURCE_INFO, *PTB640_CAS_TRUNK_RESOURCE_INFO;
/*
| Structure containing information about a specific call
*/
typedef struct _TB640_CAS_CALL_CFG
{
TBX_CHAR szCallingPhoneNb[TB640_CAS_OUTBAND_CALLING_ADDRESS_MAX_LENGTH];
TBX_CHAR szCalledPhoneNb[TB640_CAS_OUTBAND_CALLED_ADDRESS_MAX_LENGTH];
TBX_CHAR szCategory [TB640_CAS_MAX_ORIGIN_STRING_SIZE];
} TB640_CAS_CALL_CFG, *PTB640_CAS_CALL_CFG;
/*
| Structure containing information about a specific trunk
*/
typedef struct _TB640_CAS_TRUNK_INFO
{
/* Information about the trunk itself */
TBX_UINT8 un8Trunk;
TB640_TRUNK_HANDLE hTrunk;
TBX_BOOL fActivated;
TBX_BOOL fIncludedInStressTesting;
TB640_TRUNK_CFG TrunkConfiguration;
TBX_UINT32 un32OpLibIdx;
TBX_UINT32 un32NbTrunkResource;
TB640_CAS_TRUNK_RESOURCE_INFO aResourceInfo [TB640_CAS_MAX_TIMESLOT_IN_TRUNK];
/* Stats per stack */
TBX_UINT32 un32NbCallOpeningFailure;
TBX_UINT32 un32NbTimeoutOccured;
/* Information about the stack connected to the trunk */
TB640_CAS_HANDLE hStack;
TB640_CAS_CFG StackConfiguration;
TBX_CHAR szCategory [TB640_CAS_MAX_ORIGIN_STRING_SIZE];
TBX_CHAR un8R2RefuseDigit;
TBX_UINT8 un8R2NbRefusalDigit;
TBX_CHAR aun8R2PossibleRefuseDigits [TB640_CAS_MAX_GROUP_B_REFUSAL_DIGIT];
/* Information about the calls made on the trunk */
TB640_CAS_CALL_CFG CallConfiguration;
} TB640_CAS_TRUNK_INFO, *PTB640_CAS_TRUNK_INFO;
/*
| Structure containing information about a specific adapter
*/
typedef struct _TB640_CAS_ADAPTER_INFO
{
TBX_CHAR szAdapterName [TB640_CAS_MAX_ADAPTER_NAME_LENGTH];
TBX_ADAPTER_HANDLE hAdapter;
TBX_BOOL fAttached;
TBX_ADAPTER_INFO AdapterInfo;
TBX_UINT32 aun32FeatureEnabled [TBX_FEATURE_TYPE_LAST];
TBX_UINT32 aun32FeatureMax [TBX_FEATURE_TYPE_LAST];
/* Application flags */
TBX_BOOL fRefuseIncomingCalls;
/* Operation library information */
TBX_UINT32 un32NbOperationLib;
TBX_ASYNC_LIB_HANDLE ahOperationLib [TB640_CAS_NB_OPERATION_LIBRARY_REQUIRED];
TBX_UINT64 aun64UniqueId [TB640_CAS_NB_OPERATION_LIBRARY_REQUIRED];
struct
{
TBX_SEM aOperationLibSem[TB640_CAS_NB_OPERATION_LIBRARY_REQUIRED];
PTBX_CHAR apszOperationLibSemFile[TB640_CAS_NB_OPERATION_LIBRARY_REQUIRED];
TBX_UINT32 aun32OperationLibSemLine[TB640_CAS_NB_OPERATION_LIBRARY_REQUIRED];
TBX_UINT32 aun32OperationLibSemProcess[TB640_CAS_NB_OPERATION_LIBRARY_REQUIRED];
} Lock;
/* Trunk and trunk resource information */
TBX_UINT32 un32NbTrunk;
TB640_CAS_TRUNK_INFO aTrunkInfo [TB640_CAS_MAX_SUPPORTED_TRUNKS_PER_ADAPTER];
/* Hash table for quick reverse lookups of handle->trunk nb, timeslot nb, etc. */
TBX_HASH_HANDLE hStackHash;
TBX_HASH_HANDLE hCtBusHash;
TBX_HASH_HANDLE hTrunkHash;
TBX_HASH_HANDLE hTrunkResHash;
TBX_UINT32 un32AdapterCpu0Usage;
TBX_UINT32 un32AdapterCpu1Usage;
} TB640_CAS_ADAPTER_INFO, *PTB640_CAS_ADAPTER_INFO;
/*
| Structure containing all information required by the overall application
*/
typedef struct _TB640_CAS_CONTEXT
{
/* TBX library information */
TBX_LIB_HANDLE hTbxLib;
/* Logging facilities */
TBX_SEM DisplaySem;
FILE * pLogFile;
TBX_CHAR szFilename [128];
TBX_UINT32 un32LogNumber;
TBX_UINT32 un32FileLogLevel;
TBX_UINT32 un32DisplayLogLevel;
TBX_UINT32 un32MinRefreshDelayMsec;
TBX_BOOL fCTBusConnection;
TBX_BOOL fDoConnection;
/* Automatic test mode */
TBX_BOOL fTestModeActivated;
TBX_BOOL fUnblockMessageSend;
TBX_ADAPTER_HANDLE hTbTestCtrl;
TBX_UINT32 un32ApplicationId;
TBX_UINT32 un32TrunkLeftToUnblock;
TBX_BOOL fUnblockedTrunkNotifSent;
// TBX_BOOL fDChannelUpNotifSent;
// TBX_BOOL fBChannelInServiceNotifSent;
volatile TBX_BOOL fDisplayInhibited;
volatile TBX_BOOL fKeyPressed;
volatile TBX_CHAR cKey;
TB640_CAS_TEST_AUTO_TEST CurrentTestRunning;
TBX_CHAR szTestArguments [TB640_CAS_TEST_MAX_OPTIONAL_SIZE_FOR_OPT_ARG];
/* Counter to see if there are any transient calls at a specific time */
TBX_SEM TransientCallsSem;
volatile TBX_UINT32 un32TransientCalls;
TBX_UINT32 un32GatewayPortNumber;
TBX_UINT32 aun32GatewayPort[TBX_API_MAX_EXTRA_GW_PORTS];
/* Adapter resource information */
TBX_UINT32 un32NbAdapter;
TB640_CAS_ADAPTER_INFO ahAdapterInfo [TB640_CAS_MAX_SUPPORTED_ADAPTERS];
} TB640_CAS_CONTEXT, *PTB640_CAS_CONTEXT;
/*
| Structure containing all information for a call
*/
typedef struct _TB640_CAS_CALL_CONTEXT
{
/* Information on parent */
PTBX_ASYNC_OP_CONTEXT pOpContext;
TBX_BOOL fSpuriousCallContext;
/* State of this call (used by the framework) */
TB640_CAS_CALL_APP_STATE State;
TB640_CAS_CALL_APP_SUB_STATE SubState;
TB640_CAS_CALL_HANDLE hCall;
/* State of this call (used by the application) */
TBX_BOOL fCasDisconnected;
TBX_BOOL fCasNeedToDisconnect;
TBX_BOOL fConnected;
TBX_BOOL fCallOriginator;
TBX_BOOL fReceivedCallConnected;
TBX_BOOL fReceivedConnectConfirm;
TBX_BOOL fCallSuccessful;
TBX_BOOL fTimeoutOccured;
TBX_BOOL fNeedToRestart;
TBX_BOOL fReceivedRsp;
TBX_INT nCreateRspExpected;
TBX_INT nDestroyRspExpected;
TBX_INT nRestartCount;
TBX_INT nDigitReceived;
TB640_CONNECTION_HANDLE hConnection;
TBX_UINT32 un32MinCallDuration;
TBX_UINT32 un32MaxCallDuration;
/* Debuging stuff */
TBX_UINT32 un32Debug;
/* Adapter/Trunk/timeslot information */
TBX_UINT32 un32AdapterIndex;
TB640_RESOURCE_HANDLE hTrunkResource;
TBX_UINT32 un32TrunkIndex;
TBX_UINT32 un32TimeslotIndex;
TBX_UINT8 un8Stream;
TBX_UINT8 un8Timeslot;
/* Call information */
TBX_UINT8 aun8OutbandCalledAddress[ TB640_CAS_OUTBAND_CALLED_ADDRESS_MAX_LENGTH ];
TBX_UINT8 aun8OutbandCallingAddress[ TB640_CAS_OUTBAND_CALLING_ADDRESS_MAX_LENGTH ];
TBX_UINT8 aun8Category[ TB640_CAS_CATEGORY_MAX_LENGTH ];
TBX_UINT8 aun8Cause[2];
TBX_UINT8 aun8DigitReceived [TB640_CAS_MAX_NB_DIGIT_IN_NUMBERS];
/* Call history */
TBX_UINT32 un32HistoryReadIdx;
TBX_UINT32 un32HistoryWriteIdx;
TB640_CAS_HISTORY_ENTRY aHistoryEntry [TB640_CAS_NB_HISTORY_FOR_CALL];
} TB640_CAS_CALL_CONTEXT, *PTB640_CAS_CALL_CONTEXT;
/*--------------------------------------------------------------------------------------------------------------------------------
| Global variables
*------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------
| Macros
*------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------
| Function Prototypes
*------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------
| C++ support
*------------------------------------------------------------------------------------------------------------------------------*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __CAS_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -